Pointing

Pointing is a basic example where you are dropped straight into an instance with everyone else and all you do is see each other's cursor positions moving around in realtime. It is the smallest possible Gamehoster game: no matchmaking and no turns, just one shared piece of live state.

Move to point · click to drop a dot. Open this page in more windows to see other cursors live.
Live demo against game.gamehoster.org/pointing. Open more windows to see other cursors. You can also run it locally (docker compose up --build in src/testing) at http://localhost:8080/examples/pointing/. If it says “connecting…”, the game server isn’t reachable.

Code

The whole game is a folder of files. Here is Pointing's definition, grouped the way this example's tabs are. Each file links to the tab that shows it in full:

pointing/
  gamehoster-game.json
  gamehoster-player/
    gamehoster-player-join-schema.json
    gamehoster-player-schema.json
    gamehoster-player-join.js
    gamehoster-player-leave.js
  gamehoster-instance/
    gamehoster-instance-schema.json
  gamehoster-commands/
    point/
      gamehoster-command-schema.json
      gamehoster-command.json
      gamehoster-command-handler.js
    click/
      gamehoster-command-schema.json
      gamehoster-command.json
      gamehoster-command-handler.js
  gamehoster-entities/
    dot/
      gamehoster-entity-schema.json
Pointing's definition files. The Game, Player, Instance, Commands and Entities tabs show each in full, and the Frontend tab shows the browser code that runs it.