![]() 123 ![]() ![]() |
Suzie and Bob are trapped in a merciless world. Can you fight your way out?
Gameplay Elements
- Random maps
-
Multiple biomes
- Multiple enemies
- Multiple weapons (but one at a time!)
- Loop-based difficulty
- Supports keyboard/mouse
Controls
Keyboard:
- arrow keys: move & gun direction
- bttn 1: fire & lock direction
- bttn 2: pick up weapon
Mouse (selected in option menu):
- arrow keys: move
- mouse: gun direction
- left click: fire
- right click: pick up weapon
Note: any resemblance with a famous Vlambeer game must be purely accidental...
Changelog
1.2:
- fixed: woobly sprites
- fixed: actors stuck on corners
- fixed: warp in/out effect
- changed: impact feedback
- changed: health upgrade on loop
1.1:
- fixed: unexpected god mode
- fixed: boss hp
- fixed: boss attack
- changed: tweaked game speed
- change:balanced high level gameplay (loop)
1.0:
- preview version
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:
- lua references
- random values
- method & attributes override
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:
- RPG aspects (upgrades/xp/abilities...)
- Good music (for total lack of musical skills!!)
- Scoreboard
Credits
- Tyler Neylon: lua JSON parser
- James Coonradt ( @gamax92): midi2pico
- Jakub Wasilewski ( @krajzeg): Lighting by hand: the thin dark line serie
- Dan Sanderson: picotool minify
- collide sample by @zep
- Vlambeer


This is very nice. How long did this take to make?


This is one of the best Pico 8 game I've played. I really love the gameplay, and the music is nice too.
There is just a tiny problem, in the snow biome, the ammo counter is almost invisible when it's over the snow. But I guess you would just have to add a border to the text, so it's not a big deal. And another thing is that when you don't have any ammo left, all you can do is die, there's no other option.
But it's still an awesome game!


@ZOSK: be out of ammo is actually part of the game tension :)
As for the counter, I know, howerver I am completely out of tokens/compression space on that game :/
@binarycat: it can happen, however you have something like 2s of invicibility when level starts. Make good use of it!


Sometimes at the beginning of the game, I spawn near a lot of enemies. Maybe add a difficulty option, make your health bar 13, make it so when you get the health box, you gain 5 health, and make the levels have fewer enemies depending on the difficulty. It's still a great game btw :D


really hoping for mutations
(also, i would really love to see char choices)
I could design the gimmics if you want


it would also be nice if there were chests for ammo, (rads) and guns
also, a 5 ammo type system would be great, you wouldn't have to count ammo for each gun, just the player's ammo
[Please log in to post a comment]