gameplate - v2.2.0
    Preparing search index...

    Function createGame

    • The simplest way to create a fully-wired game: typed store + game loop + keyboard + pointer, all hooked together. Returns a Game.

      Type Parameters

      Parameters

      Returns Game<S, A>

      import { createGame, defineActions } from 'gameplate';

      type State = { x: number; y: number; score: number };

      const actions = defineActions<State>()({
      moveBy: (s, dx: number, dy: number) => ({ ...s, x: s.x + dx, y: s.y + dy }),
      addScore: (s, points: number) => ({ ...s, score: s.score + points }),
      });

      const game = createGame({
      state: { x: 0, y: 0, score: 0 },
      actions,
      update: (state, dt, actions) => {
      if (game.keyboard.isDown('ArrowRight')) actions.moveBy(200 * dt, 0);
      if (game.keyboard.isDown('ArrowLeft')) actions.moveBy(-200 * dt, 0);
      },
      render: (state) => {
      // your renderer here
      },
      });

      game.start();