The week is over, and technically I failed. Bummer.
What I did get done was a tile-based prototype, shown above in the screen shot. It’s an experiment for what a tile based puzzle game would be like if the tiles consisted of two colours, split at the diagonals. In the version above, the coloured sections get highlighted if there’s a connection chain of four or more tiles long. Unfortunately, it’s currently just a toy. I didn’t think of a good way to make a game out of it. I was on my way to experimenting with a Tetris-like mechanic – matched tiles disappear, replaced with tiles above – but I ran out of time.
I might continue working on this at some stage, but I’m doubtful. Coloured tile games don’t excite me as a developer, mostly because I suspect every single gameplay combination has been done to death by now. I’m also not sure if it’s worth posting the prototype: it’s not fun, dead simple, Mac OS X only and spits log files into a subdirectory in your Library folder that you need to clean up after. Maybe next time. Part of the point of just having a week is that if I need to walk away, it doesn’t feel like much of a waste.
I’ll need some time to evaluate what went right and wrong from this exercise, but I’ve got some ideas of how things went off the top of my head.
First: I need to organise my time better. I just dove in, and while the time pressures helped me stay focused to begin with I went a bit all over the place with my focus. It would have helped to spend an hour or two at the beginning figuring out exactly what my objectives are, the best way to achieve them in the time available and pitfalls to avoid. With the haphazard approach I can get focused with deadlines, but I’m easily distracted by non-essential things. I also lost a lot of energy at the end which is part of the reason why I only got a prototype done.
Second: prototyping in C is a pain. Having a better set of in-built functionality at my fingertips would give me a lot more flexibility. I wouldn’t have to waste hours of work trying to think of a C friendly way to do the tile connection counting algorithm.
Third: prototyping puzzle game ideas in a short period of time is hard. I suspect if I just did a simple action game I’d have got something finished in the time. It’s easy to kludge together something amusing in the action game genre, but puzzle games live or die on their core mechanic. I don’t know if this is inherent to the genre or just my lack of practice with the area.
Fourth: if I’m not excited by the idea, then it’s really hard to crunch development. I didn’t exactly go “full out” in developing this one, a conscious decision to see whether it could be done with a sensible workload. But I confess it also meant I slacked off the pace in the last couple of days when minor issues reared their head and made completion all that more challenging. Maybe if I really loved the idea I might have sweated through the headaches (metaphorical and literal), the random Xcode crashes (grr) and the heat. But in the end, yesterday I effectively waved a white flag when it was clear I was out of time. I feel bad about that.
So… where to from here? I might have not completed an actual game, but it was a good exercise. My feeling is I should repeat the process until I get good at it. There’s one week between now and Christmas; that’s plenty of time for another small game attempt. This time, I’d like to give Python a whirl as a comparison. I need a theme though. I’m happy for any suggestions, otherwise I’ll take something at random in the next few hours.