Today I have to choose a language or a tool for creating rooms. This tool should simulate the environment for the game. In 1985, I didn’t have a choice, my tile editor was written in Z80 and my room editor was graph paper (see the image at the head oof the post for proof of this)
Each block in a room was represented by a single byte, with a nybble offering 16 possibilities for the top block and the bottom block.
Not very interactive and of course, it made it hard to make any kind of change. This made tuning and pacing very hard.
You’ll notice that the map above is 24 screens. That’s all the rejected first draft of the game had. The final version was bumped up to 64 screens or “rooms”.
So now, rather than write about what I did back then, and given I’ve made a number of decisions, I need to make some more – like for example, there was a technical need for having blocks of 32 pixels across, does that need still exist? Probably not. But it did lend the game its look and it probably wouldn’t be Chimera if I moved away from that. Now that I’m losing track of decisions, I’m going to keep a page on the blog where decisions or rules are kept, but for now, all we need to know is that blocks are going to be 48 pixels across. (Screens have kind of come on a bit since the days of the Spectrum)
We still haven’t touched on which platform this will be on in detail. I don’t know, might as well eventually be on everything, but for now, it’s just going to run on a Mac. Whether it will be standalone, or Flash, I still haven’t decided.
Finally, which tool should I use for creating the environment editor? Here are my choices:
You see it’s exactly this kind of paralysis through analysis that dramatically curtails my productivity. My mind is constantly under assault with questions like:
“Just write it in C and SDL you fool, at least you know that stuff, what’s wrong with not having a decent interface?”
“Why are you writing a tool for this? Shouldn’t you just make a game and put in hack data?”
“Why are you even thinking about a PC? Parallels Desktop 5 doesn’t count!”
“You can’t program, so why pretend you can still hack it today?”
“What’s wrong with graph paper?”
“Why are you blogging instead of coding?”
“Why are you over-analysing everything?”
“Shouldn’t you be spending more time with the kids?”
“Aren’t you too old for this?”
“You took a week off for this? Are you insane?”
As you can see, this kind of inane chatter robs me of an awful lot of motivation. So I’m going to re-program the chatter to something more like the following.
“Programming is like riding a bike. You might be a little rusty, but you’ll soon be flying along”
“The 25th anniversary will be over in a few months, you can finally scratch that itch”
“You might not be an indie, but you don’t have to be. You paid your dues. Just enjoy it now”
“Nobody cares. There is no audience. There is only you and your computer. Just. Write. Code.”
Another weakness is realising that it’s still OK to make mistakes at 44. It’s not embarrassing to make mistakes at this age. Yes, I’m supposed to be wiser and yes, I’m wiser than I was at 24, but wisdom is not omniscience and often it can just mean reticence. I need to take the plunge and actually make something work.
I could waste the whole holiday learning the Cocoa framework, or I could just grok it really quickly and do the minimum required. It will be messy, but it will eventually work.
I could try to make do with ActionScript, which I was writing at the turn of the year in Flash Builder 4 Beta (since expired, God rest its soul), but I’d have to go back to the command-line and it was painful enough in the environment.
I could just use SDL, because I can get results with that pretty quickly and I really don’t need to arse around much. It will mean knowledge that is not transportable to anything else. It means code I won’t be proud to show. It means the minimum effort for the maximum return in the shortest time. So that’s what it has to be. Stop trying to be stylish and just do what works.
I haven’t looked at SDL in a long time. I’m hoping I can get it set up and working in a reasonable amount of time. You see, there have been many false dawns. And by making this start (kind of) public, I’m hoping there’s incentive to continue.