Log In  


Hi, I'm antibrain! Thanks for checking out my page! Here is where I post ideas, technical demos, p8 utilities and games. Feel free to look around or even steal some code! If you want to reach out to me, my Twitter is linked and I have discord. Sorry if I respond to messages late, Im not very active as of recently.


-- CORE Demake moved to n.P8 - Feel free to join the celeste classic discord if you have questions/would like to help with n.p8 development

-- Big Release: Pipe Dream (features metroidvania like gameplay and some other neat mechanics. I'll release a demo after the music is done, unless I do everything else first)

AI plays Celeste Classic [CCGA 4.71]
Celeste Downside
Kaizo CC Mods
[ :: Read More :: ]

Cart #ccga-18 | 2024-06-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


If runs are taking too long, Consider disabling FLIP? on page 3 of the settings (READ SETTINGS REFERENCE BELOW)

This is a mod of Celeste classic where you get to watch a genetic algorithm learn how to play Celeste classic.

Wiki page for the Genetic Algorithm




`FPS` : Simulation FPS. The timer in the corner will not be affected. 
You do not need to set it to a normal number. framerates like 22 and 46 are just fine.

`# OF PLAYERS` : How many players to simulate at once. 
More players means it will learn faster, but too many can lag the machine.

`CYCLE LEN` : How many cycles to run before selecting iteration to reproduce and grow.

`ADDED PER C` : How many FRAMES to add after every cycle SET. [after `cycle>max_cycle`]

`FALLBACK` : Min # of frames the ai is allowed to go back from preserved solution in the event of failure.

`MAX_H YSPD` : If enabled, MAX_HEIGHT will ONLY be updated if THIS.SPD.Y==0

`COIN REWARD` : Amount of points given for collecting a coin.

`BASE MUTATE` : The base mutate chance from 0-100%, without any deaths or changes. 
The mutate chance for each instance will never go below this number.

`SFX?` : Toggles sound effects that instances can make. (dashing, jumping, etc)

`MUSIC?` : Toggles music.

`SHOW N` : Toggles whether to display each player's instance number on itself. Enable to keep track of players.

`FLIP?` : Toggles whether to call flip() every frame to update the screen. When disabled, each frame will be updated instantly after the last frame. When disabled, It does break menus and cause a LOT of flickering, so use caution.

`▤  PAGE X/Y  ▤` : Current page number. Left/right to view other pages.

Numbers can be changed with L/R. Booleans [TRUE/FALSE] can be changed with any button.




- Initial release

- Added - This changelog
- Changed - Balloons now reward the ai for collecting them THE FIRST TIME
    - This is to increase the chances of winning levels like 2800m and 900m, where balloons are the only way of beating them, and there isn't much vertical reward.

- Added - Reward coin collectibles that make ai happy when grabbed :D
    - This is to make sure the ai wont just ignore certain VERY IMPORTANT sections of levels. aka ALL OF 200M AAAAAAAAAAAAA

- Added - Several menuitem features to change how the AI "Learns", As well as sim speed and such.
    - Functions include: FPS (10-60), Weather springs reward the AI, Weather Walljumping rewards the ai (Based on height walljumped from), Reward granted from collecting a coin, Score penalty for dying, Frames added per generation, % chance to mutate each instruction not kept, and the ability to reset the AI, starting fresh with new params.
- Changed - Coins no longer respawn once collected, as the ai would just die to get them again, and it follows the same path regardless of if the coin is there or not if it was collected at least once. (unless it died and the death pen is more then coin reward)

- Removed - Reset AI menuitem
    - Caused too many issues, might add back later once fixed.

- Fixed - "Last Improvement" Showed FRAME number instead of GENERATION number

- Added - Simple title screen with basic instructions
    - This is to allow changing settings before a simulation has been started.
- Added - SRAND settings
    - Accessible when on title screen, select to enable, l/r to change seed.

- Changed - Dying now removes all collectibles.
    - This is to prevent the ai from just dying over and over again to keep getting the reward from grabbing coins or berries.

- Removed - Testing things i accidentally left behind (Whoops!)
- Fixed - Typos

2.0 :
- Major release
- Removed - A ton of settings that dont work anymore
- Removed - Some text that doesn't apply anymore
- Added - Multiple players at once
- Added - Fallback system
    - Based on deaths that generation. The more deaths the farther back mutations can be made, up to two seconds if 90% die, and 10 seconds if 100% die. This is to ensure that they dont get softlocked.
- Changed - Its a real genetic algorithm now
- Changed - Reward values
    - Higher death penalty
- Changed - Height Rewards
    - Only counts as grounded if this.spd.y==0
- Changed - Most of the algorithm and code to work with multiple instances.
- Changed - Title Screen
- Changed - Keep system doesn't HAVE to keep "working" solutions if they are terrible

2.1 :
- Fixed bugs
- Changed - Fallback only resets to unmodified best if ALL instances die in a single generation.

2.2 :
- Fixed bugs
- Working towards fitness choosing error
    - For some reason, the program will choose a different instance then the one who was selected to reproduce, to reproduce. I have no idea why that is, as its not supposed to do that. Also sometimes instruction sets get boggled randomly and i dont know why. Patch in progress.

2.3 :
- Fixed bugs
    - Note that this version is not public, due to some issues regarding the fitness function.

3.0 :
- Added - Cycle Based system
- Added - Ability to change `max_cycles`, and `frames_added_per_cycle` in pause menu. [SEE SETTINGS REFERENCE ABOVE]
- After X cycles, Best of X cycles reproduces, Add X frames.
- Changed - Algorithm now reproduces after `cycle>=max_cycle`
- Removed - Old reproduction system
- Fixed - Issue where system would choose wrong iteration to reproduce.
    - I'm not entirely sure what fixed it, but it definitely shows up way less now.
- Changed - Reformatted [CHANGELOG] and [COMMAND REFERENCE] to be in code blocks, because i think it looks nice.

3.1 :
- Changed - Default Population from 5 -> 10
    - 5 Was simply too slow. 10 is low enough where the flickering wasn't too bad, and high enough where it wont take too long to beat scores and learn.
- Updated - Cart label

3.21 :
- Attempt to fix bugs
    - At STILL for SOME REASON just picks the WRONG instance to reproduce. Most of the time this wont really do much besides make it take longer to beat levels, but sometimes it can lead to them all dying over and over.

3.22 :
- Added - Ability to change fallback length
    - This is to allow users to work around a suspected cause of the wrong_reproduce bug, until it is fixed.

3.3 :
- Added - Many settings accessible from pause menu on title screen. See [COMMAND REFERENCE] Above for more info.

3.31 :
- Changed - Each instance may only pick one coin up per generation
- Changed - Coins no longer despawn on collect
    - These two fixes are to make sure that instances dont mess things up and devalue other, better instances.

3.4 :
- Added - Ability to disable FLIP() call every frame
    - Note that this causes a lot of flickering and breaks the pause menu.
- Removed - FREEZE function. Removed so that the whole cart will not freeze when an instance opens the big chest containing the gem.

3.41 :
- Fixed - Timer silliness when FLIP() is disabled.

3.5 :
- Changed - Fallback system only happens if all instances die in a run
- Changed - Fallback duration is now no longer a dynamic parameter 

3.51 :
- Changed - Changed coin behavior back to what it was before
    - Coins now despawn on collect instead of instances only being able to collect one coin per cycle.

3.52 :
- Fixed - Issue with fallback system not triggering properly, or even at all, upon a failure.

3.6 :
- Fixed - LOTS of bugs
- Removed - Ability to change death penalty
- Changed - Death penalty is now a fixed penalty of "-16000"
    - Why keep bad solutions?

- NOTE - Please note that, due to a few bugs, the ai will not always be able to complete levels quickly, or in rare cases, at all. 
- NOTE - With this new patch, it is now 100% possible for the ai to beat the game.

4.0 :
- Added - AI now plays each level individually (eg, plays 100m until win, then plays 200m until win)
- Added - Able to replay the entire run after ai reaches flag at summit
- Fixed - SO MANY BUGS
    - Every known bug is now fixed!! Please let me know if you find any more issues with the cart.
- Changed - Fallback is now by default 5f (5 frames)

4.1 :
- Changed - Decreased mutate chance on death (70%->20% Per instruction)

4.2 :
- Fixed - Issues when multiple instances interact with a single object at once

4.3 :
- Fixed - Issues with fallback system (again)
- Changed - MAX_FALLBACK is now a dynamic parameter. Repeated failures will increase fallback range.
    - FALLBACK (Setting) Is now the minimum value instead of the maximum value. See settings reference for more information on settings.
- Changed - Default Population is now 25.
    - After a lot of testing, 25 instances was the best and fastest overall. Lower values such as 10 would generate suboptimal solutions, and large values like 50 would take a really long time.
- Note - Larger population sizes generate better solutions but are slower, and small sizes will generate worse solutions, but are much quicker.

4.31 :
- Changed - MAX_H YSPD (setting) is now false by default.

4.4 :
- Changed - Keys now award bonus score
- Changed - Cartridge ID is now #ccga

4.41 :
- Changed - Keys are now worth 15 points, to prevent the ai from cheating
- Changed - After ai's time is more then 900 frames, reset to best score. This is to avoid ram crashing.

4.42 :
- Fixed - Issue where scores werent properly reset on level win

4.43 : 
- Added - Reset all instances if all of them died more then 25 times in a row
- Changed - Reset all after 900 frames instead of going back to best

4.44 :
- Changed - Minimum mutate chance per instruction is no longer dependent on current cycle
- Changed - Mutate chance increase on death (+10 -> +30*(DEATH_ROW+1), where 'DEATH_ROW' is failures in a row)

4.5 :
- Added - New coin type for when AI needs to save a dash

4.51 :
- Fixed - Issue with new coin type collecting at wrong times
- Fixed - Bad coin placement in one pregem level

4.6 :
- Fixed - Issue with timer overflowing
    - It now will only overflow after 32768 DAYS (90 Years)
- Fixed - Issue with springs not hiding when below crumble leaves.

4.7 :
- Fixed - Issue where playback was being mutated
- Fixed - Issue where too many players were being spawned during playback

4.71 :
- Fixed - Issue with springs giving their reward more then once

4.72 :
- Changed - Default Minimum Fallback length lowered (5f -> 2f)

- Note - There is an issue with the fallback system at this time. This bug is present in all versions of CCGA. A fix is being developed, but it will take a while due to me not knowing what in the world is even causing this bug. Thank you for understanding.
P#147618 2024-04-30 02:43 ( Edited 2024-06-19 22:46)

[ :: Read More :: ]

Pico-8 Injects

If you dont know what an "inject" is, ill explain it here.

An inject is a script or program that you append (add) to the end of another program to serve a function. good examples of an inject are code snippets you add to the end of a cartridge to alter things in real time or gain extra functions. RTCP is a great example of a code inject (code below). you simply just add the inject in a new code tab, and it automatically does its set function(s) without having to modify the source code.

Here are a few injects i have created


--[[ rtc-p+ ]]--
--portable rtc made by antibrain
if _init!=nil then _init()end
function rtc()
if cf<0then cf=0elseif clvl<0then clvl=0end
menuitem(1,"corrupt spd:"..cf,function(b) icf(b) end)
menuitem(2,"corrupt lvl:"..clvl, function(b) iclvl(b) end)
menuitem(3,"nxt crpt in:"..-(ct-cf))
if ct>=cf then ct=0
for i=1,clvl do
end end end
function icf(b)
if(b&2>0)then cf+=10 rtc()end
if(b&1>0)then cf-=10 rtc()end 
return true end
function iclvl(b)
if(b&2>0)then clvl+=10 rtc()end
if(b&1>0)then clvl-=10 rtc()end 
return true end
while true do 
rtc() if _update!=nil then _update()
elseif _update60!=nil then _update60()
end if _draw!=nil then _draw() end
--the below loop can be removed if you are short on tokens.
if (_update==nil or _update60==nil) and _draw==nil then
?"no update or draw loops found!"
?"for carts that dont use"
?"game loops, load #rtcp and"
?"use that instead."
?" "
?"if loaded off bbs, please"
?"use a pico-8 editor to use this."
stop()end end


-- [[ acid inject ]]
local function corruptstr(txt)
local replacements,new="abcdefghijklmnopqrstuvwxyz#!@$%^&*()_+{}\"\\',<>.?/;:[]",""
for i=1,#txt do
new=new..(rnd()>0.8 and replacements[flr(rnd(#replacements))+1] or txt[i])
end return new end
local _pal,_print=pal,print
for i=0,16 do 
_pal(i,rnd'-1') end
for ox=-1,1 do for oy=-1,1 do
end end _print(txt,x,y,7)end

P#146302 2024-04-10 18:31

[ :: Read More :: ]

Cart #ccdownside-1 | 2024-04-06 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Celeste Downside

This is a mod inspired by Linj's map from newleste strawberry jam, "Summit downside".

You can press down to stop moving on the ground.

we take no responsibility for any harm caused to the player (you) and/or their desk as they play this mod. no financial compensation will be given for any property destroyed as a result of playing this mod. Thank you for understanding.

Updated to fix final level, making it less terrible

P#145851 2024-04-05 21:53 ( Edited 2024-04-06 00:55)

[ :: Read More :: ]

Cart #desktop_cat-1 | 2024-05-09 | Embed ▽ | License: CC4-BY-NC-SA

Desktop cat 1.0

This is a desktop wallpaper that lets you watch a cat run around and play! It uses up barely any cpu at all (~0.0113 as of 0.8), so dont worry about it eating up too much cpu.

Watch a cat run around and play on your desktop! It can roam around, sit or sleep, chase the mouse, or even chase a toy around!

On boot, it spawns a random amount of toys (and cats!), but the chance for a lot to spawn is pretty low.

Sometimes the cats do try and break things, so dont be discouraged if you come back to find all of the toys are missing.

To install this animated wallpaper, put the file in /picotron/drive/appdata/system/wallpapers/. then just select it from settings.


  • Fixed - Collision not accounting for z position.
P#143640 2024-03-18 04:25 ( Edited 2024-05-09 20:32)

[ :: Read More :: ]

Cart #boxxed-0 | 2024-03-16 | Embed ▽ | License: CC4-BY-NC-SA


This is a simpleish game made to be run on the desktop. load it and run it, to play.

Arrow keys to move the player, Z to shoot. Shoot or run into the edges of the window to move it! it also grows a bit every time! Try to destroy as many enemies as possible without getting caught yourself!

New features planned, such as items or upgrades.

P#143254 2024-03-16 05:08

[ :: Read More :: ]

Cart #avoider-0 | 2024-03-15 | Embed ▽ | License: CC4-BY-NC-SA

This is a simple arcade like game i made on launch day. posting it now that saving is fixed :D

Avoid asteroids for as long as you can!

If you like this game, or more specifically the engine running it, feel free to edit this cart or make your own things using its engine! I hope you all like avoid.p64!

P#143212 2024-03-15 22:24

[ :: Read More :: ]

Cart #roundelierescue-0 | 2024-01-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

bug: roundelie can kill the player if it is against the left screen edge and the player tries to push it further. if roundelie is on that edge, try not to push it any more or else you will die.
Bugfix in progress but its complicated due to the nature of the bug.

Roundelie Rescue (READ BELOW)

Welcome to Adelie Rescue Team, or ART for short. Here at ART we make it our mission to save as many penguins in need as we can. That is why you're here! There have been reports of ice caps melting around the arctic, more specifically ones home to the rare Adelie penguin variant, "Roundelie" (scientific name "Pygoscelis adeliae Sphericallus"). Roundelie penguins are known for their mobility, or lack thereof. They cant move on their own anymore due to the climate changes in their natural habitat, and we worry they might go extinct. Thats why we called YOU here! Weve sent you to their home to rescue as many as you can. there sadly should only be four or five of them left here, but thats still more then none! good luck out there adventurer! May meep be on your side!

Controls+How to

Roundelie are heavy! dont let one squish you!
You may push roundelie around without hurting it.
Dash into its side to launch it a bit! dont worry about hurting it, roundelie are very strong.
Line yourself up with one and walk away from it to drag it behind you.
Dash away from it while dragging to throw it overhead.
Roundelie arent affected by any spikes you may see, but dont let them fall off the level.


Meep - ON_MOVE function and inventing penguins
My sibling - Sad Roundelie mechanic
Celeste classic community - Support
Roundelie sprite - Taco360
EverCore team - Their work on the EverCore base cart

P#140766 2024-01-28 20:00 ( Edited 2024-01-29 05:16)

[ :: Read More :: ]

Risk of rain demake in the celeste classic engine

This is a in-progress mod i am currently working on. Here are some gifs of items working, mechanics.

Ukulele + Wisp in a jar + Gasoline (WIP Visual effects)

Molotov Cocktail Utility

Health System

Killing enemies

I dont know how long this mod will take, but armed with aseprite and everhorn, im sure it wont take that long.

For anyone wondering where CORE went, Its fully moved over to n.p8, and was fully rewritten for the new codebase.
The switch from hex to base256 level loading and the addition of bg tiles has forced me to abandon my levels, but i was going to do that anyways.

Look forward to both Risk Of Snow and CORE, coming (hopefully) soon.

P#140663 2024-01-26 19:44 ( Edited 2024-01-30 22:40)

[ :: Read More :: ]

Cart #blockydemo-0 | 2024-01-08 | Code ▽ | Embed ▽ | No License

Blocky demo

Demo of a game i am currently working on.

1 Player Controls:
Arrow keys to move, up to jump.

2 Player Controls:
S/F (or player2 controls) to move placement box, D to drop. (find controls in options in pause menu)

Placeholder mode changer in pause menu (press p or enter)

P#139846 2024-01-08 21:32

[ :: Read More :: ]

Hello, And welcome to Hell!!

Disclaimer: all of these mods are very difficult!! Difficulty differs between mods, so don't be upset if one is too difficult.

All of these mods require precise movement or speed tech. You can find tech required here

This page will update with new mods over time! check back soon to find more challenges!

These mods will be broken up by their difficulty and type. here is a difficulty key:


--Difficulty levels

Easy : Few speed tricks - mostly just precision

Medium : Some speed tech, like pass throughs and spike jumps, and more precise tech

Hard : Lots of tech, including clips and other wacky momentum jank. very precise.


1Dash : You have one dash

2Dash : You have 2 dashes

0Dash : no dashes!!

Gem : mod contains gem

--Mod length

One Screen : self explanatory

Short : 1 or 2 levels

Medium : 3-5 levels

Long : 6-10 levels

Full-length : 10+ levels!


Mod difficulty will be broken up in spoiler blocks for readability.


Freeze!!: 0Dash, OneScreen

Cart #freezecckaizo-1 | 2024-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Kaizoleste: Gem, Fulllength

Cart #kaizoleste-1 | 2023-05-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Downpour: 0Dash, OneScreen

Cart #downpour-0 | 2024-01-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


QOS: 1Dash, OneScreen

Cart #qos-1 | 2023-11-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

If you have any questions, comments, or suggestions, make sure to leave a comment below! Don't forget to include the name of the mod, and difficulty if sharing progress/completion.

P#139757 2024-01-07 20:57 ( Edited 2024-01-16 05:08)

[ :: Read More :: ]

Cart #posseste-0 | 2024-01-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


M- Madeline? ...Is everything okay?

Disclaimer: Flashing lights

Thank you to the evercore team for all your hard work on evercore! This mod wouldnt be possible without your work.

P#139541 2024-01-02 17:20 ( Edited 2024-01-02 17:22)

[ :: Read More :: ]

Cart #ohgod-0 | 2023-12-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


In this mod, madeline has had one too many drinks and is having trouble... living. "play" this "celeste" "classic" "mod" and "try" to make it to the "top" of the "mountain" as you "progress" through "levels" and the "game" until you "win"!!

This mod is 100% playable,

Thats it.

Good luck if you try playing this, as i couldn't get past 500m in testing. may the hangover gods be in your favor.

P#139385 2023-12-30 03:33

[ :: Read More :: ]

Cart #stat-0 | 2023-12-18 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Simple cart that lets you view all of stat()'s outputs!

P#138848 2023-12-18 16:05

[ :: Read More :: ]

Cart #mademaker-0 | 2023-12-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

My 12 Days Of CChristmas jam submission!

In this mod, the mountain has changed. you play as the aspiring contractor madeline, armed with a hammer and a whimsical magic mouse cursor that can manipulate the world at her whim! normal contractor equipment. Progress threw the mountain and take advantage of the wacky new gimick! ooooor just build a path to the top and win every level... the choice is yours! i cant take it from you, my lawyer advised against it.

Link to CChristmas jam page!


P#138747 2023-12-15 19:08

[ :: Read More :: ]

Cart #mini-0 | 2023-11-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

REALLY small game made as a tweetcart, but i couldnt compact it enough so ill just put it here.

Feel free to steal this if you want to try compacting it!

P#138023 2023-11-29 20:17

[ :: Read More :: ]

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


this cart can detect if you are on bbs/SPLORE or on pico-8 editors.

Basically, it detects if you've loaded the cart from online, or have it locally saved. the only way to load from online is from bbs/splore, so its easy to assume its one of the two.

How this works:

Pico-8 carts can use ls() to get a list of files in the current directory. online-loaded carts have no access to the filesystem and bbs has no filesystem, so in those cases ls is returned as NIL. when the cart is saved, only possible on a pico-8 editor, ls() returns as " " or whatever files you have in your carts dir. this cart detects what platform you are on by checking if ls() is equal to nil or not nil, then doing something accordingly.

feel free to use this concept whenever you like!

P#137098 2023-11-07 21:59 ( Edited 2023-11-07 22:10)

[ :: Read More :: ]

Cart #lightsout-15 | 2023-11-09 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Lights Out

Dear photosensitive players: please show caution when playing this game. it includes minor and medium intensity flashing.

Where is this? Who are you? when am i?
Find yourself in an unknown location with only a LIDAR scanner to your name. we'll see if you can make it out alive. who know's whats just around the corner.

How to play:

The game includes instructions accessible from the title screen.

if you need more info on how certain mechanics work, feel free to ask below.

Special thanks

Thank you to the celeste classic community and the comments here for feedback on sound, gameplay and mechanics
! i really appreciate the help!

All code, sprites, sounds, mechanics, levels were all made by me. if you find any bugs, please let me know via twitter or in the comments below.



  • added - this changelog
  • fixed - able to die when ending level
    • this was because of some variables changing at incorrect times.
  • fixed - level ending can spawn red pixels
    • also modified level transition effect to pick from a pool of colors instead of a random value


  • removed - some tiles used for debugging purposes
  • changed - changed changelog to use bulletpoints to make it easier to read (?)


  • added - save data features
    • saves time played, current level, and some other flags.
  • fixed - can accidentally skip through paul's dialogue
    • this should make it easier to pick up on some of his dialogues which explain a certain mechanic
  • fixed - xldr can leave pixel artifacts when in level transit


  • changed - deaths now properly save to save file
  • fixed - dying removes PLACED bulb and restores bulbs in "inventory"
P#136874 2023-11-03 21:06 ( Edited 2023-11-09 20:19)

[ :: Read More :: ]

Cart #fireonthemountain-0 | 2023-10-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

unlike boingleste, this one is creative!

Remember the floor is lava? no, not the tv show, im talking about the playground game. you know, where if you touch the ground you get maimed by your best friend? what? thats not normal? what are you talking about? anyways, this mod fully simulates what its feels like to touch the ground while playing that game. unless you're weird and didnt die inside when you lost at a game at school. well, forget dying inside! if you touch the ground here, you die in r- wait wrong game- you die! yay! walljump around and dont touch the ground! featuring patented seizure-o-matic effects! who needs to see the game when you have S M O K E



If you are prone to seizures, then DO NOT PLAY THIS CART BEFORE DOING THIS! before starting the game, make sure to toggle off special effects in the pause menu. just pres enter or p and select "disable effects". if you want them back, one, be careful and talk to your doctor. i was joking about the "die in real life" part, but this is serious. i know no one does it, but dont enable special effects unless your doctor makes sure it wont kill you.


Thanks for playing! I hope this mod burns in your heart the same way it burned into my monitor.

Here is my best time while playtesting as usual (all berries too!)

P#136406 2023-10-26 03:38 ( Edited 2023-10-26 04:09)

[ :: Read More :: ]


Remember RealTimeCelester and maybe RealTimeProggrupter?
They were RTC programs for celeste classic. what that means is they corrupt the games memory over time!
Now, have you ever wished you could ruin ANY cart? not just celeste? well i have the thing for you!

Introducing RTC-P! The first portable RTC for Pico-8! Simple copy the below code, following the instructions, and bam! ruin any cart with ease!

Important: Do NOT run the cart above, as it will do nothing. that is just the corrupter, but it has no cart to corrupt. to use, copy the code below and add it in a new code tab, or somewhere clutter-free. then add rtc() at the 1ST LINE in your update cycle. to change corrupt time or corrupt level, just go into the pause menu, go to the setting you want to change and press left or right. nxt cprt in: is how many frames until next corruption.

REMEMBER: to use you must be able to EDIT your cart! to do this, just load it in desktop pico-8 or at https://pico-8-edu.com
To load your cart, find it in splore, exit splore and press esc. for edu users, find your cart on the bbs and either download it and load it, or copy its cart id at the bottom of the runnable cartridge on its page. (something like #rtcp or #18471)

RTC-P Manual (For non-game loop using carts)

--portable rtc made by antibrain
function rtc()
if cf<0then cf=0elseif clvl<0then clvl=0end
menuitem(1,"corrupt spd:"..cf,function(b) icf(b) end)
menuitem(2,"corrupt lvl:"..clvl, function(b) iclvl(b) end)
menuitem(3,"nxt crpt in:"..-(ct-cf))
if ct>=cf then
for i=1,clvl do
function icf(b)
if(b&2>0)then cf+=10 rtc()end
if(b&1>0)then cf-=10 rtc()end 
return true
function iclvl(b)
if(b&2>0)then clvl+=10 rtc()end
if(b&1>0)then clvl-=10 rtc()end 
return true


how to use:

copy all above text and put
it in a new code tab.
(click the plus up top)
then add "rtc()" to the start
of your cart's update loop.
this only works in desktop p8
or edu, because you need to
edit the cart to use it.

to change values, simply
open the pause menu (enter/p),
scroll to the setting you want
to change, then press ⬅️ or ➡️.

"nxt crpt in" is the number of
frames left until the next

thank you for using rtc-p!
hope you have fun ruining your
favorite games!


Now, what if this is all too complicated? what if you just want to throw in a script and just have it work? well good news, ive concocted a easy to use RTC script that doesnt need anything! just put it in a new code tab or below all game loops (_init, _update, _draw) to use! the program will do the rest of the work.

Cart #rtcp_auto-1 | 2023-11-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Click code on cart above, or copy code below.

Copy code, then go to a Pico-8 Editor- this can be on desktop pico-8 or at pico-8 edu, which you can access here. then just load your cartridge you'd like to corrupt by typing load followed by its cart id. Cart id's can be found below the cart on BBS.

for example, to load manual rtcp, you would type load #rtcp. the "-0" isnt necessary. that's just the version number and pico-8 automatically grabs the latest version.


--[[ rtc-p+ ]]--
--portable rtc made by antibrain

-- onescriptfitsall(most) ver --
if _init!=nil then
function rtc()
if cf<0then cf=0elseif clvl<0then clvl=0end
menuitem(1,"corrupt spd:"..cf,function(b) icf(b) end)
menuitem(2,"corrupt lvl:"..clvl, function(b) iclvl(b) end)
menuitem(3,"nxt crpt in:"..-(ct-cf))
if ct>=cf then
for i=1,clvl do
function icf(b)
if(b&2>0)then cf+=10 rtc()end
if(b&1>0)then cf-=10 rtc()end 
return true
function iclvl(b)
if(b&2>0)then clvl+=10 rtc()end
if(b&1>0)then clvl-=10 rtc()end 
return true
while true do 
if _update!=nil then
elseif _update60!=nil then
if _draw!=nil then
--the below loop can be removed if you are short on tokens.
if (_update==nil or _update60==nil) and _draw==nil then
?"no update or draw loops found!"
?"for carts that dont use"
?"game loops, load #rtcp and"
?"use that instead."
?" "
?"if loaded off bbs, please"
?"use a pico-8 editor to use this."

P#136378 2023-10-25 16:13 ( Edited 2023-12-14 16:19)

[ :: Read More :: ]

Cart #boingleste-3 | 2023-10-24 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Thanks to the evercore team for the evercore cart! this wouldn't be possible without your hard work!


A big goofy, a little silly, but still fun!

Is Madeline made of rubber or is the mountain made of rubber? I personally don't think a whole mountain can just change what it's made of, so we'll go with the 1st option.

Play as- Wait no- Try to play as Boingaline as you fall over and over into the same hole in 500m. Features an almost-state-of-the-art path tracing mechanic that shows you where you keep dying and will die again! dash into walls and remember the 4 things you "had to do" and go do that instead! so many ways to rage quit and so many holes to walk into.

Also features its own REM jank! remember spike clips? well get ready for "Wall clips"! time it right and get shot up to the top of insert_wall_here! definitely a feature and not a bug i cant fix because REM is buggy to mess with, not just in game, but in code too!

I would add a save feature like Kaizoleste had, But let's be honest- You aren't ever going to play this again after you rage quit. (And yes you will!)


Not saying everything else here isn't, but still.

All levels AND berries are possible! I've tested it (see img below!). Some levels can only be beaten with wall clips and spike clips, and no, i will not explain wall clips. (Don't worry, they aren't that hard to do.)

I don't think gemskip is possible, as you cant walljump, only boing around.
And yes, i did try adding a boing sound effect, it just got way too annoying and i took it out.
Also please tell me my kiwi's look good. no one says they look good :(
And yes, the spinny thing is a pinwheel.

Here is my best time while playtesting:



  • Initial Release


  • Removed - Any reference to "Hard Mode", as hard mode was changed to be normal mode during development.
    • This is because of technical reasons, not to be evil. normal mode made boingaline only bounce if no dashes were left and she is not on the ground. this allowed for clipping through walls for some reason, and was removed halfway through development.


  • Changed - Moved Boingaline quote to be lower down to seperate it from credits text.
    • Also changed "-Madaline" to "-Boingaline" because funny


  • Changed - Made gravestone text funny
P#136307 2023-10-24 03:21 ( Edited 2023-10-24 03:50)

View Older Posts