ENIGMA

The Celestial Atlas once mapped everything — every garden, every swamp, every deep place. Then it shattered. Now the worlds are forgetting their shape.

Maevea woke up in the Golden Garden with no memory of arriving. Beside her was Sable — a dark moon moth who knows exactly which way to go.

She doesn't know why she's here. She doesn't know who scattered the Atlas. She only knows that Sable glows faintly near certain places, and that when she follows the glow, she finds fragments of something ancient. A map, maybe. Of somewhere.

Guide Maevea through the initial level, collecting fragments of the shattered Atlas while navigating patrol enemies, environmental hazards, and the secrets Sable won't say out loud.



Companion System

Sable isn't just following you. Collect enough coins and you can convert them into Companion Energy — charging Sable up to operate independently. Press TAB to switch control directly to Sable, explore areas Maevea can't reach alone, and retrieve map fragments hidden off the main path.

The worlds are falling apart. You'll need both of them to hold it together.



Controls

← → / A D — Move
Space / W / ↑ — Jump
Z — Attack  |  X — Kick
TAB — Switch to Sable (when Companion Energy is charged)



About This Project

Enigma is a browser-based 2D side-scrolling platformer. It is a student game project built from scratch in Phaser.js.
Guide Maevea — a pink-haired wanderer — and her moon moth companion Sable through the Golden Garden, collecting fragments of the shattered Celestial Atlas while navigating enemies and hazards.

Built with: Phaser.js· Plain JavaScript (ES Modules) · HTML/CSS
Deployed via: GitHub Pages · itch.io
Program: Interactive Design & Technology · Saskatchewan Polytechnic · 2026



Credits & Asset References

Browser-based 2D platformer · Built with Phaser.js 
Visual Assets
Kenney — New Platformer Pack v1.1

Used for: Tile terrain, platforms, collectibles (coins, gems, keys), HUD icons, hazards, doors, ladders, blocks, backgrounds, enemy sprites, decorative tiles

Creator: Kenney (kenney.nl)
Version: 1.1 (Fixed hair and spritesheets)
Files: 440 assets
Category: 2D · Platformer
License: Creative Commons CC0 1.0 Universal (Public Domain)
License URL: https://creativecommons.org/publicdomain/zero/1.0/
Asset URL: https://kenney.nl/assets/new-platformer-pack
Notes: CC0 — no attribution required. Free for personal, educational, and commercial use.

Specific assets used from this pack:

  • character_femaleAdventurer_sheet.png — Maevea player spritesheet (96×128px, 45 frames)
  • character_purple_* — Sable companion sprites (128×128px)
  • terrain_purple_*, terrain_grass_*, terrain_dirt_* — level terrain tiles (64×64px)
  • coin_gold, gem_*, key_* — collectibles
  • hud_heart, hud_heart_empty, hud_heart_half — HUD life display
  • frog, frog_leap, frog_hit, frog_dead — Frog enemy sprites
  • block_coin_active, block_exclamation_active, etc. — interactive blocks
  • background_color_hills, background_fade_trees, etc. — parallax backgrounds
  • All SFX from Sounds/ subfolder (see Sound Effects section below)
Kenney — Toon Characters

Used for: Companion character sprite reference and additional character poses

Creator: Kenney (kenney.nl)
Version: 1.0
Files: 270 assets
Category: 2D · Character · Poses
License: Creative Commons CC0 1.0 Universal (Public Domain)
License URL: https://creativecommons.org/publicdomain/zero/1.0/
Asset URL: https://kenney.nl/assets/toon-characters
Notes: CC0 — no attribution required. Free for personal, educational, and commercial use.


Sound Effects
Kenney — New Platformer Pack v1.1 (SFX)

Used for: In-game sound effects (jump, collect, hit, death, block hit, etc.)

Creator: Kenney (kenney.nl)
License: Creative Commons CC0 1.0 Universal (Public Domain)
License URL: https://creativecommons.org/publicdomain/zero/1.0/
Asset URL: https://kenney.nl/assets/new-platformer-pack
Subfolder: kenney_new-platformer-pack-1.1 / Sounds /
Notes: CC0 — no attribution required. Free for all use.


Background Music
⚠️ License status: The tracks below are used under pending permission from the artists. Both are commercially released works. Permission requests have been sent. If permission is not confirmed, tracks will be replaced with CC-licensed alternatives before public release.
In-Game Level Music

"Bitwave" by MidniteTunes
(Track 1 from "8-bit Nostalgia & Retro Game Tunes")

Artist: MidniteTunes
Track: Bitwave (first track, 0:00)
Source: https://www.youtube.com/watch?v=hbXXLS7fUFk
Channel: https://www.youtube.com/@MidniteTunes
License: All rights reserved — permission requested
Used in: GameScene · level background loop

Title Screen & Narrative Music

"when it rains" by Medda

Artist: Medda
Track: when it rains (2022)
SoundCloud: https://soundcloud.com/imedda/when-it-rains
Spotify: https://open.spotify.com/track/7rGBXxC9E6eg10gK9LXvEt
Contact: officialmedda@gmail.com
License: All rights reserved — permission requested
Used in: TitleScene · narrative/intro screen background


Game Engine & Libraries

Phaser.js 

Name: Phaser.js
Website: https://phaser.io
License: MIT License
License URL: https://github.com/phaserjs/phaser/blob/master/LICENSE


Fonts

Press Start 2P

Designer: CodeMan38
Source: https://fonts.google.com/specimen/Press+Start+2P
CDN: https://fonts.googleapis.com/css2?family=Press+Start+2P
License: SIL Open Font License 1.1 (OFL)
License URL: https://openfontlicense.org
Used in: All in-game UI, HUD, title, popups, debug overlay


Hosting & Deployment

GitHub Pages: https://melyha.github.io/PROJ-202-Interactive-Media-Project/ — Primary play link
itch.io: https://melyha.itch.io/enigma — Secondary host


All Kenney assets are CC0 — public domain. No attribution required, but credited with gratitude.
Music attribution and permission status to be updated prior to public release.

Development log

Leave a comment

Log in with itch.io to leave a comment.