Posts Tagged ‘Cpt. Sqrjaw’

Cpt. Sqrjaw Postmortem, Walkthrough, Timelapse and stuff

Posted by
Sunday, May 5th, 2013 2:56 am

The game:

Here’s the walkthrough (spoilers):

Tools used:
Engine: Unity free
Graphics: Photoshop, Flash, SAI
Animation: Anim2d
Sound: FL Studio + Massive VST + Goldbaby drums

The main goal was to field-test my animation system – animation editor and animation playback libraries for Unity.
The animation editor looks like this:

A lot like Flash with layers and nested animation clips, but with float frame values, “bones”/layer hierarchy, double keyframes for sprite changing.
And here’s the usage in Unity:

Fun thing is that you don’t have to manually import textures/sprites for animation, you just drop them into folder named “Sprites” and the system automatically picks them in editor, makes a library in Unity and stores textures into atlases (for now i’m using TK2d for atlas generation, but later i might remove this dependency).

In runtime there are 2 ways of playback – “rigid” – switches frame immediately, and “interpolated” – with possibility to crossinterpolate multiple animations, and overlay multiple animations. Rigid is faster and more useful for simple things like bullets, ui elements etc. Interpolated mode allows to smoothly switch between animations for characters. With overlayed animations in interpolated mode i could make the character shoot in 4 directions while standing, running or jumping, also landing squish was an overlayed animation too, so you could see the character counteracting the landing impact while continuing to run and shoot. And another fun thing is, it can be called with 1 line of code, like:

if(just_landed) anim_inst.OverlayAnimationReuseLayer("land", "stand", ...);

You can use different shaders and materials in one animation, it will create different meshes during playback, and if you use one material it will use the automatic batching.
Anyway if enough people are interested in this system, i’ll release it later.

I also used my polygon editor with some adjustments:

//that’s how you not use it, since physics only works good with convex polygons

In the last day i was kinda tired and sad, so i decided to screw around with FL Studio for some time, and made a simple electro-screechy thing using 4 Massive channels and funk-drums. I think it gave me motivation to finish at least something playable. It’s the first time i’m doing game music.

Wat left:
– I’ve spent most of the time fixing bugs in animation system, finding a way to correctly sort sprites by depth, learning how to use materials and shaders. In other words i ignored most advices about using only reliable tools that you are familiar with (again).
– I like to do detailed sprites and was anticipating to draw something with shading and stuff.
– The game is too short, with very few game objects and only one level (too little time was spent on actual gameplay, most of it went into technical stuff and debugging).
– There are severe memory leaks (materials and meshes) that i haven’t noticed (due to my poor knowledge of Unity) and that may crash your browser.
– It was too stressful.

Wat right:
– I did fix a lot of bugs in animation system, and made it work.
– I learned how to shader.
– Now i know how not to update procedural meshes and materials.
– I’m still new to Unity, and i’ve learned a lot from this jam.
– I did music.
– I managed to finish something playable, YAY!


[cache: storing page]