Log In  
Follow
gonengazit

Over the past few weeks I've been working on Celia, a TAS tool for PICO-8 based on picolove, and it's finally ready for its initial release

Celia comes with 2 tas tools, one that should work for any PICO-8 cart (with some caveats, in the repository readme), and one that's more specialized, built for Celeste and mods. The tas tool code is layed out in a way where you can extend it to create tas tools for specific games, enhancing the normal functionality, so it also doubles as a tasing "framework" (api documentation coming soon).

Celia is based on my personal fork of picolove, Which has much better compatibility with PICO-8 carts than other forks, from what I've seen.

I'd love to hear any feedback, bug reports, and feature requests/suggestions. In addition, if you make a tas using Celia, feel free to post it here, I'd love to see it!

As a demonstration of the tas tool, I made a tas of Get Out of this Dungeon by @Insanus, which you can check out here [youtube]00JR6MZk_ZA

[ Continue Reading.. ]

8
4 comments



recently, while investigating the pico-8 preproccesor, i found some really weird behaviour, which culminated in some very strange token optimizations, and an infinite token exploit

Arithmetic assignment save

often, you want to perform multiple arithmetic operations on a varible, then assign it to itself. for example, a=2*a+1

the 2 ways you'd do this normally in pico-8
are

a=2*a+1 -- 7 tokens

a*=2
a+=1 -- 6 tokens

however, using preproccesor trickery, we can reduce it even more:

a*=2 
+1 -- 5 tokens

the reason this works is because the preprocessor patching for += works line-wise, so this would be patched to

a= a*(2)
+1

Infinite token exploit #1

this exploit allows you to run any code that is on 1 line, and doesn't use any pico-8 preproccesor based syntax extensions (i.e. +=, shorthand if, ?), while only costing 8 tokens
it works as follows:

a={}
a["[t"]+=" < your code here > t(

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=119789#p)
19
10 comments