You awake from slumber only to be faced with an fleshy horror looking to add you to their mass. Get out by releasing trapped comrades. But don't dally! Time is not on your side!

This is part of Furry Game Jam #0, with a theme of "escape". To keep up with the furry theme, I've made each unit have abilities in keeping with their real animal selves. For example, cheetahs are very fast, but not the best in a sustained fight. Wolves aren't as fast, but hit harder and have better endurance. Porcupines don't really shoot quills IRL but hey, playing into the stereotype :) There are 8 different species to join your motley crew to Escape from Lab Zero! 

Originally I had biomes that would give bonuses and downsides for specific species, e.g. snow leopards would have added speed in the cold while slow down in the heat. No time, sadly.

My first time out with Pico8/Lua and I've learnt alot! Hope to clean up my "state machine" code next game jam, because that ain't a state machine lol.

Thanks for playing!


Update 30th Nov 2024 v1.01:

  • Fixed bug in Cheetah logic, it is now a powerhouse glass cannon, exactly as I designed it :)
  • Changed sprite colour of wolf to make make it stand out vs porcupine.
  • Tweaked units to better match power level of cheetah

------ Spoilers/Dev Notes ahead ------

  • Game was inspired by Archon: The Light and the Dark and Ultima 5
  • Some things I wish I had time to include in the jam:
  • Each unit has a special ability. Right now only the cheetah's (Dodge chance) and snake's (Devour low hp enemies) are implemented.
  • Biomes. Originally I wanted the player to choose one of two paths through the lab, some paths will be hotter or colder, and that will affect how units behave. Alternatively, it would simply be regions on the battlefield itself that have different effects.
  • Alot of the unit choices are are made every 30 frames or so (there is an offset so this calculation is spread out). This was an unwarranted optimization as the combat has no hickups. Blargh.
  • My first time out with Lua and I didn't really understand the syntax + idiosyncrasies of how to create functions in tables, which is why my "state machine" is just a gigantic if/else mess. It was on the last day or so I finally "got it" but I decided against refactoring. 
  • The game uses a lot of co-routines and one issue with using them is error reporting. If there is a run-time error, there is no feedback the game appears to hang. For me, it happened with a) while loop that could not terminate, b) arithmetic operation on a nil object. printh to the terminal saved my bacon here!
  • co-routines are lovely! Now that I understand how they work I can't wait to use them in future games.
  • lua's shallow/deep copy of different variable types took me awhile to get used to.
  • Not a fan of the lua default colour palette, I need to see if I can change it to something more my liking.
  • Need to check out how other devs make their graphics, over 50% of my cart space was dedicated to just the intro graphics/text. I even had to write an exporter in houdini to load a png from aseprite and then export a psuedo rle compressed string for lua to use. This caused issues as I ran out of character space lol.  Had to combine print statements, removed comments, threw out one of the intro backgrounds...
  • Enemy spawning is a very interesting topic. Right now it's just cost based, and each level cleared increases the enemy budget. Super simple. I wanted to implement something like what Deep Rock Galactic uses for their spawning mechanic, pulling sets of enemies from different groups. E.g. common enemies, special enemies, disruptive enemies and there are cost limits to each group. Unlike what I have now, its possible to for the rng to spawn like... 5 spitters and the player will have a very bad day due to their aoe attacks. But... time :/

7th Dec 2024:
Been thinking on and off about enemy spawns. In this game, every turn increases budget of enemy units, and a RNG choose which units to buy from that budget. Thinking ahead for future games, I want to make something closer to DRG's spawn system, so maybe say, there are 3 enemy pools. Light, Medium and Heavy units. Each of them get assigned a portion of the budget e.g. Light 50%, Medium 30%, Heavy 20% Maybe for more variety, each combat round could get different budgets assigned for each group.

Then use the budget to buy units in that pool. ATM its possible for the rng to use that budget to buy multiple bosses at once, or multiple ranged AOE units (the ranged AOE units I had to debuff alot!) which will easily kill a run.

In addition, I was also thinking likewise on the player's side. Right now the 3 available units to choose after combat are rng chosen. Which can suck if you get given the anaconda or rhino options, you're not getting those in early game. I did however, setup 3 groups: Base units will always have enough time to resucue (snep, wolf, porcupine). Then the next tier up (axolotl, cheetah, tamarin) are units with special abilities cost a bit more, but are very accessible after a turn or two. The heavy hitters (snake/rhino cost alot more but they bring alot to the table).

I propose that for the player side, each pod choice draws from each group. That needs testing though, as I have concerns it could lead to stagnant gameplay. But it would remove a fair bit of the RNG element and allow players to build specific teams. Anyways... back to game dev.

Comments

Log in with itch.io to leave a comment.

Interesting implementation of game mechanics, though I didn't make it to the end; was stuck at with 4 rooms left before being overwhelmed. Nice work!

Thanks for playing! The rng is definitely far too harsh. Wish I had time to implement something that was fairer. One day!

For a pico 8 project this has done a lot!! really rad!

Many thanks :3

Really like the premise of this game! Having to manage ressources with gathering more companions with different abilities has great replay value!

Though it's very hard, sometimes teh units just don't do what you want and thus I couldn't finish it even after the 5th attempt 

Thank you :3 I had lots of more ideas but did not have the time to include (game jam time limit).

Did you try it with the boost enabled?

Ey yes same, we also had more graphics and features that couldn't be implemented in time...

Yes I had the boost enabled. I think it gave me more starting time bot not more during the gameplay? <v<
 My last run ended in the last room though so it was a close call!

We did what we could :3

Yee that's right! Just a bump at start! The rng can be pretty hard though. Balancing the difficulty is something I still have not figured out XD

Yes I figured lots of it is up to chance, but that also makes it very endearing :3

 Would love to see this concept being developed further, therefore I followed your page! ^v^

Ah cheers for the follow! I don't think I'll be developing this particular game any further, but I have games in the pipeline that have similar concepts!