A couple of weeks ago, after a multi-year build up and a bunch of beta testing the founders of Starfighter, Patrick McKenzie, Erin Ptacek, and Thomas Ptacek, released their long awaited game/hiring challenge Stockfighter. It was so popular that the team spent the next 3 days firefighting and the game was unavailable for most of it until things started to stabilize (unforgivable for someone the size of EA, but forgivable for a free game from a plucky upstart). Whilst there were obviously small kinks that hadn’t been found in the beta testing, the main reason the game collapsed was simple. It’s so, so darn good, and very addictive.
The aim of Stockfighter is simple: You are a humble developer building an automated trading system capable of making your firm a fortune on the stock exchange. The game is designed with multiple levels (so far all the levels are part of “chapter 1,” with later chapters to follow), to ease you in and help teach the concepts. All of the APIs are REST based, so you can complete the levels in whatever language or tool you want. Some people have apparently managed to manually complete levels using their iPhone although this is a tactic unlikely to work past the first couple of levels.
The purpose of the game isn’t to teach about the stockmarket; Patrick McKenzie openly admits he had no background in the field and had to learn as he went along. It uses REST which is far too slow for real world trading, and the game clock is deliberately accelerated. Instead, the game is about challenging programmers to come up with creative and innovative solutions to the levels in whatever their language of choice is. As the levels progress the game becomes harder; not just because the challenges are more difficult (although they are), but your rival trader bots become more advanced, and even start to cheat just like in real life.
If you’re a programmer and you love a challenge, this is for you. Some people will come back to it here and there as an opportunity to stretch their mental muscles, or maybe try out a new language or framework. Some will devour the whole thing quickly like a Netflix box set. Either way, you’ll be entertained. The game is specifically designed so that it can be pick up and put down at leisure. The game also has a great dry humour to it which makes the whole affair more entertaining. This is not just programming, it's a proper, full game with a storyline.
The API is concise and exceptionally well documented using readme.io (see for yourself at https://starfighter.readme.io/v1.0/docs) and there are active forums available for anyone needing help or wanting to discuss. The team envisage that the community will begin building open source libraries that can be shared, which is indeed starting to happen. The UI is clean and clear, and you can be executing your first trade in less than a minute just using curl.
If you’re wondering what the end goal is, then there are two depending on your position. If you want to play for fun then the end goal is simply satisfaction. The game will never cost a penny to play. However, if you’re open to new job opportunities then the game is being used to find great programming talent and hook them up with firms who are hiring. Stripe, Twilio, Spotify and Pebble are just a few of the names that are signed up at launch. If you opt in to be public, and can impress with your automated trading skills, you open up the opportunity to landing a new job as well as having fun.
If you’ve read this far and think “Pff, REST is too high level for me” then there is a second “stream” in the game which is done in low level C and AVR assembly. Here you take control of a trading tablet which you can reprogram and hack away on. If you’re into your low level dev then this is for you.
Either way, if you’ve got a spare half an hour to kill then head over to the Stockfighter homepage and sign up. You might find yourself with a new hobby for the weekend.