Postmortem: QuetzalAnd another Pyweek ends. :)
I liked my idea and how the game turned out, but for some reason during development I wasn't as excited as I usually am. I'm not sure why; maybe Pyweek is kind of becoming routine for me. :) I'm satisfied with my entry, although I feel like I could've done better. At least, this time, I managed to "finish" my original entry (unlike my two previous Pyweeks which turned into a "game in one day" competition because I went too ambitious for one week). Well, "finished" without polish/intro/in-game-instructions/sfx, without proper testing and without balancing, that is.
I had problems finding an idea using the feathers theme. I started two days late due to other issues and I was somewhat hoping I would have a good idea in these two days, but nothing came up. Finally, I decided to make a more traditional side-scroller shoot'em up game. I personally like innovation and creativity in games and I always try to make my games with something that's at least not too common. So, even though I wish I had a better idea, I decided to throw a little platforming on the shoot'em up to make it a bit different. The feather theme fit well with that.
I'll speak a bit about the game here and the intended strategy; if you haven't played, this post probably won't make much sense.
The implicit theme of my game is an Aztec priest/mage who drains powers from flying feathers trying to defend his people from the (flying) invading Spaniards. Not that it matters much. :) Anyway, the core of the game is that the hero must jump from feather to feather to be able to attack and at the same time avoid the enemies.
I wanted the game to encourage the player to jump from feather to feather to create tension and that feeling that you're always close to falling. I added two elements for that: 1, if you stay on a feather too long it decays and, 2, you keep the "attack" of the feather for a few seconds after you leave it. So it's always a good idea to change feathers given that you always gain or "reset the timer of" an attack when you land on one. After the player learns that, the player should hopefully try to change feathers as often as possible. I think that's the optimal strategy, unless someone finds another one.
I also wanted to encourage the player to kill the enemies without having any kind of score system and without much work. I did that by having the enemies respawn (at most two times) if you don't kill them. So killing them is always a better choice, because, if not, you'd end up having to kill them along with new enemies. Hopefully it should be evident for the player, but I'm not sure. Maybe the player would have to play for a few times to realize that. Even if it's not evident, I wouldn't have time to do anything about it.
There is only one level and it lasts a little less than 4 min (that's when the music ends - I wanted to synchronize it better with the music, but I didn't have time). Creating enemy patterns by hand took longer than I thought, and I did it in the last few hours of the challenge. So you'll probably notice that the closer to the end you get, the lazier I felt to add new and interesting patterns. :) I wanted to add a boss, but that didn't happen (saw that coming).
I tried to add some sense of progression, but I had too little time for that. I think I messed up the difficulty towards the end; it gets particularly difficult near the end. Since I was running out of time, I just threw in 12 lives and hoped it would at least not make it so bad. I know it's an ugly fix that doesn't really fix at all (and even decreases the tension), but it was the best thing I could do at the time, since I didn't have time to test and tweak it further and I didn't want to see people frustrated for not being able to finish the game. Ah well.
Another feature that attempts to add progression is allowing you to have more feathers and more combos as it goes. I think that part is ok; it would have been too overwhelming if you had everything from the beginning.
I think I achieved what I wanted from the "same color combos" (you only get them later on the level and you use them by landing on a feather of the same color while you still have that color's attack activated). They're not easy to use, and once you use it, it's not only powerful but necessary towards the end. It feels the way I wanted it to be, except for two unintended consequences: it's a bit too based on luck (the feathers you get are uniformly random) and if let yourself be overrun by enemies, it's too hard to use it (and since it's somewhat necessary, you're pretty much doomed at that point). So maybe a good strategy here is to focus not being overrun by enemies and to keep the combos as activated as possible. And also not die, because if you do, you lose your combo. But maybe that's not so clear for the player. Anyway, figuring these things out it's part of the game (and if you haven't played the game yet, I'm probably spoiling it for you :)).
Anyway, that's it. I haven't gotten much feedback yet and I'm looking forward to see people's opinions.
Some entries look really great. Unfortunately, I might not have time to judge all games this time. Maybe I'll pick a few at random and judge them.
I appreciate any feedback. Feel free to be verbose in your rating comments.
Thanks to Richard for hosting it. See you all next Pyweek!
(log in to comment)
This was a feeling we had a lot after last Pyweek - the game was fun and we did well, but the experience of competing still felt flat. Partly that was because we weren't in a good frame of mind for competing; I certainly had other stuff going on which was distracting me. The main thing though, was that we were just doing something that we knew we could do.
This Pyweek, we tried something new in a lot of ways. We stretched ourselves both creatively and technically, but more importantly, we set out to make a game for us, rather than something to impress the Pyweek judges. I think it's paid off, and I'm prouder of this game than any of our other Pyweek entries. I've certainly heard both the words "love" and "hate" used more in reference to After The Fall than any of our other entries, which I think shows that we're doing something right.
Getting back to the point, having played Quetzal, I get the feeling that after your previous experiences with being too ambitious, you've decided to play it safe a little, and that's what made this week feel routine. I'd encourage you to push yourself a bit further, and not be afraid of biting off more than you can chew. Pyweek needs more glorious failures!
Anyway, it's a fun game, and I promise to post some more detailed thoughts on the game itself once I've played it a bit more.
Once we really started pulling the game together though it took off and I coulnd't keep away :)
Martin: Interesting comment. This week I had some things to worry about, so it's possible I wasn't in a good frame of mind for the competition.
I don't make games a lot and Pyweek is still the main place I create games in, therefore many things in game development are still new for me. It's true what you said, I did play it safer this time, and the fact that I "failed" my two previous Pyweeks had a lot to do with it. Another reason is that I wasn't very inspired to think of something too ambitious.
The problem about glorious failures is that you don't get to show it. In the previous Pyweek, I had an idea I was quite proud of - not only the concept was different, but also the mechanics seemed to blend in quite well on paper. Unfortunately, I barely got to implement the mechanics, and in the last day I decided to forget about it and do something simple just to submit. I went for Pyggy, but the long deadline kind of makes you forget about it. So, I prefer going for a "make something to show in a week" rather than an "aim too high, fail and not show anything". Still, for Pyweek as a whole, I think that if everyone tried to take more risks, we would definitely have more interesting games (probably a lesser number of games, but more interesting). But, individually, it's quite frustrating to not be able to finish.
It would be interesting if someone created a competition designed to encourage people to take risks and to minimize the frustration of failure. I'll leave it as an exercise for the reader. :) (Although I'd definitely be interested in helping design such a competition given someone else works on the infrastructure - but this is just me wanting the goodies and avoiding work. :))
Anyway, I think it's interesting that what started as a simple idea (a shoot'em up with jumping) ended up with some features I really like that I only managed to think later in the challenge (different attacks for different feathers, combo attacks). Sometimes it's worth it to start first, then think later.
And I totally agree with you: "love" and "hate" is much better than "it's ok" and "meh". If you can make people care about your game, you have to be doing something right. :)
I liked the varied weapons, and although I had no chance to admire the enemy patterns at this speed, they still worked in some way I believe and made evasion more enjoyable.
I haven't tested this game myself yet... working through
You'll probably know if the speed is right or not if the music ends at about the time the level ends. Of course, ending the level is the hard part. :) Another way to know if the speed is right is timing how many seconds it takes the feather to decay after you land on it: it should be around 8s.
Remember that you can maintain your combo by landing on a feather of same color; it resets the timer and keeps the combo level.
(I really hate those enemies that shoot in three directions. Their bullets are so hard to see... Well, that's what happens when you don't test the game properly.)
Some time around the "FASTER!", I stop aiming for enemies and dodging shots. I just keep jumping between feathers as fast as I can and hope for the best. Around the 3x combo I don't even wait for a feather I can land on. I jump as soon as I land and hope I can find something before I fall.
Now, I love this game! There are so many wonderful details in your gameplay design that I have to take issue with Martin's insinuation that it was a low-hanging fruit. Only superficially does it resemble anything I've played before. There's the core mechanic, the satisfaction of a series of well-timed jumps, the well-chosen music, the epic feel of the 3x combos. My point is that I doubt anyone is going to play it as much as me. I'm not the best player at these, but if I haven't beaten it by now, that means plenty of people will give up before they do. So, if you wanted people to beat it, I think you made it a little too hard.
Yeah, I think the hardness really is the main issue. If only I had an extra hour or two or managed my time better, I could've fixed that. I had only around 2 hours to make an entire level and at the same time playtest the game, which might sound enough but it's not when you're creating the patterns by hand and guessing numbers. The hardness was definitely unintentional, sorry. You can always add more lives in gamelib/const.py, if you want. :)
I beat it once (with only the last life left!) but it was probably due to luck, since I can't beat it again. I remember that using the level 3 green combo and staying at the top right of the screen helped (green is particularly powerful, the only problem is that it's very hard to use properly), but, again, the feathers you get are pretty much based on luck.
Next time I might try something more ambitious, but that depends on what available time I have. Again, I really appreciated your comments, and sorry for the difficulty. I have a feeling everyone will comment about the game's difficulty when rating.
I can never manage my time well for Pyggys, but maybe I should at least make an easier Pyggy version of the game. Feel free to add suggestions, but I can't promise anything (I thought I'd finish my previous unfinished entry in Pyggy, but time just flew and I ended up doing absolutely nothing...).
nitrofurano on 2009/09/06 21:23:awesome idea, awesome game, and huge expectations about your pyweek10 entry! =)