./ npicomx#
An npmx-inspired game for PICO-8 - guide a butterfly to rescue npm packages from dependency hell, right in your browser.
Roadmap#
- Splash & Menu
- Hazards & Decor
- Level 1
- Level 2
- Level 3
- Level 4
- Cloud Level
- Credits
- Sfx & Chiptunes
- Timed Mode and Difficulties
- Control Hints
- Unlockables
- Progressive Web App, CRT, Keyboard hints, info, audio, and mobile controls
- Storyline & Tutorial
- Alpha Testing
Project Structure#
├── src/ PICO-8 Lua source modules
├── npicomx.p8 built, minified cart
├── npicomx.js PICO-8 web export (Emscripten)
├── index.html web player
├── crt.js CRT shader overlay
├── sw.js service worker (PWA offline)
├── manifest.webmanifest
├── vendor/ third-party code (CRT shader)
├── assets/ package name data files
├── favicons/ app icons
└── fonts/ PICO-8 bitmap font
src/#
| File | Purpose |
|---|---|
cart.p8 |
master cart - sprites, map, sound, music |
art.lua |
sprite constants |
cloud.lua |
sky and cloud backgrounds |
core.lua |
game loop, init |
data.lua |
package name lists |
decor.lua |
decorative scene elements |
hazards.lua |
hazard objects |
hud.lua |
heads-up display |
level.lua |
level generation |
menu.lua |
menus |
packages.lua |
package pickup objects |
physics.lua |
movement and collision |
play.lua |
main gameplay loop |
util.lua |
shared utilities |
win.lua |
win screen |
Attribution#
npicomx made by vinnymac
Special thanks to:
- PICO-8 by zep
- webgl-crt-shader by gingerbeardman
- npmx team
- maddy thorson & noel berry for inspiration from celeste classic
Storyline (wip)#
if I can save some tokens, I may be able to fit a storyline intro into the game. Although we would want to provide the ability to skip it if we did. Below is my work in progress dialog.
Long ago, in the Tree of Dependencies, hundreds of happy packages worked together to build wonderful applications for hu-mans.
One day, a great version storm opened a crack beneath the tree, and many packages fell into Dependency Hell.
Far below, they became trapped in twisting paths of broken imports, bloated installs, and endless conflicts.
Some packages survived unchanged.
Others became corrupted by the darkness and could no longer be saved.
The wise blue butterfly Azul heard the packages’ cries for help.
She flew to the gates of Hell and called upon npmx.dev, a magical registry browser that could safely travel where ordinary npm could not.
Together, Azul and npmx.dev discovered a way to rescue lost packages from Hell, one at a time...