Amazon.com Widgets Dev Diary 37: The Road to PAX – Part 2
Yac on May 19th, 2009

This is the second “catch-up” diary discussing the development of the PAX demo. The first can be found here.

One of the most challenging aspects of getting the demo ready was obtaining the demo art assets. I work alone, and I am constrained by what I can spend on artwork. I didn’t want to commission paid-for work just for this demo so my options were limited. I turned to friends for assistance in the art and audio areas.

My art needs were mostly addressed by a talented friend who must remain anonymous for the time being. But he knows who he is. He went out of his way to help on multiple occasions. I could not have gotten the demo done without him. He also showed me the ropes on Photoshop so that I could learn to tweak individual assets on my own.pax10_part2

My audio support unfortunately fell through as the deadline approached forcing me to scramble to find an alternative. Unbeknownst to me, it turns out that the missus is actually a decent pianist and composer. She crafted a simple but surprisingly good track for the demo level.  And for sound effects, well, it turns out that for certain sounds, it’s pretty easy to simply create them yourselves. Also, sfxr can be a lifesaver.

Big thanks of course to everyone who helped me test or offered feedback: Dave, Tom, Paul, J., Rudolf (of Dyson fame), Andy, Sascha, and my brother K for staying up to all hours to help me test the last few niggling bugs.

Work Done Two Weeks Ago

This was the big crunch to the PAX demo, and I added or improved a bunch of areas. I added basic animation support. I improved (and simplified) the scoring system, improved the Help system, and the audio support.

I fixed a long standing issue with the jump system. Previously, the player could jump off any static surface, which meant they could easily reach any point in the level, or “stick” to ceilings by jumping against them. Now I’ve refined the surface detection to limit these surfaces, and also allow the player to jump off dynamic objects (prior to this, you couldn’t jump from a stack of rocks piled on the ground). This functionality may seem straightforward – it usually is – but it was complicated due to the continuously changing shape of the avatar.

I added a lot of polish, improving the load screen, the pause screen, the player controls.

Most importantly, I designed the demo level, white-boxed it using simple physics shapes, and textured it up completely. I also added all the goals, help trigger areas and resources.

What followed then was an endless cycle of testing, iterating and improving.

I also encountered a ridiculous issue with Windows and the recognition of the Xbox 360 controller. I’ve been using SDL for my gamepad handling, but there doesn’t seem to be standard button mapping. Hoping to limit variability, I’ve made the 360 controller the only officially supported one. Of course, that wasn’t enough. Depending on which service pack you have installed on XP, whether you’re using Vista, or whether you’ve installed the Xbox 360 drivers, the controller will be reported with various different labels. It was first confusing, then frustrating when each tester came back with similar complaints of the button mapping not matching up correctly.

I got this under control at the end, but I need to find a more effective way of addressing this.

I also added a ton of homemade sound effects, captured using my laptop, audacity and my Rock Band microphone. It worked surprisingly well. The music was captured the same way off the electronic piano in our living room. I’m happy with how it came to be quite honest. I expected a lot more “noise”, but instead, I didn’t even have to apply a filter. That’s a ringing endorsement for the Rock Band mic in my opinion.

Related posts:

  1. Dev Diary 35: Slight Reprieve
  2. Dev Diary 36: The Road to PAX – Part 1
  3. Dev Diary 33: Keeping it Simple
  4. Dev Diary 34: Crunch Time?

Leave a Reply

You will be able to edit your comment after submitting.