I had dabbled in WebGL a little while ago and recently I’ve been getting into Lua+löve2d to make some 2D games. Game programming holds a place in my heart as it packs numerous concepts that make programming fun: creativity, problem solving, instant feedback, math, physics, constant learning, rapid iteration, the list goes on. My end goal is to participate in Ludum Dare (the Jam first perhaps, and then the Solo competition).
There’s quite a bit of learning to go around though,
- Concrete understanding of basic trigonometry
- Concrete understanding of vector math and basic physics (velocity, acceleration)
- Create crib sheet for basic math/physics operations
- Learn a lot about colour (for a start)
- Learn and practice pixel art (quick Google search reveals some excellent resources here, here, here and here)
- Learn about noise and procedural generation
- Learn some basics of probability and statistics
- Read/reverse engineer a unique lua/löve2d codebase each week – pick up some geometry/colour/math tricks
- Read this awesome series of articles on the 2D physics behind Sonic
- Read and keep up to date with löve2d repo tip
- Play with sound effects
- Play other games made in löve2d and/or for Ludum Dare and similar purposes
And above all else: practice, implement, prototype, practice, implement, prototype, practice, implement, prototype.