Log In  
Follow
AntiBrain

--[[

Hi! I'm antibrain, professional nerd. Thanks for checking out my page! Here is where I post ideas, technical demos, p8 utilities and sometimes 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, but I'm sorta picky on who I add. Sorry if I respond to messages late, I only check the bbs ALMOST every day. If you see something wrong with my code, feel free to bully me about it publicly, and I will change it accordingly and definitely not add a snarky comment in my code about it.

Okay now get out of my house.

]]--

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

-- Mainly working on one-off mods rn, as well as larger projects, but dev has been on and off recently. Dont be upset if i dont upload anything for awhile!

-- Next Release: Untitled dream block cc mod (With portals!)

-- Big Release: Pipe Dream (Coming... uhh... this year? idk. features metroidvania style backtracking and semi linear levels. [as in you can go back a level or take an alternate path] this one'll take a while ;-;)

Celeste Downside
by
Kaizo CC Mods
by
PicoBrowser (v5.0)
by
[ :: 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

RTCP

--[[ rtc-p+ ]]--
--portable rtc made by antibrain
cf,clvl,ct=150,100,0
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))
ct+=1
if ct>=cf then ct=0
for i=1,clvl do
poke(abs(rnd(-1)),rnd(-1))
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
flip()
--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 (EPILEPSY WARNING)

-- [[ acid inject ]]
do 
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
pal=function()
for i=0,16 do 
_pal(i,rnd'-1') end
bg_col=rnd'-1'end
print=function(txt,x,y)
txt=corruptstr(txt)
for ox=-1,1 do for oy=-1,1 do
_print(txt,x+ox,y+oy,0)
end end _print(txt,x,y,7)end
end

P#146302 2024-04-10 18:31

[ :: Read More :: ]

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

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-0 | 2024-03-18 | Embed ▽ | License: CC4-BY-NC-SA
7

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.

Features:
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.

P#143640 2024-03-18 04:25 ( Edited 2024-03-18 05:05)

[ :: Read More :: ]

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

Boxxed

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
1

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
4

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.

Credits

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.

--Dashes

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.

Easy

Freeze!!: 0Dash, OneScreen

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


Medium

Kaizoleste: Gem, Fulllength

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

Downpour: 0Dash, OneScreen

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


Hard

QOS: 1Dash, OneScreen

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

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
4

posseste

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
8

OH GOD

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
6

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!

https://evergreengames.github.io/cchristmas/

P#138747 2023-12-15 19:08

[ :: Read More :: ]

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

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
2

Maaaaaaagic

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
8

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.

Changelog

v2.2

  • 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

v2.21

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

v3.0

  • 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

v3.2

  • 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
4

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

------------------------------------------------

Important:

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 :: ]


NEW ONESCRIPT DUMMY-PROOF VERSION (READ BELOW)

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)

--rtc--
--portable rtc made by antibrain
cf,clvl,ct=150,100,0
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))
ct+=1
if ct>=cf then
ct=0
for i=1,clvl do
poke(abs(rnd(-1)),rnd(-1))
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

--[[

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
corruption.

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
1

Click code on cart above, or copy code below.

HOW TO USE:
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.


RTCP_OneScriptFitsAll(Most)

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

-- onescriptfitsall(most) ver --
cf,clvl,ct=150,100,0
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))
ct+=1
if ct>=cf then
ct=0
for i=1,clvl do
poke(abs(rnd(-1)),rnd(-1))
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
flip()
--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


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
4

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

Boingleste

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

Important

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:

Changelogs:

v1.0

  • Initial Release

v1.1

  • 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.

v1.2

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

v1.3

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

[ :: Read More :: ]

Cart #tdtemplate-0 | 2023-10-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
4

Info:

This can be used and is intended to be used as a top-down game template. What this is for is so you can make a top-down game without having to worry about shooting or movement making sense.

To use, just download the cartridge and edit away! some starting sprites are included, as well as some functions to display ranges and landing point of shots.

P#136110 2023-10-19 19:35 ( Edited 2023-10-19 20:08)

View Older Posts