Log In  
[ :: Read More :: ]

Cart #kinetic-0 | 2021-01-15 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Controls: move around, jump, and whip. You can swap jump and whip in the pause menu.

Kinetic is a mashup of platforming, physics puzzle, and tower defense elements. Jem and her colleagues have fallen through a portal to an alien world. Help protect Van and Ess while they search for a way home. Use bizarre technology to hold back swarms of enemies in a Rube Goldbergian delight.

P#86497 2021-01-15 21:49 ( Edited 2021-01-15 21:54)

[ :: Read More :: ]

I use an external editor when working with P8. Due to years of programming experience with CamelCase, I have written all my code in that format, accepting that it won't look right in the P8 editor. Everything has been working fine for me.

I discovered today, though, that there's no mechanism for me to inspect values at runtime, since I can't type "puny" (uppercase) letters into the Esc command line. Thus I can't do
I tried copying from my external editor, typing in all standard-case, or pressing Ctrl-P. None of these helped.

P#86141 2021-01-04 18:22

[ :: Read More :: ]

Cart #crafdefense-1 | 2020-11-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

CrafDefense is a different sort of tower defense game. More MacGyver than Sun Tzu.

  • Customize towers by slotting items to modify targeting, flight, and applied effects. Every combination is viable. But it's up to you to figure out which ones will keep you alive in each battle.
  • Watch in awe as your towers randomly shoot, regardless of whether any space squids are anywhere nearby. Learn to turn their bizarre firing patterns to your advantage.
  • Cackle with glee as swarms of monsters are torn through by your carefully duct-taped arsenal.

Made for #JamCraft

P#84851 2020-11-30 06:43 ( Edited 2020-11-30 06:48)

[ :: Read More :: ]

Hey friends. I was looking into how to do a fully custom cartridge label image. The only posts about it I found on the BBS involved creating the image painstakingly from 256 separate sprites, or using a script to muck around with the final .p8.png file. I wanted to have a quick and clean way to export from Aseprite into the format that Pico-8 saves into when using Ctrl-7. That way I can iterate on my label and my game independently of one another, with no extra steps.

Fortunately, Aseprite allows custom scripts to export things. In lua, no less! Here's what you need to do:

Make a 128x128 indexed image.

Select the Pico-8 palette.

Middle click on a color you don't intend to use in your image. That will set that color as the "transparent color" that will be erased to.

Draw your cartridge label to your heart's content. Save it as a .png file.

In File->Scripts, click on Open Scripts Folder.

In the resulting folder, save the following code snippet as Pico8LabelExport.lua:

local sprite = app.activeSprite
local image = app.activeImage

    local outputFilename = string.gsub(sprite.filename, ".png", ".txt")
    file = io.open(outputFilename, "w")

    for row=0,127 do
        for col=0,127 do
            pixelColor = image:getPixel(col, row)
            file:write(string.format("%x", pixelColor))


Close and reopen Aseprite, to make sure it notices the new script. Open your .png, and click File->Scripts->Pico8LabelExport.lua. You will then have a .txt file next to your .png.

To find out where those hex characters go, open your cart in Pico-8. Press Ctrl-7. It will create the label block of data. Replace it with the contents of the .txt file.

Have fun!
Bill Clark

My first (partially completed) cart:

P#84719 2020-11-26 20:07