Little Space Rangers
by tmirobot
LITTLE SPACE RANGERS
Journey across the stars, crashing your Star Cruiser into a series of increasingly dangerous,
procedurally generated planets as you attempt to make your way back Home. Explore hazardous
surfaces, rescue your stranded crew, salvage lost cargo, and zap hordes of enemies. Will you
be consumed by a slime, zapped by an enemy blaster, boiled in acid, or burnt to death by a
toxic atmosphere?
CONTROLS
Arrow Keys/Directional Pad - Move
[Z] - Jump (tap, or hold for higher jumps)
[X] - Use Held Item
[Down] + [X] - Pick up / Swap Item
PLANETS
As you delve deeper into space, the planets will get more difficult:
Increasing in size
Adding more difficult room layouts and variations
Increasing the chance for high gravity
Unlocking new hazardous biomes (including burning lava planets, sliding ice planets, and rare
toxic atmospheres!)
Adding more challenging enemy variants
Adding more enemy crew
Reducing the number of useful items
While the first few planets might not cause you much trouble, by the time you reach Home,
you'll need the skills and bravery of a true Space Ranger to survive!
ITEMS
As you explore the surface of a planet, you'll discover several types of useful items you can
pick up. All items use Energy to activate.
Pulse Gun - Shoots an energy beam that can kill enemies
Transport - Use this item near a friendly crew member to beam them to the ship for bonus score
Vita-Heal - Use this item to restore lost Health.
SPECIES
Humans are boring! While they're the most common species in the Space Rangers, the other
sentient species have special bonuses to help in their adventures. Along with all the random
features of each planet, you'll need to accustom yourself to the unique ability of your
randomly chosen cadet.
Humans - Gain bonus points when securing cargo
Greebo - Consume less energy when using items
Fuzzi - Jump higher
Demi - Run faster
Robo - Damage Reduction
Can you reach your Home Planet with a cadet from every species?
SCORE
There are several ways to earn score as you traverse a planet's surface:
Bopping enemies
Zapping enemies
Securing cargo
Transporting friendly crew off the surface
Completing levels
Blasting off from the planet in a new Star Cruiser
Several secret bonuses you'll need to discover!
CREDITS
Game design, programming, and terrible sfx by tmirobot. Follow on Threads for more game dev
postings.
Uses portions of @matthughson's Advanced Micro Platformer library, which can be found here
https://www.lexaloffle.com/bbs/?pid=46229.​;
CHANGE LOG
v.1.61
Planets
Massively increased the chance (1% -> 25%) of getting a special level section at the start
of the 2nd part of a 2-part planet (2-part planets can start appearing at Planet 4)
v.1.6 (High Score Reset)
Planets
Changed the final planet to be the 9th planet instead of 10th
Added stars in the background of low gravity planets
Changed toxic damage particle to use same color as the toxic level indicator
Characters
Changed Robo species from having extra health to reducing damage and resistant vs. toxic
atmosphere
Added helmets to characters when they are on low gravity (no atmosphere) planets
HUD
Rearranged for a better overall layout
Changed the names of items so they have a consistent length for better HUD layout
Added indicator to highlight if liquid will instakill (using planet temperature indicator)
Help Screens
Added up/down page cycling
v.1.5
Added new planet visuals for low and high gravity of each of the 4 biome types, so it's easier
to immediately recognize biome + gravity type
Changed friendly crew to always wear blue and enemy crew to always wear red, to make it easier
to differentiate them.
Added splash effects when landing in or taking damage in liquids
Added a help page describing Planetary and Objective bonuses
Lots of code cleanup and compression to make room for new additions, but code should still be
fairly legible
v.1.4
Added a species trait for Humans (extra score when securing cargo)
Rearranged the HUD to show player's score even while on a planet
Added instructions screens
Smashed functions into code blocks and removed some comments to make more token and character
room.
v1.3
--- GAMEPLAY ---
Lowered the number of screens per planet, and randomized the chance of extra screens on later
planets instead of always having them be bigger, which:
1) makes the game easier
2) varies up the landscape more frequently
3) presents the player with a win feeling more often, making the game more fun overall.
Removed the increase in enemy hit points on later planets, as, with no visual indicator, it's
confusing and not fun to discover deep into a run.
Removed the need to press up to enter the ship, removing the need to learn another action
Fixed a bug where your high score wouldn't be updated when you win the game
Changed screen clear score to take into account planet difficulty
Changed score to not be stored as decimals, as score should never get close to 32k and
conversion used tokens. Forced new save version to _13, to clear old scores as this and
gameplay changes make old scores meaningless.
--- VISUALS ---
Adjusted the HUD window size so that the full vertical play area can be seen properly
Added a HUD prompt when near an item, instructing the player on how to pick it up
Adjusted the title screen to be centered better, shifting all status displays a little higher
Added random flavor text dialog strings to the crash sequence
Added flavor text dialog strings that describe the overall difficulty of a planet upon landing
Added ability to specify a blood color for death particles (robots no longer bleed!)
Renamed the "talk-o-tron" to "tele-tron", to better match its concept
--- AUDIO ---
Added a sound effect when entering the ship at the end of a planet
Added a sound effect for the Planet: Cleared banner
--- CODE ---
Updated the include pico-8 package to v0.2.0i (netting some free tokens!)
Added back in code comments I had to remove a long time ago for .png format space and
reorganized code for better readability
Recaptured a bunch of tokens through various methods (multiple if chains converted to "if
ands", some ifs that weren’t necessary (nil checks when nil is ok), a few
missed multiple assignment lines, a few unnecessary assignments in reset() and other
functions, a few never-used code paths (extensibility that was never used or generic functions
that are only called in one place), and other assorted cleanups.