an npmx inspired game for PICO-8 npicomx.vinnymac.dev
games pico-8 adventure npmx
3

Configure Feed

Select the types of activity you want to include in your feed.

Lua 60.9%
HTML 24.8%
JavaScript 11.3%
Makefile 2.5%
Other 0.5%
10 1 0

Clone this repository

https://tangled.org/vinnymac.dev/npicomx https://tangled.org/did:plc:jtdmu74mwoeexx65ykclgwwe
git@knot.vinnymac.dev:vinnymac.dev/npicomx git@knot.vinnymac.dev:did:plc:jtdmu74mwoeexx65ykclgwwe

For self-hosted knots, clone URLs may differ based on your setup.



README.md

./ 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:

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...