Here’s a short excerpt from one of the levels towards the end of Defy Hades.
If you are interested in the level design process Drew goes through for Defy Hades, you should go read his post on Runcycle Media’s tumblr.
After I get a design from Drew, the fun really begins. My first step is to make sure all of the distances and things match what is actually doable by the player controller. Once we make sure the mesh works, I get to figure out how to program any new mechanics Drew has come up with. On this level, we introduced the bouncing platform for the first time so we had to come up with a new gameObject that would interact with the player the way we wanted.
In my next post I will discuss another mechanic we recently decided to implement for the second boss level and the process I go through figuring out how to make things work.
Drew and I put our heads down for a month and a half. This is what we have to show for it. We’ve got another month and a half ahead of us before we’ll be ready to release, but we are quite pleased with the progress we have made. Here’s the first gameplay video from the first two areas.
This last weekend I participated in Ludum Dare 29, and teamed up with one of my close friends. The goal for me for the weekend was to learn on the fly how to use Unity 3D, and get a better understanding of C#.
The weekend was a phenomenal success. Click here to play the completed game. Click here to go to the Ludum Dare submission page.
After the theme for the weekend (Beneath the Surface) was announced, we spent about an hour brainstorming possible ideas that matched the theme. We initially wanted to make the game about Hell, since Drew has been playing a lot of Dark Souls lately, but since I like Greek mythology, we ended up making it about the Grecian underworld. Drew is a 2D animator by trade, and we both enjoy old school platformers, so a 2D platformer seemed like the logical choice.
Having settled on a theme, we quickly went ahead making our lists of what needed to get done, Drew on paper, me on my computer. Preparation was key to us getting it completed. I made a brainstorming web of everything I could think of that would be needed to get the game done and Drew had lots of post-its with several things written on them, and little check boxes next to each item. As he said, filling in the check boxes gives you a little dopamine rush each time.
Each of us, armed with our own organizational tools and sitting at a kitchen counter, set forth to check off every item on our lists.
We made good progress on Friday. We set up an efficient workflow so that we could place Drew’s assets into the game pretty much as soon as he could finish them, and got the first level nearly done.
On Saturday, we polished up the first level, then made the second level. There was lots of coding and debugging. There was lots of staring at C#, then asking another coder friend of mine, “Why isn’t this doing what I think it should? … Thank you, Nick!” about a zillion times. For extra variety, there was even some “Hey Nick, why isn’t this doing what I think it should? … wait, never mind, I got it.” I finally got the coding set up for the animations for the second and third obelisks on the other levels, and managed to figure that out on my own, with the grounding in code I’d gotten the day before.
Sunday was when crunch set in. I knew I had my work cut out for me in order to get all the animations working correctly. Unity has a tool called Animator that allows you to connect one animation to another by creating a transition, but it’s a very new feature in Unity and can be a little buggy. What I didn’t know until Drew finished the animations for the second and third obelisks, was that if you make a transition without having art assets in the animation yet, Animator will create a buggy transition by default and you have to delete each transition that is bugged and remake it. Live and learn from my mistakes, true believers.
This bug meant that there were a lot of transitions from Saturday night that were deleted and remade Sunday morning, and then deleted and remade again Sunday afternoon. We continued pushing forward, though, adding in temp music and sound effects. Drew got the animations for all of the transformations finished, and we completed the third level.
At 9 PM, we had all of our checklist items completed, aside from fine tuning the music and creating sound effects. We knew those would be the easiest items, and required us to move back to my apartment where my recording equipment was set up. Drew went home to take a shower and take a small break. When he came back, he had a 4th level planned out. Immediately, we knew we could do it, with a bit of additional time. We knew we needed to have it to keep the game from being monotonous, and since most of the mechanics and programming had been worked out on the previous levels, it would just mean we needed to fuse all of them together. It would take us a while to sweeten the music and get the sound effects in, but sleep is for the weak.
At 8am Monday morning, we had a finished fourth level. The game was now completed for submission, with music, sound effects, and what we felt was a short but entertaining game.
I successfully made a game. The feeling of completing the Ludum Dare 72 hour Game Jam was the most accomplished I have felt in a long game. It was challenging. We learned a lot.
Next up, The Public Domain Jam.