That count does include the 85 source files which are part of the core VectorStorm game engine, but doesn’t include the 31 source files which make up Box2D (which I’m still inexplicably building into MMORPG Tycoon 2, even though it’s not actually being used for anything. I’ll have to strip it out before release, I suppose). It also doesn’t count the 185 header files, which declare what’s in each of the source files.
Why do I know these numbers? Well, today I’ve been working with some of the underlying VectorStorm engine tech; long-time readers may recall back when I talked about my automated save game support. Today, I’ve been adding support for arrays to that system. It’s macro-heavy and template-heavy code, which basically means that you can’t easily compile and test it on its own. The net result is that every time I touch the automated save game support systems, I have to rebuild all of MMORPG Tycoon 2; all 183 source files of it. I’ve been seeing an awful lot of that number.
To be fair, in the grand scheme of things, 183 source files isn’t actually all that many. It only takes my non-cutting-edge computer about thirty seconds to compile them all and tell me whether I’ve made any mistakes. But this stuff is subtle and it’s really easy to make mistakes. It’s kind of like trying to thread a needle using chopsticks, and then needing to spend half a minute after each attempt, to find out whether or not you were successful. I’ve probably gone through about 30 revisions of the code tonight, and have now (finally!) gotten it working.
Well, mostly working. Save works, but loading isn’t working quite yet. Soon!
Also, I spent some time last night playing with the terrain generation, and tried inserting some muddy regions in the low grasslands. It adds a little visual interest, but the more I play with it, the more I’m realising that:
- My current methods for procedurally picking the color of terrain are all too limited; I’m not quite sure what I need to do to improve it. (But again, what’s there right now is certainly good enough for milestone 1, and I’m sure that once I finish that, I’ll have no shortage of suggestions for improvements!)
- I really ought to allow people to import images to use as height/color maps for custom terrain types, if they want to. (And yet again, this won’t be for milestone 1, but I can imagine folks wanting this ability)