Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Impossible

Impossible is a small 2D platformer I made with my kids during Montreal's winter weekends. We used it as a shared level-design exercise: one child built a challenge in Tiled, the other tried to beat it, and then they swapped roles and raised the difficulty. That cycle gave the game its name.

What is in it

  • A playable retro-style platformer built with Phaser
  • Levels created with Tiled Map Editor, discovered automatically from assets/maps/
  • A level workflow designed for quick family experimentation
  • Live TMX reload while developing, so level edits appear in the running game
  • A local top-five leaderboard saved in the browser
  • Retro visuals and sound generated from the project's local assets and Web Audio

The level editor is Tiled Map Editor. Open the tileset at assets/ReferenceTileset.tsx, edit a map, and save it. The development server notifies the game about the change. This makes it easy to build a challenge, watch someone try it, and then revise the level.

Play it locally

Requirements: Node.js and npm.

npm install
npm run dev

Then open http://localhost:5173.

Useful commands:

npm run build    # create a production build
npm run preview  # preview that build locally

Controls

Action Keys
Move A / D or left / right arrows
Jump and double jump W, up arrow, or Space
Throw a star J or X
Mute audio M
Return to the menu Esc

The menu uses the up/down arrows or W/S, then Enter or Space to select a level. Completing a level shows its time and the browser-local leaderboard.

Making a level

Maps live in assets/maps/. The Vite configuration finds every .tmx file there and adds it to the game's menu automatically.

The parser supports orthogonal 32x32 maps with CSV-encoded tile layers. Recommended layer names are:

  • GroundVisual and Decor for visuals
  • Platforms for solid areas
  • Hazards for dangerous areas
  • Collectibles for stars
  • Entities for the player spawn and enemies
  • Exits for the level exit

Object types cover actors and gameplay markers, including player spawns, enemies, and exits. For the complete Tiled conventions, see src/systems/level-parser.js.

Project layout

src/
  scenes/      game screens and gameplay
  entities/    player and enemies
  systems/     TMX parsing and leaderboard logic
  config/      game, color, asset, and level configuration
  dev/         live level reload bridge
assets/
  maps/        playable Tiled levels
  reference_pack/ sprites and tileset assets

Status

This is a playful family prototype, not a polished commercial game. It is here because making something small, silly, and unexpectedly challenging with your kids is a pretty good way to spend a winter weekend.

About

A game made by kids for kids

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages