Let’s start off the series with a quick summary of how the project got to this point. (Since there’s a lot to catch up on this will probably be the longest TLAA update ever.) The seeds of Double Dynamo are years old, but the real story starts at the beginning of this year:
- January. I leave my job at a large San Francisco games studio to work on a solo project. At this point I am 90% confident that I want to build a variant of Dual N-Back, which is attractive because
- The project is simple enough to complete in under a year
- DNB has been shown in some recent studies to improve working memory capacity, so the project has the potential to help people
- Existing DNB implementations are not fun. I know how to make it fun.
- Late January – Mid February. I research game frameworks and technologies and implement simple prototypes in a couple of candidate frameworks, eventually choosing Cocos2d-x.
- February 6. Start using a JSON config file. This turns out to be extremely helpful for separating code from configuration.
- Early – Mid February. Figuring out how to draw the game’s Symbols.
- Late February. The toll of the month’s work finally catches up to me. (From my notes on Feb 27: “I guess I took a break” — the previous checkin was Feb 18.)
- Starting Late February. Feedback from my earliest testers starts a long iterative cycle that resolves some fundamental confusions in the game’s design and presentation. I am lucky to have gotten good feedback at such an early stage of development.
- Early March. Support for multiple screen resolutions and aspect ratios.
- March 15. Add some utility functions to align CCNode objects. I still use these all the time and probably will continue to do so until I build a UI builder inspired by Bret Victor’s ideas.
- March 18. Support dynamic color palettes.
- Early April. Initial attempts at a formula for level difficulty.
- April 7 – 8. Use a windowshade effect to limit symbol visibility rather than zooming.
- April 9 – 15. Dynamic starburst background (this took longer than it should have).
- April 15. Design a new user-flow for levels, with star ratings.
- April 19. From notes: “playing with go stones”
- Late April. Lots of experimentation with textures.
- April 30 – May 1. Design versioning scheme for persistent user data. (Still planning a technical post on this!)
- Starting May. Lots of UI work.
- Mockups in Inkscape
- Horizontal and Vertical layouts for CCLayer
- Early May.
- Start working with Mike Pettry on sound.
- Somehow come up with the name “Double Dynamo”
- May 13. The official announcement on the blog.
- May 15. Institute a checklist for updating the persistent user data schema.
- May 22 – 23. Drawing performance optimizations: the low-hanging fruit.
- Late May. Spend some time considering a continuous or adaptive play mode, plus continue to improve difficulty formula.
- June 13 – 26. Background music integration with beat syncing.
- Starting Late June. Add sound effects.
- Late June – Early July. Research fonts. Play with textures. Clean up visual style leaving only the bare necessities (end up removing all textures except for the go-stone Symbols).
- July 10. Use Glyph Designer to render fonts to bitmap.
- July 11 – 16. Add settings page and support for other pages linked from the home screen (credits, stats, etc.)
- July 17. Start To Launch An App series.
Next up I’ll be working on a brief in-game tutorial. I’ve done some thinking about how it should behave and in the last few years I’ve implemented tutorial systems for 3 or 4 games, so I know what’s involved. I expect to have a working tutorial some time Tuesday or Wednesday of next week.
After that, I’ll be working with the Facebook SDK so that DD players can brag to their friends about their robust working memory capabilities.
And that’s all for now. See you next time!
Like Double Dynamo? Sign up for the mailing list to hear the latest about the launch!