Posted March 02, 2019 by plexsoup
#godot #blackthornprod
Quick Post-Mortem about FalconEx
I created FalconEx for the BlackthornProdJam. It took about a week to make.
Goals
What went right:
No player death! When the player gets shot, they lose inventory and cash. I wanted to have a fun game without timers or death mechanics. Pirates stop harassing the player when their inventory is empty. That feels honest for a trading simulation.
Every game needs a challenge. In this game, the "challenge" is hitting the tiny planets. Smaller planets give better prices, but it's surprisingly hard to hit them with your ship in a low-friction (damping) environment.
I kept the scope pretty small and dropped high-concept features if they weren't fun. It turned out to be a relatively basic space-shooter. Most of the controller code for space-shooters is available in many tutorials. The only unique or challenging components were: 1) selecting planets from a list on a sidebar, 2) having point gravity with orbital star systems, 3) buying and selling commodities. During development, it seemed like a big challenging indie concept game, but in the end its a pretty standard game. I didn't push the envelope too hard.
I set up infrastructure right away: dialog boxes, sidebars, viewports. That meant I didn't have to worry too much about those details at the end of the submission period.
Using a ttsreader to generate voiceover is perfect for science fiction games.
Upgrades feel really good. Most of the upgrades provide immediate visual and auditory feedback. (storage and magnets are a bit boring compared to the rest)
What went wrong:
For a jam-game, I wasted a lot of time on trivial problems instead of finding workarounds
leaving music to the last minute was a problem. I like to do everything myself, but I didn't have time to compose my own music.
I should have created multiple enemies from day 1. Having a single type of enemy makes the game feel a bit flat. I ran out of time to add more enemy types.
I added game-feel elements a bit too early. Once the game starts to feel polished, it seems like every new feature breaks a lot of work, so instead of refactoring to fix architecture, I was reluctant to add new features.
The game might be too easy for the hardcore crowd.
I started using github too late in the process. Next time, I should make the github project right away.
There's one lingering bug which is really frustrating. Sometimes the game doesn't respect your destination selection. If you click a planet from the list, it'll light up, but then it'll switch planets on you. If you're en route to a planet, sometimes it'll drop the destination. If you attempt to sell to a planet that appears to be highlighted, sometimes it won't sell. I can't figure out if the bug is in the UI code, the inventory code, the planet code, or wherever else it might be. If you're reading this and have an interest, take a look at the source and let me know if you can figure it out.
Features I had to drop, and might like to add back in if I continue development: