Post-Compo Summary
Crow Wing is a platform puzzle game.
You move in increments and can climb up and drop down ledges. Later you can also fly, which lets you move at the same height to reach high ledges across gaps.

I used Blender and Unity, and also Sculptris and Topogun in my modelling process.
- I wrote 1,127 lines of code in 5 major classes.
- Made a 3D character with 8 animations
- 8 final static 3D models including an edit-mode only node representation
- slept for 10.5 hours
I made use of tools library that I’ve shared. I tweet about new features leading up to every jam. This has a character control and camera tracking system which really speeds up some of the most troublesome parts of making games in 3d for me. Since this game is 2D (or more specifically, it’s node-based) I didn’t use the character controller, but the camera system was pretty much drop-in.
Within the first half hour, I had decided what I would make. I had been thinking about making a tile- or node-based movement system and the Two Button Controls theme made me simplify the idea (from a 2D grid of nodes to a linear string of nodes). The second theme also helped me figure out how to make that simplified system interesting: the character would grow wings.

I started with very quick but descriptive placeholder models and had the character moving in single units before I set up the node system.

Doors, clay men, and the wings and claws pickups were left as their starting placeholders. I made use of the vertex colouring system in Blender to get the placeholders to be descriptive enough from the start. The claws look pretty confusing, but the wings, doors, and clay men fit in even though they were made in less than a couple minutes each. To use vertex colours, you just need a shader/material that shows it. I used this material for everything in the game. This has an important value in that it cuts out UV mapping entirely which is a huge chunk of time. (it’s too bad; i really like unwrapping)
Blender and Unity use different handedness in their space coordinates, and blender uses Z-up where Unity uses Y-up orientation: your models can come in lying flat, and things are facing the wrong direction. A trick for dealing with this is to work from the negative Y direction in blender (or negative Z when you get to Unity), and when you start a new model, rotate the object 90 degrees on the X axis.
I created a node system for movement where nodes could be marked as having a hangable ledge on either side. I made some in-editor functions for searching for neighbours and assigning them. Also the node occupant behaviour had a function to assign it to the closest node. These really sped things up when I got to the level design stage.
Once the movement was working and I had tested the elements I would use (stomp a switch, use a door, grab ledges, get wings and fly over things, get blocked by golems, and slash and crush them) I drew out a set of puzzles and introduction levels I could make:

I got to make almost all of these. One used a feature that I thought would be easy to implement but really didn’t have time for, losing your wings and claws proceeding to the next level through a special door. This was really no problem, since I wouldn’t have enough levels to be able to give you the items multiple times, but I had to adjust the design of one or two with that changing.
Right after planning those levels, I moved on to my favourite part of game jams, designing and modelling a character.

6 hours later:

Making 3D characters is the thing I have worked hardest at over my life. I’ve done so much personal training and research to get my workflow as fast as possible. I’m very proud of how fast I do this and I hope it comes through in the quality of the games I work on. I would also say this is the most interesting part of the time lapse I made, and I’ve marked the time I start on the character in the video’s description.
Replacing the placeholder character with an animated one gave me a major snag that I could have really easily avoided. With a static model, all of the position and state switches had been instant, simply calling functions to set the new state and change the mesh; but now that I wanted to have motion over a little time, I had to do a fairly major refactor. The coroutine system in C# and Unity are really handy for this sort of thing, and if i had just used Coroutines with the placeholders (testing with waiting a fraction of a second), I would not have had to refactor at all.
I ended up bumping into several more bugs and problems, but that is to be expected and I worked through it all without being very stressed.
I slept for only 10.5 hours across the weekend (48 hour compo). Sleep is very important and I think I must have just been well rested leading up to the event to get away with that. My rule is that whenever i recognize i have made a silly mistake and it could have been from being tired, I go to bed. Even after feeling OK at the end of the compo, I felt really terrible for the next two days. I was sore and tired and didn’t sleep well even though I could sleep. I had caffeine withdrawal and I’m prone to migraines, so i didn’t want to have more (even though that would have helped with rating games).
Some things I didn’t get to do:
I think the most embarrassing thing in my game is the 6-pt Arial floating text. I wanted to make some nice mesh lettering like i had done in previous jams, but with very little time to add finishing touches, i invested the minimum possible effort. The new UI system in Unity is pretty good and I’ve used it before, but I just wanted to avoid any possible snags.
I had a some background models planned. I made the environment models fairly quickly, and it wouldn’t have been hard to make a set of decoration pieces to go with them. I’m glad I left this for later/abandoned it, as it was I didn’t have time to do more than make sure each node had a tile under it. I wanted to rotate and scale the tiles to add variety and pile them up. The node system is 3D, so it would have supported much more interesting arrangements with some depth too.
Tweaking particle systems takes a while to get things that look nice. It’s a shame that I ended up with two colour swapped, identical effects. I would have liked to add sounds to those as well. An effect system in the shared tools, makes it very easy to attach sounds or make copies of effects and swap out parts later. It wouldn’t have taken long, and I think it would have added a lot.
Like every jam, I feel this is the best I’ve done, and I love participating so much. It’s amazing how much work everyone produces and how great so many of the games are that come out of Ludum Dare.
Here is my Compo entry: http://ludumdare.com/compo/ludum-dare-34/?action=preview&uid=27074
And here is my Timelapse:
Elliott Davis
@kenruze