Last week, reader Klemens Friedl asked if I could please modify the Part 20 build to restore some of the features that had been there back in Part 4. In particular, he wanted to be able to add and remove blocks again. While working on this, I came to a few realizations.
First, the Part 20 build is not that far from one of the original project goals -- a base for developing Minecraft-style games. It still needs many features, but the basics of loading, saving, modifying, rendering and moving around a large block world are all there. I've let the UI code rot though, and my most recent efforts at a polygon-based landscape are ripping up that code pretty badly. It occurred to me that perhaps I should spin-off a pure block-world version.
Secondly, I noticed that the OpenGL 2.1 and DirectX code I stopped maintaining back around Part 18 has seriously deteriorated. I have it all turned off with #ifdef statements, but it doesn't even compile any more. Since I spent a lot of time on that, it's a waste to let it all go. I broke my Hackintosh machine, so I can't even maintain the MacOS build. This is also a shame. The framework isn't as rich as a multi-platform tool really should be, but with a little cleanup work, it could be an entry-level framework for other programmers to use. Better than GLUT, if not as fancy as SDL.
Finally, looking over the progress of the last few months and the various issues on my full game design, I realized it's going to be months yet before I have a releasable version of that. I had planned to wait until that point before I went back and cleaned up all these platform issues. I can see now that if I wait that long, I will just have to start over on the other platforms. The current code will be unusably out of date by then.
So I've decided to stop here for awhile and work on cleaning up and releasing the old code. I also need to integrate my old GUI code before long. As soon as I put in more world-editing features, or avatar building features, I am going to need a real UI.
Doing nothing but cleanup will be boring though, so I expect to also work on some stand-alone topics like rendering trees, or moving through a procedural landscape with multiple levels of detail.
blog comments powered by Disqus