final screenshot

The Final Choice

Shoot-em-up bullet hell meets Mass Effect. Play as a starship captain faced with a series of unpalatable dilemmas: help people you find along the way and potentially jeopardize your own quest, or leave them to their fate. This game is much shorter than our typical entries, designed to be played multiple times. Features three endings (bad, good, and best).

See the README for details about options like setting the resolution, graphics level, and gameplay orientation. See help.png for info on your ship's features.


Best Rouge General
Presented by mit-mit

Generosity killed the craft
Presented by Unicorn Markets

Classic arcade throwback
Presented by Unicorn Markets

Give this entry an award


Ratings (show detail)

Overall: 4.3
Fun: 4.3
Production: 4.6
Innovation: 3.9

7% respondents marked the game as not working.
Respondents: 12


File Uploader Date
first final version
Cosmologicon 2017/02/26 00:10
final screenshot
Cosmologicon 2017/02/25 23:46
Screenshot day 3
Cosmologicon 2017/02/21 03:24
screenshot day 1
Cosmologicon 2017/02/19 04:01

Diary Entries

Game uploaded

Here's the link. Please let me know of any bugs by posting a comment here. Thank you!

Add a comment


I enjoyed this PyWeek. I think the game turned out pretty good, although it was different in some ways from our normal entry.

Game design

EnigmaticArcher had a great idea for Lesser of Two Evils: a game where instead of gaining abilities as you went along, you started out with all your abilities, and lost them as you went along, until by the end you had almost nothing left.

I found this challenging from a game design perspective. It goes against some basic principles of modern game design. Games generally add abilities as you go along, so the player has time to learn them without being overwhelmed. So how can you start a player out with everything unlocked? I think we stayed true to this original vision of an inversion, but to do so, I had to make many design choices to accommodate it.

For one thing, I only chose upgrades that required no skill to use. If one of the mechanics you lose along the way is something that takes skill to use, like wall jumping, and you never use it, you won't lose anything when it's gone. The shoot-em-up genre definitely makes this more possible.

The big challenge is, how do you ask players to make a choice that affects the entire game if they're not even familiar with the mechanics yet? That's a recipe for player frustration. So I balanced the game to be short and focused on replays. Just accept that players will not be able to make an informed decision the first time though, but hopefully the fact that you can easily replay it will mitigate that.

Of course, being focused on replays means you can't make it too easy or offer too much guidance, because it gets old when you repeat it. This time we made it more challenging than usual, more like a typical roguelike or 1980s arcade game.


The portraits and nebulas were from Pixabay. I would have preferred to draw custom character art but I didn't have an artist this time around. It's still a lot of work to find the right portraits, but it's faster than drawing them myself. It's really hard to find free images online. I definitely recommend Pixabay for anyone who doesn't have an artist on their team.

The asteroids were done using a free POV-Ray script I found that generates a 3d asteroid model. However, the script was not set up to easily rotate the object, so I had to figure out enough POV-Ray to rotate the thing and generate the animation frames. It was way more work than it should have been, but still way less work than doing it from scratch.

The rest of the graphics, namely the ships, were done in Inkscape, which I definitely recommend if you like vector art. I would have liked a more coherent design for the enemies, but that's the sort of thing that just takes time.

Other stuff

This is my first game with multiple endings, which I like. I wanted there to be something special for the best ending, so we wrote a song with lyrics, which only plays over the credits if you get the best ending. If you don't feel like doing that, feel free to find the song (ballad.ogg) in the data/music directory.

I generally make the game work on a variety of resolutions, but this is my first game to have two different orientations. It was surprisingly not that hard to support both vertical and horizontal mode. I still can't decide which way I like more, so I'm glad they're both in there.

I think the voice actors all did a good job, but I don't know how crucial voice acting was this time around. Still, that's sort of become our thing, so might as well have it. Anyway it's a good way to get more people on the team and it's kind of fun.

This is the fourth time in a row we managed to scope out a game that we were able to complete more or less as it was originally envisioned, with no major missing features. I think we're getting the hang of it, but it's taken a long time to get to that point.

Thanks for checking it out. Looking forward to your feedback.