A Fiery Post Mortem
We wanted to make a game about what it feels like to be a bad ass dragon. Our game is inspired by Smaug from The Hobbit. We tried to capture the feel of soaring through the air and then diving down to burn everything to a crisp.
To get the mood right, we had to focus on three factors: Fluid flight controls, nice artwork and nice ambience audio.
For the main character Phyrexianian first drew the whole dragon as a sprite and then we dissected him into parts that I strung together by code. It works a bit like a snake game, where each body part follows its leader, up to the head. I also rotated each body part towards the leader so it would bend nicely when flying curves. It’s a subtle effect but I think it feels much better than a stiff sprite.
Phyrexianian put a ton of effort into the pixel art. The whole city is burning and the sprites reflect that. Here’s a sprite sheet that shows the lighting work on the dragon’s belly and the balloon especially:
Unfortunately we didn’t get to put in sprite animations for the enemies. That’s something we plan to do for the post-compo version, though.
The background is kept really simple. All background sprites are on parallax scrolling layers and the colors are animated using DOTween to give the firesprites some pulsing and flickering.
For the ambience I dug into Unity’s new Audio Mixer. I’ve been looking forward to make good use of it for a while. For this game I made two mixer snapshots: One for the dragon in the sky and one for nearer to the ground. Up in the sky the music and screams fade into the background and you hear mostly the arrows flying by. Then, when you nose dive into the town, the music and screams fade back in.
Here’s what it looks like inside Unity:
We had much more gameplay ideas, even a boss (a big zeppelin with ship cannons and a tesla coil!) but those had to be scrapped so we could make the deadline. We will probably keep working on it and release a post-jam edition with more gameplay elements.
We had some nice feedback thus far. People seem to appreciate the effort we put into the artwork and the audio. I didn’t opt to have audio as a voting option because the samples for the arrows and screams were taking from sample libraries. I’m still happy I managed to get it right, though!
If you check out our game, please let us know what you think. I left links to the game at the top and bottom of this post.
All villagers are alive and well, and the dragon was safely returned to his hoard.
What Went Right?
Collaboration: We sat in the same room during the whole jam, monitors side-by-side. This allowed us to have really tight feedback loops for tweaking and testing.
Mechanics first: After the initial mockup in PyxelEdit I started to work on the game mechanics immediately. Here’s a GIF of my first attempt at dragon flight physics:
While I refined the physics and the flight feel, Phyrexianian worked to refine the initial mockup into usable spritesheets.
Taking Breaks: When things got intense and panic mode activated, we pulled a 180 and hopped on our bicycles to blow off some steam. I think the breaks were essential. We could develop the concept further while being away from our computers and I solved a few code problems.
What went wrong?
Too much micro-refining: We’re both perfectionists and too often we got hung up on tiny details that nobody would have ever noticed. Good examples:
“Hey the dragon needs better horns!”
“Hey the dragon’s tail looks a bit short!”
“Hey the dragon’s neck looks a bit long!”
Not enough sleep: No elaboration necessary!
Bad hydration: Forgetting to drink leads to bad headaches, who would have known!?
What we’d do differently?
- Spending less time trying to get things “perfect” and instead adding more gameplay mechanics and content.
- Start giving out test builds much earlier.
- Sleep more.
- Drink more.
Our Tools
- Unity 5 (I love the Audio Mixer!)
- PyxelEdit <3 <3 <3
- FL Studio (Music)
- Audacity (MP3 -> OGG)
Here’s a link again to our game: http://ludumdare.com/compo/ludum-dare-33/?action=preview&uid=55643
Thank you for playing!
Twitter: @mstuetzer and @rendelmann
Source: ludumdare.com archive