Constraints, Chunking, and Confidence

Over the weekend, I learned a new tech, and wrote a simple game that runs in a web browser.

I used cocos2d-x.  In the past, I had done plenty of cocos2d-iphone/swift which has some API similarities.  However, with cocos2d-x you code in c++/javascript/lua  instead of an iOS native language.  The big benefit is that you can then deploy to the  web, iPhone, or Android.

My inspiration [for the game] was drawing mazes on graph paper as a kid.

Play it here with Google Chrome:
http://www.mattorb.com/ld48/index.html

Be sure to click the mouse inside the window to give the game access to the keyboard.

I got together with some folks locally (each making seperate games) to make the game within a 48-hour time constraint for 'Ludum Dare'.   When you have a hard stop like that, you have to make all kinds of compromises to get something done, working, and playable.  Several people that initially showed up seemed to drop out or dissappear throughout the weekend.   Why?

I find it fascinating that even within a highly constrained timeframe, even with just one person building the software, the challenges of a 48-hour game jam can have some similarities to challenges on larger projects:

  • Scoping work to something bold, but achievable (Getting that right mix of motivation, vision, estimation, and being realistic)
  • Adapting and reacting to new information  (Treating direct and indirect feedback with the right level urgency)
  • Slicing work into sensible, achievable chunks (which build upon each other in a risk reducing way)

In addition to writing clean code, and building things 'right', as developers we should all be striving to get good at  things which improve both our own confidence and the confidence of the people we're building software for.  There is nothing better for confidence than to deliver something you're proud of while delivering value the user needs, on time.

I have only ever worked for one company that 'tested' for these skills (which require a mix of intuition and experience) when interviewing developer candidates.  Guess what?  They found some of the very best developers I've ever worked with.