Postmortem: Quetzal

And 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)

Comments

awesome idea, awesome game, and huge expectations about your pyweek10 entry! =)
"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. :) "

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. 
I know the feeling of being routine and not in to it - I just kept finding other things I wanted to do until about Thursday (excluding first day of course ;) )

Once we really started pulling the game together though it took off and I coulnd't keep away :)
nitrofurano: Um, please don't set your expectations too high. :)

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 have to ask: is the extreme speed intentional or is my computer just too fast? I managed to train my reflexes to the point where I could survive for maybe 4-5 seconds at a time, and made it to the point in the level where the "FASTER" message flashed at me... Needless to say I only survived for a few seconds after that (noticing I held my breath all along).

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.
@cyhawk, is it possible the fast game is because it's expecting to be vsynced, but your graphics driver is set to never allow applications to vsync? A friend at work had exactly this setting on his ATI Catalyst control panel, and it caused our sinister ducks to run at about triple speed for him until he turned it to some other value.

I haven't tested this game myself yet... working through
Hmm, at least before the "faster" message, it shouldn't be too fast. After the "faster" message, only the speed of feathers get faster, but it's still possible to keep on (theoretically - the enemies make it much harder). Like I said in the main post, at that part it gets really, really hard, but I know it's finishable because I finished it once after the competition ended (after many tries :)).

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.
By the way, if anyone manages to beat this game, please post, I'm curious. :) Let me know if you used any strategy. I think that at the last part, if you manage to take any attack to the level 3 of the combo, it's very helpful (the red one isn't very useful at that part because it only shoots forward). Unfortunately, by the time you get to use level 3, the enemies have already become too overwhelming.

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.)
Played another round, and I think it may be the right speed, but this right speed is quite fast :). I have made it to the "FASTER" part with barely dying once, but after that I quickly lost all lives. I think timing the jumps from feather to feather has to be entirely relearned after the speedup. And it was difficult enough to learn it the first time :). I will post if I somehow manage to beat the game!
I've been trying to beat this game for hours, and I haven't. I can usually make it to "FASTER!" but not too much farther. I've seen the big cannons twice. I've gotten a 3x combo about five times, I think. I don't think the game is running to too fast for me; eight seconds to decay sounds about right.

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.
Sorry, I really didn't mean to insinuate anything about this game being "low-hanging fruit", or inferior in any way. I just thought that, having really enjoyed Tee's previous games, and appreciated his tendency to aim big and occasionally fail, this felt a little less grand in scope. I was simply suggesting that this might explain the "routine" feeling that he experienced this Pyweek.
Sorry, maybe I didn't put it right, but I know what you were saying, and I see where you were coming from. The game does seem pretty simple at first. A player probably thinks "yeah sure I could have made that". But I think there's a lot of hidden depth there, and a lot of skill shown on the part of the designer. That's all.
Hey, thanks for all the comments. This reaction is certainly a much better reaction than I expected. :)

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...).