Nuklear Klone

0
0
Published 2023-06-12


Suzie and Bob are trapped in a merciless world. Can you fight your way out?

Gameplay Elements

Controls


Keyboard:

Mouse (selected in option menu):

Note: any resemblance with a famous Vlambeer game must be purely accidental...

Changelog


1.2:

1.1:

1.0:

Dev Log


2nd finished game (last was Thunderblade). Took 4 months to complete & refine.
Un-minified source available on Github:
freds72/pico8/carts/nuke.p8

Tech Highlights
JSon Rules!
All entities (actors, weapons, particles, levels) defined using json (worth 3500 tokens!). A lightweight parser (450 tokens) converts strings into lua tables.

Entities are created using a parent template with support for:

Rotating Sprites
Player weapon (and couple of other sprites) are rotated in real-time using an optimized sprite routine. It is fast enough to allow ~10+ sprites on screen (before tanking FPS!)

Performance
An actor map is maintained each frame. It allows immediate bullet/actors lookup.
Only player/npc collisions are checked to ensure player cannot zip through enemies.

A-* path is refreshed for a single npc per frame. It ensures a large number of npc’s can be created without too much cpu stress.

Sprites are added to buckets matching their y pixel coordinate.
Saves both cpu and tokens as no global sort is required :]

Toolchain
Cart is minified using picotool (19k compressed). All json attributes are replaced by their short equivalent using output from minification script:
cat nuke.p8 | minify | replace > nuke_mini.p8

Missing In Action:

Credits

Multiple biomes