Author: 0xd3ac966f2c6eea11779407dcd674ef1ec76e6f07
Update Status: On Time
Project Health: On Track
Introduction
On the last month 2 main points have been reached:
- Multiplayer & Sprite game API is production ready
- Tournament web-app
Highlights
Tasks done on Game API & demo:
- Extended Multiplayer sprite game API.
- Implemented mini-game instructions screens and waiting logic.
- Track of played games in database.
- Provided endpoint of results per gameplay /api/played-games/:from, so that other
service like the tournament .web app can consume it a listen for played games. - Allow to change background on sprite screen.
- Fixed issues on game API sprite spawner.
- For sprite spawner, remove sprites out of screen.
- Loop of mini-games in a game track.
- API checkWinner function: to decide when and who is the winner in a minigame
- Mini-game transitions with global score addition.
- Fixes on server sprite screen.
- Fixed determinism issues.
- Memoize seed randomizer in game runner scope.
- Added shared screen game type (instead of split)
- Implement end of game track handling
- Refactor on game API mini-game definition
- Fixed waitFrames API function
- Added more mini-games: frog, difference, waitExample
- Added new tables to back-office admin tools
Tasks done on tournament web-app:
- Design and specs
- Database ORM schema using prisma
- Express server
- API endpoints
- Frontend with React & Redux
Blockers
Nothing to raise
Next steps
- Work on integrations as a component to scene and other games.
- Prepare Events.
- Dockerize server apps.
- Continue improving and extending the Game API.
Additional notes and links
We can check the current project state here: GitHub - sammich-dev/sammich-systems
You can see examples of use of the game API here: https://github.com/sammich-dev/sammich-systems/tree/main/games
We can realize the code on the game logic is SDK7 agnostic, so it doesn’t matter too much if SDK changes, also it can be easily ported to other platforms as the DAO desires. Also we don’t need to care about networking, we just need to write game logic as a simple game and everything works.