Development of the client and server is done offline using the acosgames simulator. This simulates the environment used on acos.games.
game-client for the frontend and authorative code in
game-server which is run through a virtual machine.
Our examples use React and NodeJS respectively, with other frontend frameworks possible.
How it works
game-client peforms an action from user input and the
game-server updates the state based on the action. The state is saved in the Game State which is a JSON object. The simulator will synchronize the JSON between all connected clients and persist the game state for the next action.
It is recommended that your server code be deterministic. Meaning the same sequence of actions should always return the same result! If you need to randomize, we provide a global function that is deterministic.
The simulator gives users these features:
- Adding fake players, which creates a game screen for each player.
- Players which are not joined to a game will automatically be in spectator mode.
- Scoreboard and timer to see players by team or score
- JSON Viewer which lets you scope the data to see from different perspectives. This lets you see which JSON the Server, Players, or Spectators are seeing.
- Replay controls to go back or forward on user or game actions.
- Game Settings management, to specify screen type, screen size, player counts, team counts, and team configuration.
Have a suggestion?
Talk to us on Discord