Log In  

Hi. I don't know what to put here.

Dev at Pixel Shock.

Icon: A cat in a box. His name is CB.

Terra - A Terraria Demake
by cubee
by cubee
Ninja Cat
by cubee

Cart #terra_1cart-25 | 2022-01-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A tiny fanmade demake of Terraria in PICO-8!
If you like this, please consider getting the original game. This is only a small portion of what Terraria has to offer!


How to play?

(Please note that this game requires at least PICO-8 0.2.4 to run. It won't work at all on older versions even if you figure out how to load it)

🅾️ - Jump
❎ - Use item
⬆️/⬇️ - (Tools) Aim up or down
pause - Open crafting/inventory screen

Inventory screen:
🅾️ - Pick up item or craft
❎ - Move selected item to trash
⬆️/⬇️ - Scroll / change selected item
⬅️ - Go to Left side
➡️(Left side) - Go to Right side
➡️(Right side) - Recover trashed item

General tips:

  • To change the selected item, open the inventory and press up or down, then close the inventory.
  • Cut trees with the axe, mine blocks with the pickaxe, and attack enemies with the sword.
  • To craft items, open the inventory and press left to go to the crafting column. There you can press O/Z to craft one of the highlighted item or hold it to keep crafting that item until you let go or run out of materials.
  • Platforms are placed one block lower while moving horizontally to make building platform bridges easier. Just hold the use item button and walk!
  • Hold down, X and left or right while holding a block to build a platform horizontally.
  • Hold down, X and jump while holding a block to build vertically.


  • A large map of 256x128 tiles, stored using the extended memory.
  • Various biomes: Forest, Jungle, and Corruption, plus the Underground, Caverns, and Underground Jungle.
  • 4 bosses: King Slime, Eye of Cthulhu, Ocram, and Plantera. (The Eye of Cthulhu and Ocram are night bosses and therefore can only be fought at night time)
  • Various enemies for each biome and underground. (14 total)
  • Cave generation.
  • Mining and crafting.
  • Various melee and ranged weapons. Ranged weapons automatically aim towards nearest target, prioritising bosses.
  • A basic palette fade lighting system, with a day-night cycle.
  • Quite a few progression/recipe changes due to space limitations, details in [Differences from the original Terraria]
  • Life Crystals and Shadow Orbs to smash!

How to save your worlds and players:

Please note that this is untested on mobile, and is unlikely to work well if at all.

The pause menu can be brought up by holding the pause button, where there will be an option to save.

  • When saving, the player, then the world will be copied to the clipboard. Paste these into an empty text file each to save them! If you're overwriting an existing file, make sure that you empty it completely first.
  • When loading, simply drag and drop each file onto Terra when it asks and it will load them for you.

Just a note, Terra does not check if the file has valid data before loading it due to token limits, so it will blindly load whatever you put into it. This shouldn't break too much (if anything), but try to stick to loading what Terra outputs :)

Differences from the original Terraria

Crafting (spoilers)

  • Many items that use metal bars have had their cost reduced to about 25%, so a 12 bar recipe now uses only 3.
  • Mushrooms can be gathered from Cave Bats, and crafted into Healing Potions using Gel.
  • 25 bullets can be crafted with one Iron Bar, as the Arms Dealer (and town NPCs in general) don't exist.
  • Night's Edge is crafted with (spoilers): the Light's Bane, 5 stingers, and a Soul of Blight.
  • Wand Of Sparking can be crafted using wood and torches at a workbench, and uses Gel as ammo instead of Mana.
  • King Slime and Ocram's summons are crafted at an anvil, and EoC's is crafted at a workbench.
  • Leafy Seeds replace the spores used to craft Blade Of Grass, they are dropped by Jungle Bats.
  • The Minishark is crafted using a Musket and some Demonite Bars at an anvil.

The following are crafted at a Cursed Forge:

  • Endless ammo can be crafted using Rotten Chunks, a Demonite Bar, and 99 of the respective ammo.
  • Night's Edge is crafted with Light's Bane, Blade Of Grass, and a Gold Broadsword.
  • The Flamethrower is crafted using a Wand Of Sparking and some Demonite Bars.
  • A Plantera Bulb can be crafted using Leafy Seeds.
  • The Terra Blade is crafted by combining the Night's Edge with a Golden Seed, and the Dogblaster is crafted by combining the Minishark with a Golden Seed.


  • Shade Bow and Magic Mirror are dropped from Shadow Orbs.
  • You start with a Wooden Sword instead of a Copper Shortsword, like the 3DS version.
  • The Eye of Cthulhu is the only source of Demonite, which is useful for crafting many items.
  • Ocram exists here as a substitute for the Eater of Worlds and Wall of Flesh. Craft the summon for him using Demonite Bars and Rotten Chunks.
  • Ocram drops a Soul Of Blight, which is used with Gold Bars to craft a Cursed Forge.
  • Plantera is summoned by using a craftable Plantera Bulb, rather than destroying a naturally spawning one.

Known issues:

  • If you find a bug not listed here, please post a comment about it and how to reproduce it, if possible.
  • Walls are technically solid blocks as there is only one tile layer, so nothing can be placed in front of them. To combat this, as of 1.2.3 furniture tiles automatically draw walls behind themselves when near a wall.
  • Saving and loading a game resets the shadow orb counter, meaning that if you don't break them all in one session, you won't get all the items.
  • There are performance issues, and I'm not sure how to fix them. However, it mostly only results in the draw rate dropping to 30FPS so most of the time you should only notice it running less smooth than usual.
  • When saving and loading a world, the current time in the world does not get saved. This is an artifact of how world saving is implemented and I'm not going to change it because it'll break existing saves.
  • The surface music will not change to the night music at night time unless you are standing on a grass, dirt, or stone tile. Standing on any other tile either changes the music to a biome theme, or keeps whatever music is currently playing.
  • Plantera can in fact be summoned on the surface and lured into other biomes (even the Corruption) without consequence. I am not going to fix this, as I don't believe it's important enough to spend the required tokens on. (Ignoring the fact there's none left)


The parts other than save file formats are here mostly due to running out of space in the cart, do with them what you will.

World save file format

A 32KB file of characters, stored as the CHR() of the tile id plus 32. So tile 1 is stored as CHR(1+32), which is "!", and tile 65 becomes CHR(65+32), which is "a".

Here is a simple program that loads a world file and allows you to pan the camera around:

Cart #terraworldviewer-3 | 2022-01-04 | Code ▽ | Embed ▽ | No License

Terra TEdit anyone?

Player save file format

-- 1.3 to 1.3.2b --

-- 1.3.2c to 1.3.2d --

-- 1.3.3+ --

php: Player's current health
php_max: Player's maximum health
hurtsound: This character's hurt sound (0: default, 12: high, 24: deep)
id: Item ID
amount: Amount of last item ID
gfxdata: Hex representation of the 7x1 sprite data used for the player. It's the same format as is copied from the PICO-8 sprite editor, minus the GFX tags and the first 4 numbers used to store width and height. If empty, it simply uses the default guy that is stored in the game cart's spritesheet.

As an example, here is the character I used to test version 1.3.1:


Sprite Flags

0 - Solid
1 - Breakable with pickaxe
2 - BG wall (breakable with hammer)
3 - Not used (top-solid platforms in earlier versions)
4 - Needs support (breaks when tile below is broken, like the workbench and life crystals)
5 - Door (uses next sprite as open door, solid flag determines if the currently placed door tile is the open one)
6 - Can have auto BG walls (workbench for example)
7 - Produces light (torches, campfires)

Mob List Format

Each mob has a string in the following format:


use 1/0 for true/false on angry and rspr

If rspr is false, use sx as the sprite id.Otherwise, sx,sy are map coordinates and w,h are the tile dimensions of the sprite.
if palette swapping is wanted, fill pal with the palette and, if rspr is false, fill sy,w,h with zeros.

Palette format:
Overwrites the colours in order from 1-15. So for the most optimal palette swapping, draw the base sprite using colours starting from 1.

drop format:
item id:item amount

Recipe Format:

output id:output amount:require tile|id:amount,id:amount,id:amount|comment

output id: sprite id of item to craft.
output amount: how many items to craft. (default 1, can be omitted)
require tile: what tile id is needed to be near in order to craft. (default none, can be omitted)

id: sprite id of required ingredient.
amount: amount of ingredient required .(default 1, can be omitted)

comment: does nothing, just an identifier for the humans reading them.

Separate them using semicolons.
Place these in the recipes string.

Item Stats Format


damage: How much damage the item does to mobs on hit, or for items of type=="hpup", how much health is restored.

type: Can be: melee, ranged, pick, axe, block, item, bullet, arrow, hpup

  • melee: Standard melee weapon
  • ranged: Shoots projectiles, consuming ammo
  • pick: Mines blocks
  • axe: Chops trees
  • block: A placable tile
  • item: Usually used for crafting, otherwise has no use
  • bullet: Consumed by BULLET ranged weapons (Guns)
  • arrow: Consumed by ARROW ranged weapons (Bows)
  • gel: Consumed by GEL ranged weapons (Wand of Sparking and Flamethrower)
  • hpup: Heals player or increases player's max HP
  • summon: Spawns a mob to the left of the player, consuming the item

usetime: Higher value = slower swing

value varies based on type

  • ranged: Item type used as ammo (usually bullet or arrow, sometimes gel)
  • summon: Entity id to spawn
  • hpup: If 1, increases player's max HP (life crystal), otherwise simply heals the player (potion).

autoswing: Set to 1 to enable autoswing for a ranged or melee weapon. Omit it if it isn't supposed to have autoswing.

for ammo, autoswing makes the item not get consumed when fired, and usetime sets the sprite id that the projectile uses for its sprite.

Place it at the index of the item's sprite id in the toolstat string.

Music Layout

by Jo560hs:

0: overworld
12: underground
22: corruption
31: jungle
41: boss music

by cubee:

53: night music


The history of Terra!

1.0: Release Time!

  • Initial release (8191 tokens)

1.1: Fixing Of Bugs!

  • Read some feedback
  • Reduced respawn cooldown and made mobs despawn instantly upon dying
  • Optimised player collisions for tokens and maybe a minor performance boost?
  • Moved selected item text above player's head to be more obvious
  • Optimised recipe list for tokens using split (8097 tokens)
  • Moved some stuff around
  • Made generation text use the centre print function instead of doing it manually there (8084 tokens)
  • Added ability to play night music in forest biome
  • Made increased spawns while moving only work underground
  • Reduced spawn rates as count approaches cap
  • Fixed walls not being blocks
  • Added wooden door, grey brick, and red brick (8188 tokens)
  • Made ranged attacks prioritise aiming towards bosses if they're alive and in line of sight (8169 tokens)
  • Reduced stats of bosses slightly due to lack of armour/accessories
  • Reduced gravity effect on arrows and increased their velocity slightly
  • Added dropped health pickups from enemies and the Eye Of Cthulhu's servants (8189 tokens)
  • Broke the inventory, it's off the screen now
  • Fixed the inventory, it's on the screen now
  • Reduced tokens some more (8180 tokens)
  • Made respawning happen when the player presses a button instead of after a timer
  • Changed mob despawn range into a circle instead of a square (8163 tokens)

1.1b: EoC Fix

  • EoC's servants had their drop item set as their defence, which caused a crash when attacking them

1.1c: A few fixes

  • Can now place tiles that need support (workbench, torch) on top of platforms.
  • Hopefully fixed a crash related to items with missing stats

1.2: Trash, balance and bugfixes

  • Fixed the Eye of Cthulhu servants' drops (for real this time)
  • Reduced mob cap to 8 (from 16)
  • Made bosses able to spawn even if the mob cap is reached (8183 tokens)
  • Added ❎ to delete selected item in inventory (8192 tokens)
  • Reduced tokens in worldgen
  • Modified corruption generation (8117 tokens) (it does usually take longer, but i needed to save tokens)
  • Added trash slot, trash selected item with ❎ and recover trashed item with ➡️ (8154 tokens)
  • Fixed crashes with empty inventory (8185 tokens)

1.2.1: More bugfixes

  • Fixed grey and red bricks dropping barriers
  • Fixed crash when placing a picked up item into an empty inventory
  • Demonite bars now need a furnace to craft
  • Reduced tokens by moving a few items into data strings that weren't already
  • Reverted a token saving change that broke surface cave generation. Now you shouldn't spawn in a rectangular hole in the ground anymore (8186 tokens)
  • Doors now break when the tile below them is broken
  • Applied token-saving techniques elsewhere (8163 tokens)
  • Made the secret boss bigger and added its second phase sprites
  • Fixed a bug where hitting a tree with a hammer caused the game to freeze. Caused by a leftover sprite flag from early on in development.
  • Added sound effect for magic mirror (8166 tokens)

1.2.1b: Shadow orb fix

  • Shadow orbs now drop items in order properly, I had put the current item counter where ANY wall would trigger it, instead of just shadow orbs.

1.2.2: Music update!

  • Added music by @jo560hs
  • Replaced the death sound with the enemy hit sound and removed an unused sound to save sfx slots
  • Added a night theme
  • Made items able to land on platforms (8169 tokens)

1.2.3: Walls and bugfixes

  • Added automatic background walls behind certain tiles when they are next to one for a nicer look in houses. (mostly furniture)
  • Reworked the BIGMAP() function to peek the camera coordinates, and merged it into the draw loop.
  • Due to the above 2 changes, blocks now also display in front of tree leaves.
  • Fixed anvils being unbreakable outside of destroying the tile beneath them.
  • Fixed the boss music continuing to play after the boss is defeated or despawns until touching a biome tile. (8170 tokens)
  • Added the campfire as an alternate light source. (doesn't provide campfire buff)

1.2.4: Ammo and WORLD SAVING preparation update! (Alternatively, the "How am I still under the limits!?" update)

  • Removed ADDPROJECTILE function to save tokens, since it was only used in one spot. (8148 tokens)
  • Added support for different arrow/bullet types for bows and guns. Put the ammo you want to use closest to the top of your inventory bar. (8158 tokens)
  • Moved layer heights upwards slightly to add a tiny bit more underground space, and to prepare for PICO-8 0.2.4's memory offset features. (which will change the map dimensions slightly)
  • Reduced furnace stone requirement from 20 to 10.
  • Made the selected recipe reset to the top upon closing the inventory.
  • Prevented changing to the crafting side of the inventory if there are no recipes available. (8170 tokens)
  • Added some new ammo types, including INFINITE AMMO!!!
  • Copper tools are now wooden tools since copper doesn't exist.
  • Added recipes for wooden tools for if you accidentally trash all of your tools somehow.
  • Added sound effect for shooting ranged weapons and did some more token optimisations.
  • Replaced fired bullets with that iconic orange line that Terrarian guns fire. (8171 tokens)
  • This update also marks return of the DEATH SOUND!!!
  • Found some more token optimisations. (8163 tokens)
  • Fixed a bug where the music would change back to the biome music while fighting a boss if the inventory is open.
  • Adjusted how distance and depth light levels are calculated to be a LOT more token efficient. (8102 tokens)
  • Moved the tree trunk sprites to make the next change more possible:
  • Added functionality for saving and loading players and worlds! (the currently unused functions take 92 tokens)
    • (Currently disabled due to token limits, will enable it if possible after PICO-8 0.2.4 is released)

1.3: 0.2.4 BIGMAP() and saving update!

  • Added autoswing capability for melee weapons. (put "autoswing" into an melee weapon's toolstat "value" to enable it)
  • Reached 8192 tokens while adding a barebones modes system.
  • Saved more tokens in world generation. (8130 tokens)
  • Night's Edge now has autoswing.
  • Added a title screen and menu system, complete with a rotatey logo! (8192 tokens)
  • Allowed grass in front of walls at worldgen to free some tokens, and some other token optimisations. (8178 tokens)
  • Waiting for PICO-8 0.2.4...
  • Implemented 0.2.4's BIG MAP! (i finally saw the token count dip below 8000!)
  • World size is now 256x128, instead of 252x136.
  • Saving and loading are now things that exist! (8191 tokens, just like the original version)
    • The pause menu can be brought up by holding the pause button, where there will be an option to save.
    • When saving, the player, then the world will be copied to the clipboard. Paste these into an empty text file each to save them!
    • When loading, simply drag and drop each file onto Terra when it asks and it will load them for you.
    • Just a note, Terra does not check if the file has valid data before loading it due to token limits, so it will blindly load whatever you put into it. This shouldn't break too much, but try to stick to loading what Terra outputs :)
  • For some reason the token count is now 8186, what did i do?
  • Fixed player falling out of the world. (due to using MGET() now instead of the BGET() function i had made that automatically made anything outside the map solid) (8191 tokens)
  • Optimised tokens in worldgen by hardcoding the world size variables, since it's not going to change. (8165 tokens)
  • Added a background for the world and title screen to make the world look that little bit nicer. Now we got PARALLAX! (8191 tokens)
  • Rebalanced shadow orb loot. Now the order is: Bow, Mirror, then Musket and the damage output of the ranged weapons has been reduced slightly.
  • Other rebalancing changes.
  • Added Wand Of Sparking as a ranged weapon that consumes gel as ammo, crafted at a workbench with wood and torches.

1.3.1: Plantera update! (The update made with even more wizardry)

  • Just a note, I have to be very careful with what I change from now on now that save files exist. Don't want to break them or change people's inventories!
  • Merged King Slime's ninja with his body sprite to save a sprite slot and some tokens. (8174 tokens)
  • Modified how autoswing is applied to weapons to allow ranged weapons to also have autoswing and optimised item update code for tokens. (8164 tokens)
  • Increase drop rates of gel and added a drop for some enemies that didn't have one.
  • Added some new weapons: Blade of Grass, Minishark, and Flamethrower. Also added some healing items. (8168 tokens)
  • Modified progression into 2 sections: before and after the secret boss.
  • Fixed some recipes that broke due to changing the shadow orb loot order.
  • Fixed a consumable items duplication bug that was introduced with the 1.2 trashing items update.
  • Made Eye of Cthulhu actually leave at daytime again, it seems I forgot to re-enable it after testing at some point. (saved 2 tokens)
  • Saved a bunch of tokens in the AI section. (8120 tokens)
  • Removed timer-based mob despawning, leaving only distance based despawning. (8092 tokens)
  • Moved more mob stat constants to the mob strings to save more tokens. (AAAAA it's less than 8000 again what's happening!?)
  • Added Plantera, bringing the total amount of bosses to 4. Craft her summon at the new Cursed Forge crafting station using the seeds dropped by Jungle Bats. (8190 tokens)
  • Some bosses now need to be summoned in a specific biome. (Implemented by checking what music is playing) (8191 tokens)
  • Now that he's actually important to progression, I've decided that he shouldn't be a secret anymore. The secret boss is Ocram, from the pre-1.3 versions of non-PC Terraria!
  • Optimised more tokens and fixed a bug where mobs with zero knockback (e.g. bosses) had their velocity set to zero when hit by a projectile.
  • Added randomness to mob drops. They now randomly drop one more or less of their drop, except for bosses. (8179 tokens)
  • Dogblaster is no longer craftable, it is now obtained from Plantera and is an endgame weapon, as it should be. It is the Dogblaster, after all.
  • Haha, Plantera's seeds redirect towards the player whenever she is hit. That makes it a bit harder to, you know, not die. Caused by not resetting the HIT variable if this mob is an enemy projectile.
  • Added a different mob cap for EoC and Ocram's servants, now there is a limit of 8 mobs plus 4 extra that can only be servants, just so that they can still be a threat when the cap is reached. (8185 tokens)
  • Menu screen now progresses as (player, world) instead of (title, player, world) to save tokens. Also removes the button press required before being able to load saves. (8168 tokens)
  • Fixed crafting recipes not being updated on trashing or recovering an item. (8172 tokens)
  • Discovered and removed an AI that became unused after moving the mobs into strings. (8112 tokens AAAAAAAA)
  • Fixed King slime so he actually gets faster as was intended, the only thing in the way was a variable that was wrong.
  • Collision code and various "magic number" optimisations. How is there still stuff to do? (8067 tokens)
  • Buffed Ocram. Now he is more like his original self, shooting lasers and all that. (Just the lasers) (8105 tokens)
  • Optimised tokens in the enemy-player angle calculations.
  • Enemies no longer have gap assist like the player does, to save tokens. (8125 tokens)
  • Plantera's second phase now has the tentacles (8192 tokens, 100.38% compressed size)
  • Fixed bullets having gravity (8192 tokens, 100.48% compressed size)
  • Fixed the recipe for silver bullets. They needed something like 60 silver bars before.

Final stat counts: 8192 tokens, 42234/65535 chars, 99.56% compressed size

1.3.2: Many a fix, and some new stuff (Thanks to @Sup3raw3som3gam3r)
(Sup3raw3som3gam3r's modifications)

  • Mob strings combined into one string.
  • Palette swap for Jungle Bat.
  • Added Terra Blade and Golden Seed.
  • Optimised compressed size.
  • Modified MGET to handle tiles outside the map the same way BGET used to. Now the world edges function as they did before 1.3. (8205 tokens)
  • Simplified flying AI to use "face player" rather than "turn towards player". (8156 tokens) Honestly, I don't see much of a difference, and at least it works again.
  • Added palette swapping for mobs, now 4 sprites that were used for slimes are free. (4 sprites, 8149 tokens)
  • Added Gel Pack, an endless variant of gel. (only usable as ammo)
  • Changed the trash slot sprite to a palette swap of the inventory slot sprite to get 2 more sprite spaces (6 sprites, 8162 tokens)
  • Added a mass crafting feature to the crafting system: hold Z/O to keep crafting the same item until you release or run out of materials. (8182 tokens)
  • You can now hold the up or down buttons to scroll the inventory and crafting bars.
  • Prevented Ocram from being summoned during the day. (8192 tokens)
  • Plantera now drops a Golden Seed, used to craft the Terra Blade and... a dog gun?
  • Fixed mass crafting related performance issues in the inventory.
  • Adjusted position of inventory item text to be more in the centre. (still 8192 tokens)
  • Projectiles now use a sprite defined in the ammo's USETIME parameter. Flaming arrows now look like flaming arrows! (toggling if ammo is consumable is now handled by AUTOSWING) (8185 tokens)
  • Enemies can no longer randomly drop one extra item, but they can still drop one less. (8183 tokens)
  • Fixed blue slimes being automatically angry upon spawning.
  • Added Cochineal Beetle and Lac Beetle enemies that drop Beetle Husks.
  • Added 2 repeaters: Demonite Repeater obtainable after EoC, and Beetle Bow obtainable after Ocram.
  • Fixed potions not being consumable when the player had 400 max health. (8189 tokens)
  • Potion recipe now uses 2 Mushrooms and a Beetle Husk instead of 2 Mushrooms and 2 Gel.
  • Reduced the amount of Plantera's tentacles slightly.
  • Prevented auto-aim from aiming at enemy projectiles. (8190 tokens)

Final final stat counts: 8190 tokens, 42569/65535 chars, 99.34% compressed size

1.3.2b: Return of the bugfix letters.

  • Fixed EoC's servants being Plantera due to an oversight in the mob string translations.
  • Bats, Slimes, and Beetles are no longer invisible due to width/height being zero.
  • Fixed BTNP() repeat causing all items to have technically autoswing after the 1.3.2 update.
  • Removed a function that was used in only one spot. (8185 tokens)

Stat counts: 8185 tokens, 42540/65535 chars, 99.34% compressed size

1.3.2c: Block bug fixes

  • Added a secret feature. (Please don't spoil it if you figure it out)
  • This does include a minor save file format change, however, it appears to be compatible with existing saves.
  • Fixed blocks having no autoswing.
  • Reverted a change that made blocks lose their fast placement speed, making building incredibly hard to do.
  • Various token optimisations.

Stat counts: 8183 tokens, 42618/65535 chars, 99.46% compressed size

1.3.3: Some world generation changes

  • A slight update to the secret feature. This includes another minor save file format change, but it's still compatible with existing saves.
  • The player now respawns with half health to prevent "death healing".
  • Caves can now go off the edge of the map, meaning that there should no longer be lines of emptiness at the world edges.
  • Fixed a bug where the world would only generate one surface cave, and they can now also generate in the corruption. (8192 tokens)
  • Generation order modified so corrupt chasms generate after surface caves.
  • The Jungle and Corruption now generate all the way to the edges of the world on their respective sides.

Stat counts: 8192 tokens, 42510/65535 chars, 99.42% compressed size


  • Using tline sprite rotation from TheRoboZ and distance function from Freds72.
  • Terra now has music by @jo560hs as of version 1.2.2.
  • @Sup3rAw3som3Gam3r helped with multiple ideas and a few optimisations.
  • Everyone who has played and found bugs for me to fix!
P#97269 2021-09-13 06:10 ( Edited 2022-01-05 03:27)

Cart #beatwise_trigger-0 | 2021-08-01 | Code ▽ | Embed ▽ | No License

A rhythm-based dungeon crawler inspired by Enter The Gungeon and Bullets Per Minute

Made for RNDGAMEJAM 2, ran out of time on this one, tried a bunch of new things. Planning to revisit mechanics.


You can only shoot and reload on the beat. When you run out of ammo, you cannot shoot again until your gun is fully reloaded.

Defeat enemies to gain gold and find shops to buy better weapons and upgrades.

Find the exit on each floor to travel deeper into the ruins, and discover new areas.

What awaits Diot in the depths of Raven Manor?


You can change control styles using an option in the pause menu.


  • Arrows or EDSF to move
  • Z or C to shoot
  • X or V to reload
  • Auto-aim enabled

Keyboard and mouse:

  • Arrows or ESDF to move
  • Left click to shoot
  • Right click to reload
  • Aim with mouse

Jam page: https://pixelshock.itch.io/a-rhythm-based-dungeon-crawler

P#95542 2021-08-01 03:25 ( Edited 2021-08-01 03:27)

Cart #break-0 | 2021-04-25 | Code ▽ | Embed ▽ | No License

Made within 48 hours for Ludum Dare 48

Punch with X

Punch the green tubes to cut the room's power and activate the emergency door unlock to travel deeper (and deeper) into the ship and destroy the main engine.

Ludum Dare page

P#91066 2021-04-25 12:52 ( Edited 2021-04-26 06:21)

Cart #ninjoe_dragon-4 | 2021-12-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Made for TOY BOX JAM 2020


It was a lengthy battle that left you wounded and weak. You cannot recall what the fighting was for but as you wandered the battlefield, exhaustion took hold and the darkness consumed you. (XX) , collapsing where you stood.

The fall was great, you did not see the opening before you fell and you did not have the strength to battle the fatigue. Perhaps you were lucky for in this state your body was able to absorb the impact.

Time passed and you wake in a strange cavern, this was the battlefield no longer. You notice a door behind you, trying it proves futile. You expected it wouldn't open. The door was oddly recessed into the wall, looking out of place for an exit. A wall ahead of you held a lock; it looked like it may open if only you had the tools. Your equipment stripped, no picks at hand, you search something of use.

You spot opening underneath you, or so you suspect, it seems as though it is something you may enter and with luck may provide a way out. If nothing else, it isn't here.

However you have arrived in this place, it was certainly by the devising of some creature.

You are Ninjoe,

You have arrived in the Dragon's Lair, this lair is not one of the Dragon's making but the making of another. The Dragon is trapped here by a curse, the hoard has been scattered as well as the cursed treasures within it.

Once the treasures are separated the curse strengthens its hold on the occupants of the lair... perhaps if they were brought back together... ?

Help Ninjoe escape the Dragon's Lair, if you can ... but will you also help the Dragon?

... Do you even want to?


  • Jump on enemies to defeat them
  • Pick up keys to open doors
  • If you die, you will reappear at the start of the level as long as you have at least 10 coins
  • Drop-in drop-out multiplayer for up to 8 players (It may not be a good idea to play with more than 3, but the option's there) Press X to join or leave the game.

itch.io: pixel shock


most recent change last

19 dec, 2020

  • joined jam
  • added platformer code
  • added objects
  • fixed tile layering to allow background tiles

20 dec, 2020

  • added coin collection
  • ai for some enemies (red, snek, bat)
  • stomping enemies, with that smb stomp from wisdom4.zip
  • skull is animated in code
  • sometime today, solved the challenge

21 dec, 2020

  • added level functions
  • removed y scrolling from the camera
  • fixed the positions of objects to be aligned to the grid
  • added a level
  • added in-game music
  • put a shared hp bar at the bottom, shows all player hp
  • added a background

22 dec, 2020

  • skull boss has an attack for second phase
  • added 4 more areas
  • bats are now basically invincible
  • they are now the most powerful beings this world has ever seen
  • skull boss is now grey

23 dec, 2020

  • added some new areas
  • added skull boss's ai
  • some story text before boss

24 dec, 2020

  • updated skull boss's ai
  • added collisions for its fire
  • some new story text after the battle
  • you can skip the boss, may or may not fix it
  • decided to fix it
  • fixed it
  • added an intro cutscene

25 dec, 2020

  • probably won't work on it today
  • ... nevermind i guess, added another level anyway
  • fixed the intro cutscene to be fake 3d
  • first level is now stored uncompressed in the first row (leaves space for another level below)
  • moved the levels around in the map area. added a small area just before the first boss
  • moved prime skull's music to kyle, and gave it [#8 boss] from picotunes 1 instead
  • began making kyle's ai (modified prime skull)
  • so much for not working on it today

26 dec, 2020

  • added story and a bunch of empty-looking areas for kyle's story events
  • goodbye, test level. you were great for, well.. testing
  • fixed a few missing reds
  • changed prime skull's music because i didn't like the one i changed it to
  • added wavy print function
  • added a restart level button
  • restarting can duplicate keys and coins. need to fix that
  • fixed it
  • made it constantly rain fire slowly in kyle's boss fight
  • ❎ can jump now

27 dec, 2020

  • added another level
  • added another level again
  • now there's only space for 1 big area or 2 small areas
  • the total will be 18-19 areas
  • made kyle's fire rain appear around the player instead

tokens: 7656/8192
cmprsd: 73%

28 dec, 2020

  • fixed restarting a level messing up the story position and summoning bosses early
  • replaced the arrow with numerals because there was a sprite for an i (area 7)
  • added the last level before kyle's boss arena area
  • there should be 90 total coins (collecting all of them gives you 9 more tries)
  • set music for the newer areas
  • freed up some tiles
  • re-arranged a bunch of tiles
  • added big tiles

tokens: 7936/8192
cmprsd: 78%

29 dec, 2020

  • added multiplayer (since it already existed in my platforming engine)
  • fixed player palettes (was passing an empty string to split instead of a comma)
  • fixed dark palette to account for colour 15 being blue now
  • p2 is blue now (daba dee daba dai)
  • fixed the camera position after a player dies in co-op
  • added a smooth camera to smooth towards the next position instead of instantly changing after a player dies
  • smooth camera now only applies when 2+ players are alive
  • oh no token limit
  • removed unused tile detection for coins (they are objects)

tokens: 8174/8192
cmprsd: 82%

30 dec, 2020

  • added the ability to drop players in co-op
  • fixed the background fillp scrolling while moving even when the camera isn't
  • made the randomised tiles use a seed: srand(level_index)
  • replaced the semi-solid under the door in the vertical bat room with solid ground
  • reset velocity of players that get added after dropping out
  • put more bats in the bat rooms

tokens: i'm here to write code and use tokens, but i'm all outta tokens
cmprsd: 83%

31 dec, 2020

  • fixed: p2 only high bounces when p1 is also holding jump
  • found lots of tokens
  • replaced the invisible walls around the boss areas with visible walls
  • made the title logo on the win screen also wavy
  • players now drop their keys when dropping out or fainting
  • stopped last alive player from being able to drop out

tokens: 8143/8192
cmprsd: 85%

1 jan, 2020

  • yay, release day!

2 jan, 2020

  • fixed a bug where defeating the dragon while it's on a platform or wall will leave you stuck in the boss arena

version 1.2

  • major changes to level design and boss difficulty for balance
  • multiple endings

version 1.2.1

  • adjusted coin-life rules: coins won't count for a life until the next level to prevent duplicating them in levels with more than 10 coins
  • sleeping dragon no longer deals damage in the vault rooms

version 1.2.2 (post-jam)

  • hopefully fixed a crash upon restarting a level


why did i make this?
Cart #not_marshmallow-0 | 2021-01-01 | Code ▽ | Embed ▽ | No License

P#86005 2021-01-01 05:45 ( Edited 2021-12-22 03:16)

Cart #tweet_invaders-0 | 2020-11-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Most of Space Invaders in exactly 560 chars for TweetTweetJam 5.

P#83922 2020-11-07 14:20

Some carts I have made


Cart #cavebears-1 | 2020-09-01 | Code ▽ | Embed ▽ | No License

A cave generator with a blue bear as the player.


Cart #nufefdeyo-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

When the tanks jump, they spin.


Cart #floppydisk-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

A spinning floppy disk.


Cart #laserbird-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

A shmup with a bird that shoots lasers.


Cart #papyrus-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

Undertale battle system scaled down to PICO-8. You can fight or flee.


Cart #pico_os-1 | 2020-09-02 | Code ▽ | Embed ▽ | No License

A graphical desktop for PICO-8. It has paint with four canvases and a very poorly optimised game menu.
You can also set the wallpaper to one of four preset backgrounds or one of the paint canvases
The game menu won't work in the online version!


Cart #woolcat_old-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

An early version of Woolcat, called Lemon Cat because an earlier version had a person collecting lemons.


Cart #bleep-0 | 2020-09-01 | Code ▽ | Embed ▽ | No License

My first PICO-8 cart, after moving from TIC-80.

P#81421 2020-09-01 11:09 ( Edited 2021-05-29 05:33)

Cart #cubg_dungeon-5 | 2020-08-16 | Code ▽ | Embed ▽ | No License

A dungeon crawler made for LOWREZJAM 2020.

Also available on itch.io

Find the exit to move to the next floor. The dungeons will get larger as you complete floors. Walk into an enemy to attack it. They can also attack you if you go into the space they are moving into. Pots can be broken by walking into them. They can have gold, sneks, bombs, spike traps, or a life up in them.

After each floor a shop will open where you can buy items:

  • Life Ups will heal you.
  • Damage Ups make your attacks stronger.
  • Escape Ropes return you to the entrance of the floor you are on if you die. You can only carry one at a time.
  • Gems modify the generation of the next floors.

Open the inventory screen with X or M. It shows:

  • The map
  • Which floor you are on
  • How much gold you have
  • The escape rope in the bottom left corner, if you have one


  • Green gels move horizontally
  • Blue gels move vertically
  • Red gels move randomly
  • Bombs explode and deal damage when the red and white lines touch
  • Sneks stay still and hiss sometimes. If you move into a tile near the snek while it is hissing it will bite you
  • Skulls move horizontally and shoot blue lasers downwards which move when you move
  • Red and green dogblasters shoot slow-moving lasers right and left respectively
  • Ghosts slowly float through walls towards you.
  • Angry boxes chase you.
  • Rule breakers move towards you even if you aren't moving



  • Added title screen
  • Changed dungeon generation slightly
  • Changed the colour of some sprites again
  • Added AI for angry box and ghost
  • Released on itch.io


  • Stopped the shop from having duplicate items
  • Fixed a bug where enemies wouldn't appear in the dungeon
  • Now prevents you from buying an escape rope if you already have one
  • Now shows escape rope in the map screen if you have one
  • Updated some sprites
  • Fixed enemies being deleted after being saved by the escape rope
  • Added more enemies that appear in deeper floors


  • Changed player sprite slightly
  • Made enemies have more variety ad you move through floors
  • Added snek. It sometimes appears after breaking a pot
  • Fixed enemies dealing 3 damage instead of 1 if a bomb appeared
  • Player now bounces back after breaking a pot
  • Bombs can damage enemies
  • Updated map to show room exits
  • Made spike traps less common
  • Hopefully fixed a bug that would cause the exit to be placed off the map
  • Changed dungeon generation to make larger dungeons as you go down
  • Added a shop after each floor


  • Changed colour of walls
  • Made floors start on the space the last one ended at
  • Added particles
  • Fixed a bug where spikes would kill you instantly
  • Changed map screen
  • Added game over screen
  • Bombs can break pots
  • Added HP display


  • Added player sprites
  • Added bombs that sometimes appear when a pot is broken
  • Added a map screen
  • Added HP bars for enemies


  • Release
P#80625 2020-08-11 09:30 ( Edited 2020-08-16 11:36)

Cart #ninjacat-10 | 2021-01-28 | Code ▽ | Embed ▽ | No License

A platformer about a ninja cat with a grappling hook, where you die in one hit.

You have nine lives. Make them count.

How to play

  • Jump with O/Z.
  • Attack with X.
  • Hit enemies while they're not looking to defeat them quickly.
  • Press the jump button in the air near a grapple point to grapple to it. (Press up while grappled to reel in faster)
  • Hit targets with a star to open a nearby door.
  • Once you get the sword, you can switch weapons by pressing DOWN or UP twice. (Current weapon is shown in the bottom left corner)
  • Use the sword to dash past searchlights without being caught.

At the end of most levels, break the case and steal the gem to finish. But don't touch the case, it's covered in electricity.

Also available on itch.io.


1.0 - Big update, items are in the order they were added.

There are a LOT of changes in this update.

  • Removed a section of a level that you couldn't escape from.
  • Added space for more levels. (string storage, no compression)
  • Gem case now takes 2 hits to break. (was 3)
  • (removed later) Added toggle for music in pause menu.
  • (world 2) Final boss from previous version is now the mid-game boss.
  • Changed boss AI.
  • (world 2) Added new sprites for second boss encounter.
  • Changed the target doors to be red.
  • Added green targets which open green doors anywhere in the level.
  • Stars now fall if the tile they are on is removed.
  • Now red ninjas will only jump if they reach an edge or a wall.
  • Small changes to sprites.
  • Moved weapon display to under the lives bar.
  • Fixed a problem where the cat could get stuck inside offscreen map data.
  • Debug mode makes the camera move vertically to see offscreen tiles.
  • There is now an 8 frame window where you can still jump after walking off a ledge.
  • (world 2) Started working on the 2nd world levels.
  • Made stars able to be thrown upwards through semi-solid platforms.
  • Moved the title screen up a little bit.
  • (world 2) Added 1 new level.
  • (world 2) Added a third weapon: the Glove. It punches upwards, allowing the cat to double jump.
  • Removed some unused sfx and music so more that might be used can be added instead.
  • Optimised star and dust object systems (93%)
  • Made stars brighter to see them more easily.
  • Fixed an issue where camera pan tiles could allow the camera to see out of bounds near the end of the level.
  • Fixed an issue where the sword would deal the knockback of the last star created. It has its own knockback now.
  • Adjusted the background to be less bright.
  • Time now slows down while switching weapons. (94%)
  • (world 2) Added 2 more levels.
  • Added extra effects to the boss's appear animation. (96%)
  • Fixed a few problems resulting from decimal timer values after time was slowed down.
  • Added an instructions screen. It shows up on the title screen menu.
  • Press up to view the version on the press to start screen. (99.83%)
  • Combined the boss's two sprite sets into one, using palette swapping to achieve the same look. (96%)
  • Adjusted the order of levels after getting the sword to let the player actually try it out without falling to their death shortly afterwards.
  • Added a timer, displayed on the win screen when you finish the game.
  • Added a fastest run save system. Enter your name to be permanently displayed as the best Ninja Cat player who ever lived! ... at least until someone beats your time.
  • (world 2) Added 2 more levels.
  • Armoured Ninjas no longer move unless you attack them.
  • Made gem mimics (probably) easier to see when unstable. (far away)
  • Fixed bomb droppers not dropping bombs after the switching weapons time slowdown. (decimal timers again)
  • Oh no... 100.00% compressed size.. gonna need some more optimisations.
  • (world 2) Second world is about halfway complete (101%), might need to use a minifier when it's done.
  • (world 2) Added 2 more levels.
  • Stars no longer stick to semi-solid platforms at all.
  • There is space for probably 4 more levels and the final boss arena in the second map.
  • (world 2) Added another level, the boss arena, and the last area with the (spoiler for the ending) Golden Cat trophy.
  • (world 2) Added placeholders for the last 2 levels. (103%)
  • (world 2) Added the second last level before the boss. There will be 22 levels in total, or 19 if you don't count the 2 boss rooms and the trophy room.
  • (world 2) (removed later) Final boss cycles attacks faster. (104%)
  • (world 2) All the levels are finished! or at least, they've been created.
  • (world 2) Final boss no longer cycles attacks faster.
  • Compressed by removing comments, debug features, and empty lines. (94%)
  • Bug 1: best time screen appears after game over screen for some reason
  • Bug 2: you can walk through armour ninjas when they are not moving
  • Fixed 1, both the OVER and WIN states use the same update loop. Made it only switch to HISCORE if the mode is WIN.
  • Fixed 2, armour ninjas had OB_DMG set to false when idle for some reason.
  • Bug: green targets are broken. (in the new levels only version, at least)
  • Haha, it was because i didn't include the main cart in the export.
  • The bug where the boss gets stuck exploding is still there, might have to force him to stop existing after a few seconds.
  • Changed glove weapon to a double jump scroll.
  • Deleted level 16 because it was terrible.
  • Probably fixed the boss's endless exploding. (haven't tested yet)
  • Added double jump. Also stopped it from triggering near a grapple so you can jump, swing, then jump again in midair. Really cool.
  • Allowed ending the level while using the sword since it breaks the case in one hit now.
  • Added easy mode and set enemies that are removed in the first world when chosen.
  • Adjusted the range that enemy tiles are turned into real enemies.
  • Replaced level 16 with a new level
  • Spikes now make you slow down a lot while walking through them. (in case it's not obvious, running through sharp objects at high speed is not a good idea)
  • Broke the boss, it does the appear animation when defeated.
  • Double jump animation continues while grappling.
  • Fixed the above 2 bugs.
  • The boss explosion fix seems to work.
  • Reduced second boss's health.
  • Added double tap up/down to change weapons.
  • Slowed down the boss's attacks to make them easier.


  • Moved thread to cartridges.
  • Score now resets properly when you die.
  • Added another level, with a new enemy. (9 levels total)
  • Added the final boss and arena.
  • Changed how the searchlights move.
  • Moved the moon down slightly to fit on the screen properly.
  • Fixed the cutout on the moon not flashing with the rest of the sky on the title screen.
  • Added new end and game over screens.
  • Added a few challenge options and a menu on the title screen to choose between them.
  • Added a menuitem to enable debug mode, which displays a minimap and gives you the sword.


  • Added the background to the title screen.
  • Added another level. (8 total)
  • Made placeholders for 2 more levels.
  • Changed some levels and graphics slightly.
  • Changed the title screen music to a remix of the main game music.


  • Added new title screen with graphics.
  • Enemy facing directions should be consistent on each run.
  • New label image of the title screen.
  • Added a score display for gold.
  • Added 2 more levels. (now up to 7)
  • Now you get the sword in level 4 instead of starting with it.
  • Added an invisible tile which pans the camera over to the right when stepped in front of.
  • Made some of the levels slightly easier.


  • Reduced air friction. (was stopping too quickly after releasing rope)
  • Moved background into a smaller area of the map.
  • Added level 4 and 5.
  • Added targets and doors. Hitting a target with a star opens the door.


  • Added new weapon: Sword. (Switch by pressing DOWN, then X while on the ground)
  • Fixed the hitbox of the case at the end of the levels.
  • Updated the design of the platform holding the gem.
  • Made the placeholder title screen look better.


  • Added simple level transitions.
  • Added level 3.
  • Changed directions to change on button press rather than velocity.
  • New label image with the right colours.


  • First version.

Older Versions

Cart #ninjacat-8 | 2020-07-21 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-6 | 2020-07-18 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-5 | 2020-07-14 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-4 | 2020-07-12 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-3 | 2020-07-11 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-1 | 2020-07-09 | Code ▽ | Embed ▽ | No License

Cart #ninjacat-0 | 2020-06-17 | Code ▽ | Embed ▽ | No License

Cart #ninjacat_prototype-0 | 2020-07-13 | Code ▽ | Embed ▽ | No License

P#78187 2020-06-17 10:03 ( Edited 2021-01-28 10:43)

Cart #woolcat_3d-1 | 2020-12-15 | Code ▽ | Embed ▽ | No License

WoolCat! Now in 3D!

Remade using Instant 3D (Modified to work with the original 64px resolution).

How to play

Keep Woolly's spirits up on his way home, be careful and keep an eye on his happiness meter, collect all the balls of wool to keep him moving forward.

  • Run around with the arrow keys.
  • Collect all the wool to move to the next level.
  • Collecting wool refills the happiness meter a little bit.
  • Touching water or oil removes some happiness and restarts the area.
  • There are 15 new levels for a total of 81.
  • To move diagonally, press two directions at the same time.
  • Meow with Z or X.


  • Made it easier to move diagonally

Developed by cubee (Website)
Original Game: Woolcat

Development GIFs.

Instant 3D code directly pasted into unmodified WoolCat:

Fixed 64px rendering:

Scaled up to final version with new sprites:

P#76305 2020-05-10 10:59 ( Edited 2020-12-15 08:53)

Cart #firedino-0 | 2020-05-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Be a fire-breathing dinosaur and save your valley from the evil skull lord.

itch.io page


  • Arrow keys: Move
  • Z: Jump
  • X: Fire

Submission for the Bitter Jam

P#75790 2020-05-04 09:21

Cart #woolcat_cubg-0 | 2020-04-21 | Code ▽ | Embed ▽ | No License

WoolCat! Take Woolly home.

Made for Fantasy Console Game Jam #5

Keep Woolly's spirits up on his way home, be careful and keep an eye on his happiness meter, collect all the balls of wool to keep him moving forward.

  • Run around with the arrow keys.
  • Collect all the wool to move to the next level.
  • There are over 60 levels.
  • To move diagonally, press two directions at the same time.
  • Meow with Z or X.

Game music made in BeepBox

Developed by cubee (Website)
Published by Pixel Shock

P#75107 2020-04-21 10:37 ( Edited 2020-06-17 09:36)

Cart #multimarshmallow-1 | 2020-03-25 | Code ▽ | Embed ▽ | No License

Multi Marshmallow

Marshmallow Infinity with split-screen multiplayer.


New Version

The full version is now on the Marshmallow Infinity thread.


Press Z/O on up to 5 controllers to play with that many people. (4-5 might be a bit slow)

Collect coins to increase your score. The marshmallow with the most coins after everyone is burnt wins.
Blue coins will give you a coin or a life-up randomly.


  • Use the left and right arrow keys to move and Z to charge a jump.
  • Release Z when the marshmallow stops flashing to jump high.
  • Release Z while it is still flashing to do a small jump.

Additional controls (3 hitpoints):

  • Hold the direction of a wall you are next to while falling and press Z to wall jump.

Additional controls (2 hitpoints):

  • Hold the direction of a wall to stick to it and fall slowly (you can still wall jump).
  • Hold the up arrow when hitting a ceiling to stick to it and climb.
  • Hold the direction of a wall to stick to it, then press up or down to climb.

Based on this split-screen demo I made:

Cart #multimallow-0 | 2020-03-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#74178 2020-03-25 05:41 ( Edited 2020-04-22 22:58)

Cart #pixeljump_cubg-0 | 2020-03-09 | Code ▽ | Embed ▽ | No License

Pico Pixel Jump is a remake of Pixel Jump on TIC-80.
It uses some of the PICO-8 secret colours to have a similar palette.

Keep your character jumping on the platform to earn points and get the high score.

Button controls:

  • D-Pad to move the mouse.
  • O/Z to click.

To change characters, click the left side of the title screen.

You can toggle between button and mouse control in the pause menu (P or Enter).

P#73775 2020-03-09 02:02

Cart #marshinfinity_cubg_1-0 | 2020-04-21 | Code ▽ | Embed ▽ | No License

Click this to see the itch.io page

v1.2 Multiplayer Update Changes:


New features

  • Added multiplayer!
  • Multiplayer supports up to 6 players using controllers.
  • You can choose from 8 different marshmallow colours by pressing up/down on the title screen.
  • If you get cooked in multiplayer, you become a ghost.
  • Ghosts can temporarily disable pickups for the other players and make the barrier move faster.
  • Normal players can revive ghost players by summoning a cloud and touching a ghost.
  • Reviving a ghost will take away one of your hitpoints.
  • Ghosts will also revive automatically with full health after some time.
  • If everyone is a ghost, the game is over and the player with the most coins wins!

General Changes

  • You can disable flickery effects in the pause menu.
  • The camera now forces you to move forwards if you stop for too long.
  • The score is counted based on coins instead of distance.
  • New areas.
  • Areas will randomly be flipped backwards.
  • Added invincibility powerup.
  • Added slippery ice blocks.


Marshmallow Infinity is an endless platformer about a marshmallow, originally developed in 48 hours.

Controls (Normal):

  • Use the left and right arrow keys to move and Z to charge a jump.
  • Release Z when the marshmallow stops flashing to jump high.
  • Release Z while it is still flashing to do a small jump.
  • Summon a cloud with X.

Additional controls (3 Hitpoints, Normal):

  • Hold the direction of a wall you are next to while falling and press Z to wall jump.

Additional controls (2 Hitpoints, Normal):

  • Hold the direction of a wall to stick to it and fall slowly (you can still wall jump).
  • Hold the up arrow when hitting a ceiling to stick to it and climb.
  • Hold the direction of a wall to stick to it, then press up or down to climb.

Controls (As Ghost):

  • Use the arrow keys to move.
  • Press Z to disable the pickups and speed up the barrier for a short time.
  • You will be revived automatically after some time.

Here are the original 48 hour and improved plus versions:

You can't wallclimb in this version:
Cart #marshinfinity_cubg_0-0 | 2020-03-09 | Code ▽ | Embed ▽ | No License

You can wallclimb in this version:
Cart #marshplus_cubg_1-0 | 2020-03-09 | Code ▽ | Embed ▽ | No License

P#73772 2020-03-09 01:30 ( Edited 2020-04-21 08:53)

Follow Lexaloffle:        
Generated 2022-01-16 22:24:32 | 0.238s | Q:105