Planitia? Really?!
Yes, really.
Back when it was current, I routinely checked out the Image of the Day from Flipcode.com. Most of the efforts were amateurish, until I got to this one.
The screenshot doesn’t do it justice. TopcaT (whoever he was) had created a basic RTS game engine with a ton of functionality, including texture blending based on terrain slope, importing of 3D models and procedurally animating them, a particle system for doing combat effects, A* pathfinding for the units, and an impressive LOD system using octrees.
And he was giving the source away. Honestly I couldn’t understand it – that demo could easily have gotten a job in game development; why did he give up on it?
Not only did he give up on it but he soon fell off the internet entirely (seriously, I’ve been looking for him for years). I’m very, very glad that I kept the source to his engine; it would have been horribly wrong for something with such potential to just disappear.
(I still have it, of course, you can download it here.)
But as I untangled the source code in an effort to figure out his tricks and replicate them I finally figured out why he’d given up. Basically the source was so chaotic that he just couldn’t add anything to it any more. He had fought code entropy and lost.
Just like I did with Planitia. To my credit, I got much closer to “game” than he did (even if it didn’t look nearly as technically proficient as his did). But in the end, it got to the point where the code was so awful I didn’t even want to look at it.
But why? Why had this happened? In the end, the terrain is a heightfield and the units are billboards…it’s an inherently simple concept. How had I stuffed it up?
Graphics, of course. For someone in my position, doing the whole game myself, graphics are evil.
Daniel succeeded with Hero Core because he kept the graphics within the realm of what he was capable of; I failed because I did not.
The truth is that I should never have gone down that path. Trying to make Planitia look like a commercial product (which, let’s face it, is what I was doing) was simply outside my capabilities as a programmer and an artist. Using the better-looking terrain tiles drew me into six months of terrain rendering, and while I learned a lot none of it contributed to getting the game done.
Then I didn’t like how the non-animating sprites looked on th nice-looking terrain and so I added the animated sprites I got from Reiner. This was was just a terrible move – animations on the same character had different dimensions for each frame and the “easiest” way to handle the entire procedure was to cut out and load each animation frame individually. The results were pretty impressive…but just not impressive enough, and the amount of work was just stupid for the result. And none of it got the game closer to being finished!
Then I had yet another request for the Planitia source code. I’ve been loathe to give it up, not just because I feel it’s substandard but also because of the hundreds of megs of associated resources currently necessary to get the project to run.
And then I thought about the article I just wrote about Hero Core, and how I praised Daniel Remar for designing the game around the art he could do.
Epiphany.
While I know a lot of people may not like the direction I’m taking Planitia, I feel it’s necessary to actually complete the project. Planitia’s native resolution will drop from 800×600 to 512×384. The pretty tiles will go away, replaced by more retro-styled and functional terrain. Lighting will stay, but alpha-blending and smooth shading will not.
Units will become based on the units from Powermonger. They’re simple, they were made specifically for this kind of game, and they work. But they wouldn’t look right placed on top of a more modern style of terrain, which is why I’m knocking it back (that and it’ll make the terrain so much easier to maintain).
Basically, Planitia is about to start looking a lot more like the games that inspired it, specifically so that I can focus on the gameplay and AI and get the darn game finished.
But I won’t wait until its “done” to start source releases. The first source release should be by the end of this week, as soon as the changes to the units and terrain are finished.