Skip to content

wonkodv/bomberhans2

Repository files navigation

Bomberhans

GitHub Workflow Status More Badges GitHub release GitHub all releases GitHub commit activity GitHub repo file count GitHub code size in bytes GitHub watchers

screenshot

For a guided tour through the code see hitchhiker.md.

TODOS

  • Networking
  • Fit game field into Window
  • Game Modes:
    • Destroy other's start point to win
    • Eat schinken at center of field to win
    • Tombstones explode with Player's schinken
    • Tombstones give powerup's that the player lost when dying
    • Teleports explode All other TPs
    • Hans gets tired and needs schinken to run
    • Eat Schinken to lose
    • Explode Schinken to lose (set owner of subsequent bomb explosion to fire owner, so B can set a bomb in Rang of A's and a Schinken to win)

Client Server synchronization

Client actions, tagged with a timestamp, are sent to server and local simulation.

Servers broadcast client actions which are legal in the server simulation

Clients are ahead of server by roughly 1 RTT. (~ 5 updates / frames).

Clients run 2 simulations. The assumed and the verified. Actions are fed to the assumed, which is updated and drawn every tick.

When actions are received from the server, they are fed into the verified simulation. The verified simulation is then cloned and fed all newer user actions and the 5 updates. This produces the new assumed state, which will be rendered on the next frame