So for the past few months we’ve been working on two things:
- Reworking the procedural generation to be 4x-20x faster.
- Multi-platform support through MonoGame.
Both of these goals are rapidly approaching completion. We’ve got the procedural generation system working in runtime mode, with the compiler needing some updates to get that working again. The runtime algorithm system (as opposed to the layer system which we were using previously) provides a 2x speed-up just on it’s own. The lightspeed compiler ramps that up to 4x-20x faster, depending on how large the generation is.
This weekend I finally got Tychaia in some form running under MonoGame. The past few weeks have just been wrestling with the state of the content pipeline, which resulting in us having to set up a Windows build VM and a content compilation service that automatically builds content into XNA format. Unfortunately the MonoGame content pipeline is so broken right now that the content compilation service can only use the XNA processors; it can’t yet use the MonoGame content processors. This means that while compiling art assets works, there’s no way for us to compile cross-platform shaders and thus our fast isometric occlusion is completely broken. Hopefully with the active development on the new content pipeline, over the next few months we should be able to transition to a completely MonoGame-native content pipeline and won’t have to deal with these issues, but in the meantime, the game is going to remain broken like this (and we’re not going to spend time trying to get it to work when the new content pipeline is expected in a few months time).
Here’s a screenshot of it running on Linux, in it’s entirely broken state:
The plan for me for the next few weeks is to clean up some of the crap in our code-base; particularly how we handle split processing and rendering of chunks. It seems that threading is much more fragile under Mono than it is under .NET (with regards to that you can put a non-null object into a ConcurrentBag and pull it out as null only a fraction of a second later?!?!)
Harvey will be focusing on finishing up work on the algorithm system (excluding the compiler), so that we’ll be able to integrate it back into Make Me a World, which should radically speed up the rendering process. Hopefully we’ll both be able to combine the work we’ve done in a few weeks time and have something playable again!
[cross posted from TIGSource]




