Phaser is the part that cannot be generated
Technology
A generative game still needs a game. Input, collision, gravity, and the render loop have correct answers, and a model is the wrong tool for producing any of them. Phaser is the 2D framework that does that half, in the browser, at frame rate.
In Living Canvas, the playable web game we built with Google for Google I/O 2025, it runs the drawing mechanics and the physics. Angular holds the interface and the application state around it.
Why
What Phaser is doing in an AI game
- Physics has to be a rule, not a guess
In Living Canvas an object's trait decides how it acts: gravity, magnetism, buoyancy, fire. Phaser applies those the same way every time. Hand that adjudication to a model and the puzzle stops being solvable, because the player can no longer reason about what will happen.
- The frame loop cannot wait for a model
Rendering runs on a fixed budget per frame. A generative call does not, and no amount of optimization changes that. So the two have to be independent of each other: the game keeps taking input and simulating while the art is still coming. That separation is most of the architecture.
- It is a game framework, not an app framework
Phaser stays inside the canvas. In Living Canvas, Angular manages the interface and the application state around it, and the two do not overlap. Reach for Phaser when you genuinely need a game loop and a physics body. For an animated interface, you do not.
