A Knight of Curses: PostmortemThanks for all the feedback! This Pyweek was particularly fun not only in the creation stage but also in playing the entries.
Theme and game design
The theme turned out to be great, even though it wasn't my first pick. It made me figure out how to make a game where you "choose evils" and lose power as you play, which goes against traditional game design. Cosmologicon also discussed this in his postmortem and he has some interesting points.
As a solution, I decided to integrate the decline in power with the objective. You have to increasingly become more and more cursed to win, but the reward is that you lose a stack of curses, heal, and gain progress in the game. Suddenly gaining curses seems a bit more desirable, since you get to heal and progress.
I also put in a lot of thought in the design of curses. I didn't want curses that actually reduced the power of the player (such as reducing the number of lives or speed), but curses that were obstacles in disguise. The spikes and bugs are clearly those types of curses; the others a bit less so. I wanted curses that required some skill to tackle, rather than a sort of inevitable impediment. One of my goals with this was to make the decision a bit more thoughtful: depending on whether you're good at dodging or ignoring distracting messages, you can choose one curse over the other. I hope that each player might have their own ranking of curses.
I was originally going to put nine curses in a 3x3 grid, but then I realized that was way too much, both in terms of time to implement and in terms of increasing confusion. I'm glad I reduced it to five; it works pretty well and I wouldn't have time to do any more than that.
I wanted this game to be challenging. After I submitted the game, I was slightly worried that the last adjustment I made to the balance might have made it less challenging as I wanted it to. But it seems like people still thought it was hard but not too frustrating, which is good because it's what I was aiming for.
It does depend a bit on luck and the curses you get. I find that the compulsive wall touching is the easiest curse, and the slipping sword one is not too bad if you're patient. As I mentioned, I hope that this varies from player to player according to their skills.
The different boss patterns is random, by the way, to answer a comment. They are independent from the curses and get progressively harder in increments of five rounds, up to a third tier (i.e. 0, 5, 10). You're right that maybe I should have made that more clear, but at the same time I think sometimes it's more fun if a game doesn't completely show its hand and lets the player figure things out by themselves. Balancing that is tricky though.
I decided to omit at the last minute what each curse did because I thought it'd be more fun if players tried to figure it out by themselves. Based on your comments, this might have been a mistake and I should have at least added it to the readme file. For anyone who hasn't played it yet and is reading this post, here is what they do, in clockwise order from the top:
- Wall: Adds a distracting flurry of messages that disappear when you touch walls. Because walls need some affection too, you know.
- Spikes: The staple of gaming. Step on them and you get hurt. Just like staples.
- Bugs: Not the programming type. These critters wander around randomly and you lose a life if you touch them. Unless you touch them with your sword, that is.
- Crosshair: Bullets become attracted to you within the range indicated by the circle. Unlike walls, it's not a good idea to touch them.
- Sword: Makes your hands slippery. The sword randomly flies out of your hands after each swing. It can also kill bugs if you're lucky, because flying spinning swords hurt (but not enough to hurt anything larger than a bug, apparently).
I also wasn't clear on the fact that the color of the twin you kill corresponds to the curse you get, but I think that wouldn't be too hard to fix by adjusting the wording of the in-game instructions slightly.
Thanks again for all your feedback and to blakeohare for hosting this Pyweek. I had fun playing your games! Congratulations to Universe Factory for winning the Team category! See you all next time!
(log in to comment)