Design and documentation journal for my interactive fiction (text games); also reviews and other miscellaneous stuff.

Monday, July 19, 2010

Organization

The biggest programming project I've ever completed was a few hundred lines of code. Not Inform code, where lines seem to multiply like bunny rabbits when you look the other way, but C++ code. Not very advanced.

Inform doesn't lend itself to counting length the same way, but we're around 28,000 words, including all extensions but the standard rules. I've been putting more things in extensions as I finish them, which helps keep the main text clearer. The extensions will not, I fear, be very helpful to anyone else, but they do help me to set aside code that I'm done with (for the moment).

I like the idea of working on one central project, but the practice is pretty dreadful. Despite the content index, it can be hard to find things, especially variables. Rain falls at a certain speed - did I name that rain rate? Rain_rate? Precipitation_rate? Rain_fall? Good luck finding that!

I think Inform could be better at offering these variables up. The index is great for browsing, but less great for finding that one damn variable name. Around 10,000 words, I notice my productivity drop dramatically as I flail around in the source code trying to find things. Until then, I can map out where I am and find what I need - after that, things begin a precipitous slide.

I'm trying to stay on top of things by doing excel spreadsheets for the various stuff going on, but I often don't update them immediately. So I'm also trying to add headings to every section. That works pretty well overall.

I'm also playing with the idea of just doing series and series of extensions. It isn't particularly elegant, and there's the possibility it'll slow things down, depending on how Inform handles them, but worst case scenario, I can always copy and paste them to one central source.

The extension thing does get harder as more things interlock, though. I'm deliberately starting with some of the foundation stuff, but even that can be pretty recursive. I've managed to keep most of the "to decide" functions pretty self-contained, but it's only a matter of time before they're accessing multiple game ideas at once - game ideas that call to one another.

So . . . yeah. Organization. Hard.

No comments:

Post a Comment