Having fun in Pico 8. Making prototypes in Unity. Working as engine programmer at Dontnod.
@[email protected]
Itch.io page
The game is also available on nusan.itch.io/path-of-aratron
In Path of Aratron, you can send a little demon to visit Dreams. You can control the demon by placing stones on Glyphs.
Each stone is part of a path and will trigger one after the other once you start the summoning ritual.
Solve 25 puzzles of increasing difficulty, you will need to carefully plan ahead and reuse part of your stones, as you don't have an infinite number of them.
This is a programming game inspired by the game Lightbot, it has been made in 72h for Ludum Dare 55









I made a useful tool to look at what parameters are expected from picotron's api
You can also see in what file it is implemented and inspect the code!
It only works for functions that are implemented in lua, when it's done in c it's not visible, and some lua functions don't have much code in them and redirect a variable amount of parameters toward a c function

I also exported the list of functions with their parameters if I could find them:






I extracted all the public names of functions and tables that are visible to Picotron, it might be useful to explore everything that is available
printh doesn't seems to work like in Pico 8 so I couldn't easily make it into a text format, so here is just a screenshot of all the globals functions (in white), tables (in dark blue) and others (in red):

And I also got the functions inside all the tables:











Hi, I found some strange behaviors with sfx and music that looks like bugs
( I marked with "X" when it's behaving strangely)
bug 1: releasing loop of an sfx:
- play a looping sfx
- release it's loop: sfx(-2)
- the sfx will complete it's loop and then stop emitting sound
X but if you check with "stat" you can see that the sfx is still "playing" with no sound
X it can still block a channel that the music will not be able to use, for ever until it's replaced by another sfx
bug 2: playing a sfx that is already playing in the music
- play a looping music that contain a specific non-looping sfx using music()
- play the same sfx using sfx()


One button tiny physic-based platformer made in Pico 8 with code under 1024 compressed bytes, made for #Pico1k jam 2023
Use RIGHT ARROW to accelerate when on the ground
Release RIGHT ARROW to fall faster when in the air
Press UP ARROW to start a new level
Press ENTER and select SEED in the menu to start from level 1 if you want a fixed series of levels

Number on top left is a timer for your run of the level, counted in frames (at 60fps), on top right is the sum for all the levels in your session. For example a casual run of all the seeded levels from 1 to 10 took me 14027 frames. My PB for level 1 is 1071.
Source as p8 are available on https://nusan.itch.io/smooth-ride in two versions, the "comment" version is what I coded with additional comments, so it's readable but the "minimal" version uses a tool (https://thisismypassport.github.io/shrinko8/) to makes it even tinier, it's not readable but it fits into the 1k compressed bytes target



it's flood season, dig caves to redirect an inevitable rising water until you can save everyone
Also available on itch.io for binaries https://nusan.itch.io/flooded-caves

This game has been made in 48h for game jam Ludum Dare 50
Your digging power is limited, it recharges over time. At regular interval, you can save someone by sending your rescue team
You can play the game using a keyboard (action is key C ), a gamepad or a mouse












Game is also available on Itch.io: nusan.itch.io/dami-and-flo

Dami and Flo are two workers on a delivery train. At each station, they have to take input packages at the bottom and store them somewhere in the wagon so they can be easily delivered at a future train stop.
There is a one player mode or a two player local splitscreen mode. You can choose your difficulty with "Timer" option and "Items" quantity option. You can also choose to have more than one wagon, but it can be very difficult especially if you are not playing with a friend.
Between stations, take your time to sort and store all the packages in the wagon. Clear the input area as fast as possible so new packages can be inserted at the next stop. Delivery requests for the next station are displayed at the top of the screen.



Small game made for Ludum Dare 45 in 48h.
Roll your way through 7 levels and collect snow to make a happy snowman.
Controls:
- left/right: move
- up: jump
- x/c: reset level
The Ludum Dare page is here if you want to vote: https://ldjam.com/events/ludum-dare/45/snowball







DeFacto is a game about building a large automated factory chain.
You must install miners to collect raw resources, transform them in furnaces, and combine them in factories.
The final goal is to send rockets full of robots and by doing so continue to explore the galaxy.
DeFacto is heavily inspired by the game Factorio.
You can also play and support the game on : nusan.itch.io/defacto

Controls :
The game can be played either with the mouse or keyboard
Keyboard :
C : Use selected tool/Interact with factories
V : Open tool selection panel/quit menu
enter : Open main menu (save, load, toggle music ...)
Mouse :
Left clic : Interact/Use selected tool
Right clic : Open tool selection panel/quit menu
To save your game, press enter and select save (button C)
To construct conveyor, inserter or bridge :
you have to keep pressing C/left clic and then enter the direction (arrow key or mouse motion) where the conveyor/inserter/bridge will put it's products
if you only press c/left clic without entering direction, it will place the conveyor, inserter or bridge along the last used orientation
Bridges can also be used to take and insert product, and are faster than inserters.
Starting tips :
- start by opening the tool panel (V/Right clic) and choosing the miner tool
- place the miner onto a raw resource field (C/Left clic), the miner will start filling
- open the tool panel and select the inserter tool
- place the inserter against the miner by pressing and holding C/left clic and then entering the direction where you want to put the products
- open the tool panel and select the selling station
- place the selling station at the end of the inserter
- if the inserter is oriented correctly, it will start moving resources collect by the miner to the selling station and you will start gaining money
- once you have a bit more money, start putting raw resources into furnaces, the resulting products will sell at higher prices
- the next step is to use factories, choose the recipe (C/Left clic on the factory) and insert the required input products to make more advanced ones










"Juggle Jam" is more of a toy than a game. It's based on some mathematical theory behind juggle patterns. It has been made in 48h during LDJAM 40.
You can :
- load premade juggling patterns
- create your own juggling patterns using a dedicated in-game editor
- create a random juggling pattern and let it hypnotise you
If you know how to juggle, you can try to follow the motion and the patterns.
Let me know if you have managed to reproduce some patterns with real balls.
Time spent during the jam actually juggling instead of coding : too much
Controls :
- keys C and V and arrow keys
- return : menu/help
In play mode : - c:toggle view
- v:go to editor mode
In editor mode : - c:grab a ball or a throwing node
- v:go to play mode
This idea was inspired by a video from Numberphile, you can check it if you want to know more about some math theory of juggling :
https://www.youtube.com/watch?v=7dwgusHjA0Y

Plan :
- Inception
- Gameplay
- How to render 3D meshes in Pico 8
- Pre-rendered magic
- Extracting meshes from Alone in the Dark
- Character animation
- Memory layout, packing and ram management
- Camera placement, tools
- Interactions, objects animations, sounds
- Optimization
- Triangle strips
- Future
Disclaimer : my english skills are a bit low and I wrote that post a litlle too fast ...
The final project can be found here
1. Inception
The idea of making a Pico 8 demake of the classic cult game Alone In The Dark started at Halloween 2015. I was searching for a mockup to do using Pico 8 color palette, and Alone in the Dark seemed a pretty good fit. After looking at it, the original is a lot more detailed than what would be possible in Pico 8. Getting from like VGA 256 colors to 128x128 16 colors would not be easy. But the mesh complexity in Alone in the Dark seemed doable in Pico 8. I had just finished a small 3D demo in Pico 8 so I knew that I could probably draw the character at 30 fps and pre-render the background.
The mockup that started everything :











"A suspicious suicide. A chilling curse. A malevolent power. And a wicked dark secret. This is Derceto ...
Choose between Emily Hartwood and Edward Carnby to explore this virtual adventure game inspired by the work of H.P.Lovecraft."
Controls : Arrow keys to move, 'c' or 'v' to interact
Music can be turned off in the menu ('enter' key)
I wrote a (long) post-mortem of this project : here
This is a small "demake" of Alone in the Dark. You can explore and find your way out of the top two floor of the mansion. I tried to keep it close to the original, but there is no fight (if you see an enemy you will die) and the interaction system is simpler. The 3D meshes of the characters are ripped from the original game.









Hi, for a game I'm working on, you can choose between two characters. But I dont have enough space to store the two characters in the same cart. I was thinking about releasing two carts, each one with a character.
The issue is that a given thread in the BBS only show the most recent cart in the "splore" of Pico 8.
Do I need to make two separate threads then ? Or is there a way to show or choose what cart is shown in splore ?
I could also try a multiple cartridge thing, like with a main cart with a selection menu, and two cart for the characters. But I dont think it work in web player or in splore. You would need to download the 3 carts manualy.
Is there a better idea than two separate threads ?



Update : I made an Android version, with special touch controls, on my Itch.io page
Update 2 : I improved collisions and fixed the "keep perfectly vertical" way of cheating.
Update 4: You can now use the mouse to point and shoot! Also accessibility option to display numbers on the balls, so you can better identify them
Here is Combo Pool, my entry to p8jam2. It's a game where you throw colored marbles against each other. If two marbles of the same color make contact, they merge and upgrade to the next color. Your lifebar diminish with the number of balls on the field. If you lifebar is empty, you enter in a sudden death mode, and your last ball must save you by removing some balls.









P.Craft is a crafting game. You wake up on a deserted island, and you have to survive. Gather materials and build your tools. Explore the area and find a cave. Will you find a way to escape the island ?
Update : A new version, P.Craft Deluxe Edition has been released on Itch.io :
https://nusan.itch.io/pcraft
With a saving system, a boss and a few new items to discover.
This new version use the multicartridge system in a complex way that is not yet compatible with the BBS, so I can't upload it here. You can however find the source .p8 files on the Itch.io page as well as binaries for windows, linux and mac.
Controls :
Button 1 (C/Z/N) : open inventory / cancel menu
Button 2 (V/X/M) : use equiped item / valid menu











Get all rabbits and grow a good amount of grass to go to the next level.
Parts of lit areas can be turned to grass once isolated from light using your snake body.
Controls :
Arrow keys : move snake
There are rabbit holes, so lure rabbits outside by growing grass around them.
Yhen eat them, it will make the snake grow
Moles are your enemies, mainly because they have lasers. Don't let them see you so you can eat them
This game has been made in 48 hours during Ludum Dare 34
You can find a Timelapse made during the LudumDare, followed by a bit of gameplay :







Rain Culture :
Use your divine powers to help nature grow back.
Your main tool is a rain cannon and severall kind of mirrors to redirect water over the plants.
Controls :
C or Z to take control or release the nearest tool
Outside a tool : use arrow keys to move your character
Inside a tool : use arrow keys to rotate the tool
That jam was prety cool, even if I only worked two days on it. I tryed to add another mecanic, where fire could spread from leaves to leaves, but it was too random so I removed it.










Space limit is a little 3D demo (so no gameplay yet) inspired by Kerbal Space Program.
If it's too slow in your browser, try directly in Pico8
There is nothing in the sprite/tile data, the code is (realy) messy and triangles can only be monochrome.
For this project, I made a blender exporter (based on the .ply one) that can be found here
I also made a mesh converter to vertex/index string (one byte per location, scale limited to 2.5 around origin) to import in Pico 8. I made it in Javascript (If some people want it, I could port it in the blender exporter instead).










The new export option is amazing, so I started messing with three.js (a webgl library) to use it with Pico 8.
And it works, so I made a simple proof of concept by drawing the pico 8 output in a sort of cathodic display style. The next step will be to import a 3D model of a computer screen or maybe an arcade cabin. So we can finaly see this great fantasy console.
Feel free to use the source code and mess with it. You can change your game just by replacing the game .js by the one exported from Pico 8.
Here is the page
Here is the source code






Last update : made a better lamp in front of the bike
Here is my first Pico 8 game, it's a "physic" bike game, a bit like the "Trials" series. I tried some experimental "distance field" collision and it work prety well.
- 7 levels of increassing difficulty
- 15 collectibles per levels
- Time clock for speedruns
- Deathless is possible
- Deathless with all collectibles is possible but is insanely difficult
Controls :
up = gas
down = brake
left-right = rotate the bike
c to flip bike
v to retry
Old versions :








