Testing out an engine for Super Scaler games. It's still work in progress, much is needed to be worked out with how I ultimately want to handle the slices (tiled 8x8 images or custom stretches and sizes for everything?).
Currently, sorting of the layers is not in there as I'm having trouble figuring out the best way to use FOREACH().
I want to ADD and DEL from the tables that make up the sprites, and then use FOREACH() to do the scaling rather than arbitrary FOR/END loops based on a sprite limit. The idea is that if I can keep adding to the front and deleting from the back, then I don't need to sort anything (i.e. speed increase)...but I can't get it to work!
Halp? :)

Controls:
Z - Examine/Pick-up/Drop
X - (not used until later in the game)
Up - Jump
Down - Duck/Crawl
Left/Right - Move
Story:
You have been drawn to a mysterious place, what secrets does it hold, and what will they mean for you?
Help:
When not carrying an item, you can examine things. If you're stuck, try examining signs and other objects.
When you have explored far enough into the western temple, you can use the 'X' button.
I'm calling this "done" though there are a few things I might touch up in the future. Right now though, I've spent too long working on this already and need to get back to work on things that stand a chance of making some money :P
1.4: fixed map initialisation corrupting some sprites
1.3: fixed a bug & added some minor text
I wanted to experiment with modifying SFX data via a cart.
Features:
- Compose and edit music
- Copy and Paste selections within patterns and between patterns
- Transpose selection by octaves
- Save to cart
Known issues:
- Modifying selections only works if the selection was made in a leftwards direction.
- The music staff isn't actually accurate at all. It just uses one px per semitone.
- Green play line isn't always accurate if you've changed the speed or pattern length, restarting playback fixes it.
SFX Data Layout for anyone interested:
Starting from 0x3200
Blocks of 68 bytes for each SFX pattern 64 bytes of sound data and then 4 bytes of metadata.
Each sound data chunk is made of a 16 bit value divided into
6 bits for the note, 3 bits for the instrument, 3 bits for the volume, 3 bits of the FX, 1 bit unused.
0bUFFFVVVIIINNNNNN
byte 65 is the speed
byte 66 is loop start
byte 67 is the loop end

Screensaver for when you're tired of playing small games. Every button does something. Not all of it will benefit your experience. Most effects will not be immediately noticeable. Simply hold the button for the effect long enough for it to become noticeable. Letting go of the button leaves the setting as it is so don't expect going neutral on either p1 or p2 pads will grant you any savior of frame rate.
This was a small research project for a planned item for the future. Feel free to enjoy the source for your own works. There's also a song in there commented out at the top fo the script if you're bored with flying squares.
Got to thinking about Populous today; played the hell out of the game on my Amiga 500 when I was a kid.
This is a first crack at a terrain manipulation demo in that style. There's no game here yet, just a small map you can terraform and a little dude running around willy nilly on it and seeming rather distressed when he's in the water. I may try and build a little game out of it, though just sort of working out how to handle the isometric sprites in a basic way has been the rewarding bit I was aiming for.
A neat discovery in all this was that I could get all of the terrain drawn using 7 distinct sprite shapes, thanks to careful use of horizontal and vertical flipping and palette swaps (and if I wanted to trade a little more code I could get rid of one of those by compositing two others). Was a little bit of a note-taking headache to make that work, but really satisfying once I got it.
Right now the map is just fixed in size (I threw in a little camera movement to follow the cursor around), but an obvious next step tech-wise would be to dynamically scroll through a larger map only showing a chunk of it in the viewport.
Hat tip to YellowAfterlife for their slick isometric demo last week, which put me on to the idea of giving this a shot.
Still not a game.
Added a frost spell, ability to switch spells, bullets and hurt animations, lava tile.
(up) or (z) to jump
(x) casts your one meagre spell
(down) switches spells
"Thaumaturge" is an awkward and ridiculous alternative to names like Warlock or Druid, so I love it. This would definitely be a cart your parents wouldn't let you buy because it looked Satanic, but your friend had it. (I need to stick a big pentagram in the game and get it in a screenshot.)
prev versions

I'm making a cartridge, but suddenly doors stopped spawning the character when I hit play- It still works on placed character spawns, though. When I hit any button, it just resets the current room. It doesn't show hearts, either. Anyone have a solution? By the by, it still works in other cartridges, but particularly not this one.

Take on the role of humanitarian rebel Jehanne Butler in an all-out war against the intelligent machines that seek to mold and ennslave their organic creators! Armed only with a slow-charging Holtzman shield/displacement belt, use your wits to pit the robots against one another and defeat the machine-mind scourge!
Controls:
- arrows + z to move to an adjacent tile
- z to wait (and activate shield if in danger)
- x to displace to a random tile on the board
Instructions:
- Clear each board of robots by tricking them into colliding with one another or with the remains of already-destroyed machines.
- Watch your shield power! It's invaluable but scarce, and an emergency shield after teleporting will drain power more quickly than using it when standing still.

So a thing I distinctly remember from back in the day was games coming on multiple CDs. Usually adventure games, and the like.
Now, is this possible with Pico-8? My assumption was being able to have a "huge" map by splitting the areas on different carts, and having a "load screen" that asks you to change the cart.
I know it's possible to load other carts from within a cart and other funky stuff, but that's a liiittle different. I'd like it to feel a bit more physical than that, hence asking the player to load the next cartridge.
The problem therein, though, is that base ram is copied from cart rom whenever the editor is closed. Does that include the prompt? I'd love to try to test this out, but...uh, I really have no idea where to start.
Also, this'll probably be a neater trick to pull when the persistent save data is out.

This is my first cartridge, and basically my first game. It's based off some really old cribbage AI that I wrote years ago. Ported it over to pico-8 for fun.
It's a bit rushed and some of the logic is sloppy. Still missing a few rules and needs some cleanup on some of the timing but the core is there at least.
My goal was to try and make some AI that was difficult to beat.
I'm a web application developer by day.

Can anyone suggest some resources for a rank newcomer to game coding? I've got enough understanding from playing with c++ in college to understand most of the syntax when I read Pico-8 carts, but it's tough for me to understand what's going in in the more complex parts of the carts. Even jelpi is over my head.
I was hoping I'd learn how to do some basic game mechanics like collision detection, but I'm just going in circles here!






18 comments















