This is the postmortem for my game Trina of the Depths ( play it! ).
::: Development Notes :::
I worked alone on this one, because I couldn’t find a coder to partner with.
It’s the first game I ever made myself. I’m an illustrator by trade, and have never been (and probably will never be) a hardcore coder.
It was very hard work, since Saturday morning through Monday evening, I slept about 10 hours total.
I used Construct 2, FL studio, Photoshop and Flash.
About the theme: I couldn’t top my last LD submission, which was about an evil dungeon lord trying to destroy a hero, using traps. So I thought I’d go with my second idea, controlling an evil octopus. So this whole RPG/metroidvania idea developed in my head, about Trina, daughter of the evil Sea King and the secret of her birthright. And it really worked for me, to the point that I’m going to make it an actual game.
:::How I spent the time:::
I really wanted a control scheme that captured the feel of an octopus slicing through water. Therefore I spent some 8 hours developing the control scheme.
Trina, the heroine, is controlled via cursor keys, in a unique way. Pressing a direction doesn’t move Trina, instead it charges her corresponding vector, horizontal, vertical or both. Movement occurs after the release of the cursor key(s), and the muscle meter on the bottom left is accordingly drained by the effort.
Since Trina seemed to be falling too fast (she is in the sea, and this just wouldn’t do), I also implemented some resistance to gravity, not in the form of passive Lift, but in the form of a last strain of her muscles/parachute action. For 30msecs after finishing her ‘jump’, trina will try to stay afloat, giving the muscle meter time to recharge.
This simulates a movement that requires judgement and thinking-ahead, like an octopus might plan. After you’ve made your mind about your target, you jump towards it. The result is a very exact, very elegant control scheme, that most players so far hated?? Wait, what? More on that later.
When I was satisfied with the control scheme, I added an enemy, a cute fish, which naturally hurts (and annoys) evil Trina. I struggled with its behavior, AI and patrolling patterns, and in the end managed to only get one to spawn…
Music-writing sessions were interspersed throughout Days 2 and 3, to ensure maximum inspiration, and time to go back and re-do things. I ended up with three themes, a main tune, an encounter scherzo and a battle theme , using old soundfonts and a sampled gameboy Bass sound.
Day 3 was about damage control (since I hadn’t succeeded in properly implementing enemies) and level design. I also made rapidly prototyped level blocks. For this I took one giant background and start painting directly on it, taking care that assets do not overlap, so I can lasso them and export them later. This way I work super-fast without overthinking everything, I have a good idea of what my assets will look like when overlaid on the game background, and I don’t have to worry about layers and CPU performance at all. It’s the technique I’ve used since my first LD#23 and I wholly recommend it.
Here’s a screenshot of my almost final assets file:
And what my final stage looks like:
:::What went right:::
- my first ever solo game!
- the control scheme: having extensively playtested the game, I find that Trina moves in a much more refined, much more interesting way than if I had used plain 8 direction movement or mouseclick-to-move. After getting the first power-up, Trina controls like a charm, cutting through water like the evil princess she is.
- animation/character design. It’s as fluid as I envisioned. Like all animators, I was mimicking an octopus in the mirror the whole time.
- the music: I thoroughly enjoyed taking a soundfont of women singing “ooohs” and another of women singing “aaahs” and writing parts for them to sing, so that they sound like one chorus that sings both. I loved the battle theme, which I injected a sample of a rhino snorting into. I think it makes the mood more intense.
- the backstory and foundations for expanding this into a proper game. I couldn’t help daydreaming and scribbling notes about how I want the game to be, after LD is over
:::What went wrong:::
- the control scheme! From what I see in my comments section, many people don’t get it at all, can’t maneuver, and/or believe gravity to be too harsh. In my opinion, it may actually be too lenient; it’s a platformer, and you can (with some effort) ‘fly’ to wherever you want to. How is this harsh? Ok, it’s not Owlboy, but it’s not supposed to be. That having been said, I’ve been convinced that up-front giving Trina the powerup that nobody bothers to get will do its part in coaxing new players into playing, and is a good game design move.
- coding. I’m not a coder, and even though the Construct 2 forums are full of good FAQ and solutions (thank you, community!) , I seriously messed up the code that spawns new enemies, and even though I finally managed to pinpoint the cause, this left my game with only one enemy
- time: because of my coding set-backs, I didn’t implement the larger level I had in mind, the metroidvania “get the item and go back to unlock a new area” portion of the game, and the boss battle. I decided to make it as fun to play as possible with the assets at my disposal.
- backstory/dialogues. It’s not apparent why Trina is a villain. She hates all people (fish) in this part of the world, where she was brought unwillingly, and will scheme and plot against Good King Triton. All this is lost, since I didn’t want to cheapen the mood by inserting plain text using a plain font (Construct 2 doesn’t support embedding, and using webfonts was a big risk)
And that was my entry. I hope you enjoyed it