Map loading, tile sets, and the API for changing tiles at runtime are all complete. I halved heist::TEXELS_PER_METER from 96 to 48 in order to better match the scale of Monaco tiles at 1080p.
Although I will continue to add both cosmetic and utility functionality, all major functionality for OpenHeist is now present as the major parts of creating a data-driven, multiplayer game are now working.
The API changed remarkably little in the past 36 hours. Most of the changes that were required went into supporting the map, which was ill-specified in the initial API. Mike's idea of treating map cells as a grid of subclass-able objects to better support game-specific state was a very good one, but required a funky factory pattern and more obscure C++ syntax to implement. The codebase grew from 1200 to 1900 lines since the jam began.
As specified in the documentation, the development roadmap for the engine is now:
- Implement collisions with map
- Specify spawn points in the Mission
- Make player character creation follow the factory design pattern
- Implement map line of sight
- Specify overlay text in the Mission
- Implement GameApplet::drawTileShadow