Log In  


Cart #50452 | 2018-03-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
147

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

147


Damn, this is awesome! I had a lot of fun figuring out strategies and whatnot, and finally beating 1-4 (I've never played the original).


I hate to sound like an idiot, but I can't figure out how the controls work.


Added a controls section :)


Ah! I was wondering why the mouse wasn't working, even though it appeared to be in the gif. Thanks!


Okay, now that I can play properly, I must say: fantastic game. :)

I did notice mobs getting stuck on walls at times. You might have an off-by-one issue in your a* implementation.


I’ll probably start another thread on the a-* bug. Seems to be linked with rounding issues (I have a standalone repro sample).


wow! Nuclear Throne is one of my favorite games. What a trip to find an homage of it here. Great job capturing the style of the original in such a tiny package


Tks - How far did you go?


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


1

Something like 4 months, about 1h/day (a good deal of it during commute time).


Now that's making great use of otherwise-wasted time.


Very nice. Great use of commute time there.


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!


maybe don't spawn me inside the enemy? that would be nice.


@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!


Wow, now this one is epic! Very nice work!


Old news by now, but thanks - how far did you go?


This game is awesome. I love the simplistic shooter style.
@freds72: I think it would be good however to include a weapon you can use without needing ammo (like a knife) so that you don't die when u run out :\
Maybe its part of the game tho. oh well.


like make it a truly balanced game?
nah!
seriously - the game is ‘difficult’ to change, but you are right


How do you make the script that makes the gun look at the mouse?


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


Is that a DooM reference I see on level 4? Don't know if it actually is.


red exploding monsters? no - more a try to have enemies with a different attack mode than just firing
more Serious Sam in a way!


umm how do I download this, im new to this website.


1

I am hoping for updates, it is cool


1

characters and bosses would be cool


3

Cart #buttonfix-0 | 2021-11-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

this allows esdf controls


ah thank you


1

aw! nice - I have that in my backlog, cool to see such mini mod!


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


game is at 8192 tokens and 100% compression limit.
so unfortunately unless I go over a massive refactoring, little chance to add new features (will still see if some recent pico changes could help…)


even with picotool?
wow


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


do you have the unshrunk code?


link to source code under Dev Log section.


cool



[Please log in to post a comment]