For those who missed it, here’s my writeup on Ice Story. Thanks everyone for the overwhelming replies, I’ll get round to replying to all.
So you know how sometimes a game feels like it already exists, and you are just discovering it, instead of inventing it? This is one of those.
GAMEPLAY AND THEME
Ice story (氷物語 – Koori Monogatari) is my loving take on Bubble Bobble and Snow Bros, and specifically the arcade versions I played as a kid, with a mix of Rocket Slime.
My main thinking was to have ice as a weapon, but the freeze spell is not the weapon, that’s just middle-ware. No, the actual weapon is the sequence of events you need to perform, sort of a ritual, a routine, in order to get rid of the dinos. Freezing enemies to perfection, then flicking them in the air by performing the Dash special move, then successfully catching them on the rebound.
I tried to make the routine interesting and satisfying, so you’d get into it fast and it would hopefully become habitual and pleasurable. I know it has for me. Controls are kind of tough at first, they might need tweaking to appeal to first-time players. On the other hand, I may make the judgement call that players should just deal with these controls, because they reward you with considerable power and versatility once you’ve mastered them. We’ll see.
Here’s all the Technical Stuff ™: I used Photoshop CS5 for graphics and animation. As usual I start with a messy mockup that contains every sprite and work my way up to more refined sprites and tiles in a new file if necessary. Here’s some process on the main character, an ice mage called Nya. Her favorite food is narutomaki. I based her loosely on my friend and pixelartist
@vagaaabond (go check her out).There was some worldbuildinggoing on in the background, even if it didn’t explicitly make it in the game. It’s still there somehow.
Nya is a peace-loving nerd who likes nothing better than to study her ice magic alone. In quiet. She is interrupted by an infestation of, um, dinosaurs falling from the sky. This is clearly the doing of her friend Kya. Why can’t she be content with being an ice mage too? Why does she have to dabble in chaos and prehistoric monsters?
I thought some blend of japanese culture and western fantasy would be cute. I also stumbled upon an article that said job recruiters in the US strongly dislike “black” names in application forms and don’t call back 27% more often than “white” names. This is obvious to anyone who’s ever encountered racism and I also don’t mind making white people uncomfortable, so I chose “Nya” from that list, although I might make it Shaquandra in my post combo version.
Then came level building. I really had to stop myself from making these, they were so fun. I made 10 and decided to stick with that, so I could playtest and refine them sufficiently, at the same time as I was checking the engine for (tons of) bugs.
Another interesting thing happened during level design that convinced me this game was on the right track. See, I had already made a “hurry up” mayhem mode to incentivize the player to solve the level faster. It looks like rocks randomly spawning from above and then falling until they meet a platform with some camera shake, like so:
So I had an idea for a level that called for destructible terrain. I thought of scrapping it at first, because I didn’t have time to make an exploding terrain animation. But then it hit me, I already have one. I made an invisible “bomb” object over the terrain I wanted destroyed and wrote a function to the effect that “when terrain is destroyed, make the terrain tiles disappear and create a rock there”. The illusion is perfect, and it comes from thinking “inside the box”, re-using vocabulary that my game already had. That was a first for me, and it’s a very powerful feeling.
I used a free YM2151 emulator VOPM for the sounds, and let me tell you, it made a whole lot of difference. The YM chip was hardware by Yamaha famously used in the Sega Genesis, and some awesome person has made a collection of instrument presets from actual Sega games. Just the thing for a dev in a hurry. I was never proficient with FM synthesis, but comfortable enough to tweak the already pretty stellar presets into something more usable for my sounds.
I managed a pretty self-contained and cute soundtrack consisting of an intro tune, 2 in-game themes and a gameover jingle. You can get those here.
the main gist of my intro idea stayed intact despite the time constraints of the jam, all because of Construct 2′ awesome visual editor. It’s basically “type this on screen” then wait 1 second, then do something else. It goes on for a while
And another thing that saved me tons of time was making the tutorial “action replay” pre-animated. I’ll explain: I captured a short segment of me playing the game, and because it’s pixelart, it came out crystal clear and tiny at 125kBytes. Compare that to the hassle of making code for actually recording your position and button presses at every dt. Since Construct 2 imports GIF files as sprites (very reliably too!) it was easy to go back and annotate the controls.
LDjam is super fun and awesome!
Also here’s the spritesheet with all my graphics for the game.
Thanks for reading this far, play the game, rate it, hate it, have fun with it and in general