I made this little tool to visualize and edit PICO-8's memory. The app has 3 modes
(From Right to Left)
- LIST MODE - Shows addresses in a list. Parses the content of the memory as decimal, hexadecimal and binary numbers. Also renders the value as a character.
- HEX MODE - Shows addresses as hexadecimal numbers with 6 entries in each row. Also renders the values as a line of pixels.
- DOT MODE - Shows addresses as sequence of dots with 8 entries in each row. Unlike the other two modes this doesn't allow you to edit the numbers and is only for visualization purposes.
In addition each mode has two tools to find a specific address:
- MAP - Shows a simplified map of the memory. It's a pattern of boxes. Each box represents 32 bytes. Clicking on a box will jump to that address. The shortcut is M.
- JUMP - Allows you to enter a hexadecimal address directly. The shortcut is J.
Let me know if there are some errors. Let me also know if there are any features that you'd really love to have.
(Tilemap contains a partial artwork originally by @johanvinet)
0.0.1 - Initial Release
0.0.2 - Added description to button mapping (0x5F4C - 0x5F53). Tweaked description to 0x5F33 and 0x5F34.
Not a bug but a feature request since Zep is still adding features on 0.2.0j. It would be great if the drawing tool would show a preview of the pixel you are about to draw as the cursor moves into the canvas. Here is a gif of what I mean:
This is the default setting in programs like Aseprite. It helps judging the scale and placement of pixels especially when the canvas is blank. I'm so used to it from Aseprite and I really miss this when I jump into Pico-8 to touch up things.
Not necessarily a bug - just unexpected behavior / missing functionality in 0.2.0i.
When in the new SFX / Music Organiser and switching to SFX view it is possible to copy and paste SFX around within the loaded cart cart. However, when you copy an SFX in this mode you can't paste it into another cart. Instead it will paste the pattern.
It an odd case. It technically makes sense because this is still the Pattern view. But subjectively, by switching into the Organiser and to SFX it becomes a very SFX-focused interface. So I would expect to be able to copy SFX from here and paste them to other carts.
This is especially the case since this view lends itself very well to a typical use scenario I encounter often. Let's say I have an old game that I want to re-use some sound effects from. I would fire up the SFX Organiser, shift-select the SFX I want and copy and paste them to a new project.
While we're at it, I also have a feature request - it would be great if there was a visual indicator in this view to distinguish SFX that are used in patterns and SFX that aren't used in any pattern. This would help quickly identify whether an SFX is music or a sound effect. Perhaps a border or a different-colored background?
The changelog to v0.2.0e says
Added: cpu working animation when cpu usage > 120 skipped frames
I made a program to test this behavior. Can't make the animation show up no matter how how high the CPU value gets. Confirmed by independent tester using their own code. Are we doing something wrong or is this a bug? We used v0.2.0i.
function _init() y=1 g=0 end function _draw() cls() print(time(),8,8) print(g,8,16) print(y,8,24) end function _update() for i=0,32000 do for o=0,y do g=sin(rnd()) end end y+=1 end
This is a game exported to HTML5 with 0.2.0i. I opened it in an iPhone 6S using Safari. It's using iOS 13.4.1.
The game seems to run fine. But the buttons are unresponsive. The menu button is rendered on top of the game. After wild tapping I was able to trigger an X button press. But I can't reproduce this reliably.
The HTML + JS files were uploaded directly to my web server here:
I experienced the same problem when uploading the files to itch.io.
While we are here. I have a different problem when running on an older iPad Mini:
A tiny icon of the game in the middle of the screen. Doesn't react to taps at all. Can't launch game.
This one uses iOS 9.3.5. A bit old so I didn't expect much anyway.
One of the new features on 0.2.0 is moving sprites in the spritemap. This can be done in the map view with ctrl-x and ctrl-v. The map will be updated accordingly.
However, this won't undo properly. The map will revert but not the spritemap. See gif:
Tested in 0.2.0i
Porklike is a minimalistic, classic Roguelike made in the Pico-8 enigne. Enter the tower of Wurstlord. Can you make it to the top and steal his legendary Kielbasa? 9 floors of dangerous traps and enemies await you. Only if you move carefully and master your character's abilities will you become the champion of Porklike.
(X) - Inventory / Confirm
(O) - Cancel
The music was composed by Sebastian Haßler. The environment art as well as the protagonist was inspired by the work of the pixel artist @pixelartm and used with their permission. The artwork of the enemies was inspired by the work of the pixel artist @kirai_s and used with their permission as well.
Porklike was created as part of a video tutorial series. If you want to make your own Roguelike, please check it out:
Today I am starting a new tutorial series on how to make a Roguelike in Pico-8. New episodes will be released throughout February. Hopefully, we will be done before the 7-Day Roguelike Challenge 2019 begins. The series is designed to give you the skills and tools to participate in that challenge.
If you have any questions of feedback you can post them in this thread.
Here are the videos:
#2 - Basic Movement
#3 - Animation
#4 - Token Optimization
#5 - Wall Collision
#6 - Object Interaction
#7 - Text Boxes
#8 - Message System
#9 - Monsters
#10 - Mob System
#11 - Combat
#12 - Simple Pathfinding
#13 - Death
#14 - HP Display
#15 - AI
#16 - Fog of War
#17 - Fog Polish
#18 - Token Tweaks
#19 - Pathfinding
#20 - Path Tweaking
#21 - Inventory UI
#22 - Use Menu
#23 - Equipment
#24 - Eating
#25 - Throw UI
#26 - Throwing
#27 - Gameplay Test
#28 - Random Rooms
#29 - Signature
#30 - Signature Mask
#31 - Worm
#32 - Merging Areas
#33 - Shortcuts
#34 - Stairs
#35 - Floors
#36 - Shepherding
#37 - Hub Floor
#38 - Optimizations
#39 - Tile Borders
#40 - Pretty Walls
#41 - Wall Overlap
#42 - Decorations
#43 - Managing Stats
#44 - More Monsters
#45 - Chests
#46 - Random Food
#47 - Curses
#48 - Stats
#49 - Freestanding
#50 - Bugfixing
It's winter. Let's go sledding. Ride the slope until you stop or crash.
x/z - confirm
arrow keys - you can turn your sled in the air to pull of some sweet tricks
This is not a game in the traditional sense. There is no score or goal. Just give yourself a minute or two to unwind and enjoy the ride. Happy Holidays!
But what does Sanki mean?
"Sanki" is Polish for "sledding". I grew up in a high-rise suburb of Warsaw. We used to have a lot of snow in winter. Some of my most cherished childhood memories are about going sledding with my friends and family. It was something that brought the entire community together just to have fun and spend time with each other. For some reason this has stuck with me more than the actual Christmas celebrations. It was the inspiration for this little project.
About Pico-8 Advent Calender
During December, each day will be filled with new and exciting PICO-8 games! We have gathered 25 great developers from the PICO-8 community and we have worked hard to make some new games. Each day leading up to Christmas, there will be a new surprise for you!
Find out more at: https://pico8-advent.tumblr.com/
And check out the Pico-8 Advent Calendar each day for a new surprise: https://www.lexaloffle.com/bbs/?tid=32388
Mai-Chan's Sweet Buns is a cute puzzle game about pastries. Our goal is to help Mai-Chan serve her sweet buns to customers at her bakery.
This game was created as part of the A Game By Its Cover Jam 2018.
How to Play
Dpad (Arrow keys) - Move Cursor
X Button (X or M or V) - Confirm. Serve pastry.
O Button (Z or N or C) - Cancel. Turn cursor.
The 4 cards at the bottom of the screen represent the orders of the customers. Our task is to find and select a line of pastries on the board that matches one of the cards. We can select vertical or horizontal lines. But it needs to be an uniterrupted line of the same pastry.
We can only serve lines of pastries that perfectly match one of the cards. Some orders are easy to satisfy - like the x1 oders. Others may require some setup - like the x3 orders.
If we ever get stuck, we can look into the magical Star Box to activate special powers. Special powers cost stars. We can gain more stars by aligning 4 of the same pastry in a row.
We lose the game if we get stuck and run out of stars. But if we manage to serve all of the order cards in the deck, we win!
This game was created as part of the A Game By Its Cover Jam 2018. The goal was to create a game based on of the cartridge covers from the Famicase Exhibition 2018. The cover to Mai-Chan's Sweet Buns was created by Louis Lloyd-Judson.
He's the artist of the webcomic Apricot Cookies.
I've livestreamed the entire process here. It seems like it took around 100 hours.
The entire playlist is here:
The music was made by my friend Sebastian Haßler
A juicy remake of Breakout/Arkanoid with 15 levels and a highscore list. Created as part of a long-running video tutorial series. If you want to learn how to make a game like this, check out this thread!
How to play
You control the pad at the bottom of the screen. You need to destroy the bricks by hitting them with a ball. If the ball leaves the bottom of the screen you lose. You need to move your pad left and right to keep the ball on the screen.
If you move the pad while you hit the ball, you can change the angle of the ball's trajectory. There are also different powerups, which appear when you destroy a blue block.
Orange = Slow - Slows down time
White = Life - Gives you an additional extra life
Green = Sticky - Makes you pad sticky. It makes the ball stick to the paddle so you can launch it again
Blue = Expand - Expands the size of your pad
Black = Reduce - Shrinks you pad but also gives you a 10x score modifier
Red = Megaball - Lets the ball smash through blocks without changing direction
Yellow = Multiball - Splits the ball into two balls. You only lose a life if you lose your last ball
Sudden Death - if there are only 3 bricks left when the ball hits the pad, the game goes into Sudden Death mode. Bricks will start blinking as they are about to explode. If you hit a brick while it's blinking, you'll get extra points.
Hitting multiple bricks in a row increases your score multiplier to a maximum of 7x. Hitting the ball with the pad resets the multiplier back to 1x.
Losing all lives resets your score to 0, but you can continue playing. For the highest score possible, try finishing the game without losing your lives.
For an additional challenge and even more points, press up or down on the start screen for Fast Mode.
Let me know if you see any bugs. Otherwise, Enjoy!
A simple, cute retro version of classic Chess made in Pico-8. Full implementation of almost all of the Chess rules with a juicy interface and some basic AI to play against. Created as part of the Chess Jam 2018. Here is the game's entry on itch.io.
Jucy animations were very important to me. My Chess AI will never be competetive. So I focused on the game being pretty, readable and fun to play. I wanted to add even more functions but sadly, I ran out of tokens. I tried to squeeze in as many as I could.
That being said, the Chess AI is kicking my butt. Let me know if you've beaten it. Not sure how smart it really is - my Chess is rusty. Also, let me know if you find any bugs.
Note: Game will not recognize draw by Threefold repetition.
I'm using a Microsoft Surface Pro. I noticed that Pico-8 doesn't respond correctly to touch events. This affects the use of the touchscreen as well as the use of a stylus. I'm using the Surface Pen.
Although you can control the cursor with touch inputs, triggering clicks is difficult. Tap events aren't registered as click. They move the mouse cursor but don't click. Tap and drag is correctly recognized as click and drag. So in order to click you need to basically draw tiny circles with the pen.
I would love to use the pen as a convenient way to do some Pico-8 pixelart on the go.
It's finally here!. Some of you may have seen the video tutorial I was working on over the year. Well, the game is finally ready to be playtested!
How to play
The game is a straight-forward vanilla Breakout / Arkanoid clone. You need to destroy the bricks by hitting them with a ball. If the ball leaves the bottom of the screen you lose. You need to move your pad left and right to keep the ball on the screen.
There are some finer details that make it more interesting. If you move the pad WHILE you hit the ball, you can change the angle of the ball's trajectory. The ball snaps to 3 different angles. There are also different powerups, which appear when you destroy a blue block.
I need your help playtesting the game. There are 15 levels. I need players, who can beat the game. After the you've beaten the game, please go right on the High Score screen. You'll get a screen with numbers. Make a screenshot of that screen and post it here. They are various stats that I want to keep track of.
Also - of course - please let me know if you encounter any bugs or weird behavior. Also, let me know what you would change about the game.
Thanks in advance! Enjoy!
So I've heard talk about how the new version allows one to do some basic piracy protection. Presumably by reading the URL of the website a web players is embedded in. Not exactly sure how to implement this. Can anybody post some sample code?
This sample code shows how to use particles to create smoke or explosions.
Use direction keys to move the smoke
Press X for a pufft of smoke
Press Y for a big explosion
This sample code shows how to add screenshake. It also shows how to fade an image to black using the palette function.
This sample code shows how to make a simple maze game it uses a map and sprite flags to check for collisions with walls.
Use direction keys to walk. Get the to the cheese.
This sample code shows how to shoot projectiles aimed at a location.
It also shows how to make an enemy react to being hit.
Use direction keys to walk around
Press (X) to shoot
View Older Posts