Done!
http://pixelists.com/bygr/This year I went for a squad-like turn based game. You control a bunch of primary colored primitive objects and need to negotiate landscapes and defeat all the colorless enemies.
As always, there's a bunch of stuff I thought/wanted to get done, but haven't - but it's playable (and likely broken/unbalanced horribly).
I started with a prototype of the landscape generator and a vague idea of some lovely low polygon art with characters doing interesting stuff in battle. It's all in JavaScript with three.js for WebGL, along with trusty old rot.js for rougeish utilities like pathfinding and tween.js for animation. The UI is a (shoddy) React component - but the bridge between the two is pretty patchy. The underlying 'engine' running the AI/animation/input handling needs some tidying up but I think it may get reused - I'm pleased with how some of the stuff fell out.
Stuff that went right:
- Very procedural - landscapes, spawn points and color schemes - and they generally look pretty good
- XP and upgrade paths - abilities unlock and your characters can be improved
- 'Finished' AI - usually they end up as a random walk, but there's a bit more subtlety this time
- Data driven engine - changing the enemies, AI or players is all done in one place
- Animation - flexible tweening system for behaviours/actions - but I didn't use it to its full potential
- Looks nice (well, I think it does)
Stuff I didn't get to:
- Status effects - increase/decrease stats temporarily
- Physical changes - move/place objects
- Spawning actions - create enemies from enemies
- Animation - wanted the simple shapes to have more character
- Obstacles - adding small, but strategic objects in the terrain
- Sound/music
- Cross browser support - currently busted in Firefox
Stuff to do better in 2017
- Don't leave game rules 'til day 6
- Actually test and tweak the gameplay some more
- Do more preparation on engine/UI toolkits beforehand