Codecademy's fancy schmancy 404 page.

Usage no npm install needed!

<script type="module">
  import 0phaser from 'https://cdn.skypack.dev/40phaser';



Code Style: Prettier Circle CI NPM version Powered by Phaser

Codecademy's fancy schmancy 404 page.


Install the 40phaser package on npm:

npm i 40phaser

Because this package requires image assets, you'll need to use a bundler like webpack or rollup to compile the script you use on your site. An example of this setup using rollup is included in this repo and used for local development.

In a webpage that already has Phaser available under window.Phaser, import and call the launch40Phaser function to start the game:

import { launch40Phaser } from "40phaser";

window.onload = () => {

Alternately, if Phaser isn't available globally, you may pass it to the game as phaser:

import { launch40Phaser } from "40phaser";
import phaser from "phaser";

window.onload = () => {
    launch40Phaser({ phaser });


An on object may be provided to the launch40Phaser object with functions under end, game, and start -- corresponding to those three Phaser scenes in the game.

    on: {
        game: action => console.log('[game]', action),   


  • on.end("build-your-own"): User navigates to the the Learn Phaser course
  • on.end("game"): User restarts the game


  • on.game("death"): User dies by falling through the floor
  • on.game("jump"): User requests to jump
  • on.game("pause"): User unpauses
  • on.game("unpause"): User pauses


  • on.start("build-your-own"): User navigates to the Learn Phaser course
  • on.start("contribute"): User navigates to the GitHub repository
  • on.start("game"): User starts the game


See Development.md! ✨

Contribution Guidelines

We'd love to have you contribute! Check the issue tracker for issues labeled Accepting PRs to find bug fixes and feature requests the community can work on. If this is your first time working with this code, the Good First issue label indicates good introductory issues.

Please note that this project is released with a Contributor Covenant. By participating in this project you agree to abide by its terms. See CODE_OF_CONDUCT.md.