City Nine Times: Post-mortem and feedback
Well, there goes PyWeek. As I promised earlier, let's take a look at the lessons learned, mistakes made and all that.What (I think) I did right:
- A clear game idea: even though the idea was not a great one, having a precise idea of what you want your game to do ended up being a great time-saver. If I had to take this as a lesson for a future PyWeek, I'd say that during the voting week, each day could be used to come up with a full idea of what to do if a certain theme is chosen. As I said before, I've based my game on a previous one, so every aspect of gameplay was well defined before the start.
- Planning. planning, planning: I knew I wouldn't have enough time (well, neither of us does) to do everything perfect, so I made a realistic schedule I could stick to. In case you are curious - engine:3 days, art:2 days, music:1 day and fixing stuff:1 day). Leaving the less important tasks to the end allowed me, when things went bad, to cut out on music and use the remaining time to fix bugs.
- Know your tools: If I may say so, I think the artwork came out good enough. Had I not had my full "studio" (that is, my bedroom) completely ready to go, I would have had to settle for a lot less. For instance, having a graphics tablet and knowing how to use it is the only reason I managed to give the repair guy a blue shirt (it is hand-painted) in less than an hour.
- No features!: Cutting features as I thought about them was a nice touch. Yes, the game could certainly use improvement, but had I spent time in every single idea I wouldn't have made it on time. In case you wonder, a few of them were:
- Fix the repair guy so he doesn't wait for you to unblock his path - solving this would have made the AI much more complex than a simple BFS, plus it could have led to situations where neither of you can move. That's also the reason the guy takes sometimes the longest path :P
- custom "break" animation for the machines: that would have taken too much time. On that same level: giving the repair guy a tool case.
- pause and score: the levels are not long enough to warrant the time - if you have something to do, just lose and continue. Same thing with score - I have the suspicion no one said "damn, I wish this game had a score..." :P
- Not enough play-testing: if you played my game, you know it goes from "looks good" to "aaaaarggh, i hate this thing!" too fast (level 3 is annoying, level 4 is a nightmare, only one guy made it to level 10, and that was after altering the difficulty - I wrote about that in a previous entry). Had I played for at least one hour, I'd have spotted this fairly fast - and that only happened because I decided to use the alloted time to add lamps, plants and a carpet, that is, for not sticking to my schedule! I've seen this happen before, but only as an artist, not as a developer, so I'll keep this in mind for my next PyWeek.
- Not a great idea: Honestly, I don't really know what I was expecting to come out of this. I mean, I didn't even like the original game! I think I went with "this looks manageable" instead of "this looks fun", and while that is not really a problem in an office, for a game that's a bad thing... On a rather ironic note, I was against "Coughlin Brother's Mortuary", but that game would have ended up being at least more original than this :P . There were many good suggestions in the comments of some other diary entries I wrote, and while many of them are good enough to improve the game as it is, they probably can't help the fact that you don't have much power to alter the outcome of the game - all you have to do is follow the orders, and that's it. I'll try to come with something better in the future.
About the comments
Thanks for all of you who took your time to play and rate my game (except the two of you, you know who you are). If I have to be honest, I was bracing myself to much worse comments, but the fact is that (almost) everyone was nice and polite (I was expecting something like "BOOO-RINGGG", but instead I got a nice "The mechanics are quite simple").
A few comments, leaving aside all those "the game is hard/boring" and "the machines break too much":
- Ok, but what about the theme? You work in a newspaper called "The Nine Times", I thought it was clear enough :P
- Eventually it's purely a matter of chance whether a particular playthrough of a level is winnable at all: Yeep, that's the real problem. Too bad I didn't notice that earlier :-\
- A bit repetitive, and frustrating when things keep breaking randomly when your time and coffee is running out. But something perverse about the monotony appealed to me :) : Yeah, I guess making boring games is not precisely the way to go, but I also appreciated that; is kind of an artistic statement if you push it a little (ok, a lot).
- It's a bit annoying that repair dude wants the whole hallway for himself: Tech response - that's because if the guy moves when there isn't a clear path, then there is a chance that he'll corner you in a hallway, and since he doesn't know what "surrender" means he won't walk back, and you'd end up staring at each other in a hall until the end of time. But yes, a decent AI should be able to solve this, right now is a simple BFS (breadth-first search) algorithm.
- I have to say it would have been even better with some background music: Damn, you touched a sensitive subject! Yes, not only I wanted to give it some background music, I wanted to make it by myself too! Unfortunately, I had to cut a day from my schedule, and music had to go. As a personal revenge, the note you hear when you lose is 100% home-made with my harmonica :). That reminds me: if you liked the intro music, that tune is "Chased by a cow" by Heifervescent, from their album Hoofed and Dangerous. You can download the album for free from Jamendo.
- the coffee meter goes down pretty fast: In the original game, it used to go even faster :-\ - but yes, it does, sorry!
- I had to edit the code and decrease the probability of stuff breaking in order to make some of the later levels winnable. Then I got to a level that didn't seem to have the player on it: Yes, I've just noticed that! The last level file (data/levels/10.txt) has no "x", and thus has no player, sorry for that :-\ - If you wonder how the game looks like when you "win", you can open data/endgame.png and feel blown away by how different it looks from the regular "game over" screen :P - In case you wonder, this entry details how to make the game easier. If I can submit a patch, I'll upload it in a couple days.
Good luck!