Space Junk – Postmortem

Posted by
December 15th, 2016 12:52 pm

Three months ago I participated in my first Ludum Dare. It was was a very educational experience which I explained in more detail in my LD36 postmortem. One of the key takeaways was that I would either A) ensure that my wife and kids could be on a weekend trip somewhere, or B) limit the time I spend on my game entry so it wouldn’t make me anti-social during the weekend. This time around my family would be home during the weekend so I went for option B which I looked upon as a challenge itself.

PREPARATIONS

For a couple of weeks following LD36 I continued to practice Blender modelling, texturing, rigging, and animation. Blender was my weakest skill during LD36 and much time was spent looking at tutorials and troubleshooting my lack of skills during the competition itself. I box modeled some spaceships and rigged characters. I textured them as fast as I could. I managed to push time down to modelling and texturing a low poly spaceship in about 15 minutes. I wish I would have kept using Blender frequently up until LD37 but I started a new full time consultancy assignment and I also had to dedicate time to the house renovation so after September I did not keep active in Blender, unfortunately. I had to look at tutorials during LD37 too to properly use the Rigify addon and I also had problems with animations.

LD36 also taught me not to underestimate the time it takes to create the UI and game manager to maintain game states. I spent some time in September to touch up on some fundamental game states to have that clear in my mind for the next time around.

Finally, the evening before the event was about to start I verified that the OBS screen recorder and all the applications launched and worked as expected.

EXECUTION

Ludum Dare starts at 3am Swedish time so I went to bed at 10:30pm the night before and set my alarm for 2:50am. I snoozed for 10 minutes so after 4 hours and 30 minutes of sleep I woke up, made a cup of coffee and sat at the computer to find out the theme; One Room.

GAME DEV SESSION 1 (approx 03:20 – 08:00)

This time I started straight away to program the game state framework code and I created a new truetype font. This gave me time to think of ideas for the game while creating content that would be necessary regardless of what game I would make.

I did not have a clear game in mind but I had a vague feeling that I wanted to make something in a space hangar (one room) having a flash back to Space Quest 3 where you wake up in a junk room on a spaceship.

I proceeded to launch Blender and started to model a primitive astronaut. I like the anonymous look of them. Following a short box modelling phase, I debated whether to use the Rigify addon or manually create bones for the rig. I decided to go for Rigify because it makes it easier to animate the character but the downside is that the rig becomes very complex which takes some time to wrap your head around. I wasn’t sure if this would bite me later on in the process.

I continued to drink coffee and animate the character with a cartoonish walk cycle and some basic idle and jumping animations. I created the animation by googling for walk cycle animation references and manually setting the main poses to transition between with key frames. I verified that it would work to import into Unity. So far so good. I was very pleased with the arcade-feel of the walk cycle.

My son woke up around 8am and came in to greet me, excited to see what was going on. We had breakfast together and then the two little girls and my wife woke up.

The first session came to a close at around 8:30am on the Saturday morning.

Status after session 1

Status after session 1

AFK SESSION 1 (approx 08:00 – 20:00)

Since I did not dedicate this weekend entirely to Ludum Dare, I set off to do stuff that I normally do on weekends. First up was to ride motocross which is what I try to do every Saturday with a friend of mine. It takes about 30 minutes to load the bike on the trailer and pack the gear followed by an hour’s drive. It had started to snow and the roads were icy so it took longer than normal. When I drive I tend to be able to focus a lot on thinking about gamedev and it is something about not being able to use a computer that allows the extra mental focus. I spent the hour drive figuring out two game designs to choose from and an endless runner inside a room with a conveyor belt was one of the ideas. Since it was icy I had to start by changing my rear tire to an ice tire and then I rode and hung out until 2 pm before heading back home. More icy roads and then the process of cleaning the bike, and myself for that matter =) In the afternoon I went with my wife and kids to go Christmas shopping, cut my hair, and we ate out. Then the drive back home and tucking the children in for the night.

AFK Session 1

AFK Session 1

GAME DEV SESSION 2 (approx 19:30 – 23:45)

I got back with working on the game and added some of the game-play elements.

Status after session2

Status after session2

AFK SESSION 2 (approx 00:00 – 13:30)

Feeling really tired I went to bed around midnight. I had only managed to get 8-9 hours of game development in and I had doubts that I would be able to make a complete game to the level I had hoped. I woke up at 9 am. My wife had already been up for some hours so she headed to bed to get some rest and I spent the morning playing with the kids and tidying up the house. After lunch when my wife was back in action I got cracking with the final session.

AFK Session 2

AFK Session 2

GAME DEV SESSION 3 (approx 13:30-02:59)

At this point I had most of the game yet to do. The game play was very primitive with a few test blocks and no real idea how to progressively build the flow of blocks to make it interesting. I came up with the idea of adding air for the astronaut and running forward and jumping consumes air. I created some more interesting level content in Blender to add some visuals to the game. I made progress by adding the side pistons, the particle field to prevent escaping the room, and some different death mechanics. I was becoming more and more happy with the progress and by 9 pm I had most of the game completed except music, sound effects, build testing, and some final polish.

I began to make the music and I wasn’t too happy with the direction that the music was taking but I had no time to start over so I salvaged what I could when making the menu and game music. The sound effects are primitive vocal effects into my mic that I warped and twisted a bit.

At 2 am the game was pretty much finished. I attempted to compile for PC (which worked fine) but the WebGL build resulted in the astronaut being black / having no texture. I thought it was a lighting issue after I searched the Internet a bit but in the end I noticed that the astronaut texture was 1024×1024 and all the others were 512×512. When reduced the astronaut texture to 512×512 it worked and the game looked fairly close in the browser to the PC version.

I compiled the PC and WebGL versions, packaged the Unity project, and uploaded everything to my web server. I submitted the game to the Ludum Dare site at 02:59.

I was very pleased to have completed the game within the time frame and under the circumstances. Knowing I had to get up before 7am the next day for my day-job I still made an effort to tweet a few tweets and create a gameplay video and uploading it to YouTube. This is my normal master plan for marketing; A YouTube video and a couple of tweets =)

Status after session 3 (game finished)

Status after session 3 (game finished)

AFK SESSION 3 (03:30 – onwards)

I slept for three and a half hours and drove off to work… business as usual only more tired than usual.

RESULT

I was happy with the game all things considered. The tactile feel of the game could be better and some more variation of junk, and maybe traps, would have been fun to add.

LESSONS LEARNED

  • Don’t aim too high if time is limited.
  • Accept that failure IS an option when attempting to balance LD and normal weekend activities.
  • Start the game state machine and framework of the game while thinking about the theme.
  • When balancing life and LD, prioritize to do time consuming things early on, it gives you time to reflect on the game mechanics when you’re away from the computer (for me, driving for 3 hours on the Saturday gave me plenty of time to mentally explore ideas without the pressure of coding and content creation.)
  • Consider simplifying UI if elements are not needed. I ended up scrapping a main menu with the option to just start playing by pressing a key (the player avatar was introduced in the “menu”/title screen.
  • Prioritize family over gamedev, but focus immensely on gamedev at timeslots I CAN allocate.
  • Prioritize gameplay over music – you can always skip music if necessary (even if music is something I feel strongly about =)

WHAT ABOUT LD38?

Yes – I will attend again. If it will be a dedicated run or another shared weekend like this will yet have to be decided!

SPACE JUNK – Ludum Dare 37 Game Page (Play WebGL + Windows Download)

GAME PLAY VIDEO

TIME-LAPSE VIDEO

FINDING BUGS VIDEO

Tags: , , ,


Leave a Reply

You must be logged in to post a comment.

[cache: storing page]