Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

Hello everyone,

what is the best place to share the development of a new PICO-8 game cartrige, the blog or the forum, or an external place? I just want to share the progress of the development, share and discuss ideas and solutions with you all, and of course post code, and everything related to the game.

I am just learning by doing how PICO-8 works with Lua to keep me busy with a challenging project.

Thanks.

1
1 comment


A simple terminal implementation for 251 tokens (I'm pretty sure you can find some clever ways to reduce this), for your dev tools.

Currently I'm working on some editors for my game, I had to implement mouse controls, buttons and layout. However I have missed a crucial part: text input.

I have looked inside the community wiki and found out how to read the keyboard buffer. I have made this simple terminal which I'm really satisfied with, and I thought maybe it is worth to share. Nothing fancy just a shell ready to interpret whatever command you type in and hit enter.

function new_terminal(text_color, bg_color, error_color)
  local t = {}
  t.history,
  t.buffer,
  t.t_col,
  t.bg_col,
  t.err_col,
  t.commands,
  t.append,
  t.render 
  = 
  {},
  "",
  text_color or 11,
  bg_color or 0,
  error_color or 8,
  { cls = function(_ENV) history = {} end },

  function(_ENV, str, err)
    for line in all(split(tostr(str), "\n")) do

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=164799#p)
0 comments


In "Select Stages" choose which stages are active, hit the "Randomize" button on the main screen and get a random level!

This is a stage randomizer I built for fun. I experimented with coding all the UI elements myself, like buttons and checkboxes.
More info in the "About" section!

Cart #ssbm_randomizer-2 | 2025-04-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
1 comment


This is a fairly early WIP.

Settings are located at /appdata/docky/settings.pod.

To add/remove launchers edit /appdata/docky/launchers.lua.

Note: Docky requires sandboxing to be disabled to function.

0.1.1 Changelog

  • Dock now always shows when no windows are open
  • Added an option to partially hide the dock
  • Added an option to check for updates on startup
  • Fixed crash when loading launchers.lua with invalid lua
    • Additionally, shows an error message to open launchers.lua
  • Fixed autohide_timeout setting not being respected

Features

  • Autohide
  • Always on top
  • App launching
  • Window switching

Running

To quickly try it out:

load #docky -u
run

Installing

In a terminal, run:

load #docky -u
mkdir /apps
save /apps/docky.p64

Then, add the following to /appdata/system/startup.lua:

create_process("/apps/docky.p64")

[ Continue Reading.. ]

4
6 comments


A co-worker was curious to use my interactive fiction player, Status Line. He's using "nixos" and he rebuilds large parts of it from source, from scratch, every time before launching into the operating system. At any rate, his setup can't run the Linux binary because his doesn't have some set of dynamic libraries that Pico-8 is expecting. Steam apparently has a similar issue which is fixed by something called "steam-run" which kind of tricks Steam into seeing a "typical" Linux environment. That method is not working for Pico-8 exported binaries, it seems.

Is there a way to export a 100% static-linked binary?

0 comments


I'm making a game in Picotron, specifically a remake (or demake depending on how you see it) of Puyo Puyo. I'm basing it off the MSX2 version, and was wondering:
a. Is it possible to specify your own custom resolution for a cart?
b. If so, how would I do that?

I want the game to run at 256x192 pixels, the native resolution of the MSX.

The title screen of Puyo Puyo MSX, for reference.

Thanks for reading! ^_^

2
7 comments


Go-cart!

10
1 comment


Hi, I tried searching through the API and on the BBS so I guess the answer is no but thought I'd ask explicitly in case I missed the info. Can you write programs that access the user camera (e.g. to write an experimental camera/filter application)?

If no immediately available way, could you write a Picotron app to take image input (jpg, png for example) through input in an application, that you then manipulate?

I am trying to decide if Picotron is the right software to work on some test applications I want to build. Thanks.

6 comments


Cart #zorionak_gemes-0 | 2025-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


Cart #headphonegirl_wallpaper-4 | 2025-04-01 | Embed ▽ | License: CC4-BY-NC-SA
13

A wallpaper of a girl wearing headphones that relates to the desktop theme.

In this way, the color scheme and background pattern change according to the theme.

change

  • Fixed: Background color was not reflected
13
6 comments


Cart #picoblaster-1 | 2025-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Just a simple space shoot 'em up.

Shoot enemy spaceships and dodge meteors.

Gets progressively harder.

0 comments


Cart #sedasimura-0 | 2025-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

First game

1
2 comments


Cart #eyn_pltk_dev-1 | 2025-03-31 | Embed ▽ | License: CC4-BY-NC-SA
8

PLTK ("Picotron Level ToolKit", working name) is a in-development tool attempting to provide a similar feature set as LDtk provides.

Its (and LDtk's) design revolves around pattern matching. A set of rules are executed for each tile to compare its value and its neighbors' to determine which tile to apply.

The tool's, while it looks more polished on the first aspect, is still under heavy tinkering in all of its aspects (from the GUI to the data format, etc.), so while it might look close to final, expect things to shift around.

How to use PLTK?

PLTK works with tile layers like map.p64 but instead of storing the tiles to show, they contain the type of the tiles from which the tiles will be deduced. See the "Tile types" section for an example of the tiles I currently have hardcoded in the cart for example.

[ Continue Reading.. ]

8
1 comment


Cart #mot_tlinex-2 | 2025-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
19

Update: Bug fixes

Here's a little line drawing routine I've used for Whiplash Taxi and some other work-in-progress carts.
I wanted to package it up like a drop in tline replacement.

It's equivalent to regular tline, but instead of drawing each tile it uses it to lookup a higher resolution 8x8 tile region and draws that instead. The result is a map with 8 times the detail (or 8 times the size, depending on how you look at it).

The demo is a simple go-cart example. You can press X to toggle between the new routine and the regular tline function.

The actual routine is in tab 1 and consumes 547 tokens.

To use it, you first create some 8x8 "textures" at the top left of your map region:

[ Continue Reading.. ]

19
2 comments


There are many ways to loop over an array-style table. For example:

local tab = {10,20,30,40}

-- method 1
local calc1 = 0
for i,elem in ipairs(tab) do
  calc1 += i*elem
end

-- method 2
local calc2 = 0
for i=1,#tab do
  local elem = tab[i]
  calc2 += i*elem
end

Which way is fastest? Well it often doesn't matter, since the work inside the loop usually far outweighs the cost of the loop itself. Or tokens might matter more to you than speed. But in some situations you want your code to be as fast as possible, and that means minimizing the overhead from the loop itself.

Setup

So, which way of looping is fastest? Here are the methods we'll compare:

function for_i(tab)
 for i=1,#tab do
  local x=tab[i]
  -- do some work
 end
end

function for_all(tab)
 for x in all(tab) do
  -- do some work
 end
end

function for_ipairs(tab)
 for i,x in ipairs(tab) do
  -- do some work

[ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=164729#p)
5
5 comments


HI! im making a little demo inspired by old terminals and i had this idea that you can see the character's reflection in terminal screen. however, if i draw the reflection before anything else, it covers the reflection, and if i place it after, well, the reflection now obstructs everything else.

Cart #madurorad-0 | 2025-03-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

So the idea is to looks something like this:

so i remembered a few carts that did same trickery of layering colors without obstruction, but with new color in result. fair enough, i found this cart on Zep's ambassador page.

Cart #gagiperuki-1 | 2025-03-29 | Code ▽ | Embed ▽ | No License
1

[ Continue Reading.. ]

1
2 comments


Cart #sehegegdo-2 | 2025-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
2

2
0 comments


Cart #saniwagono-2 | 2025-04-02 | Code ▽ | Embed ▽ | No License
2

Survive the chaos as long as you can

Blast off in your space ship in this Geometry Wars inspired roguelite where every run counts. Defeat the alien dreadnoughts and recover the powerful Titan ship... if you can manage the chaos.

This is my first PICO-8 game. Lmk what you think! Total play time is probably ~15-25 minutes if you want to unlock everything.

Controls:

  • Don't move to shoot.
  • PRESS X TO USE A POWER UP

How to play:

  • Shoot ships to earn coins in each run.
  • Unlock the four ships with coins.
  • Get cooler weapons.
  • Have fun.

Running a mission:

  • Avoid the enemy ships.
  • Stop moving to shoot.

[ Continue Reading.. ]

2
3 comments


--for the best experience, play with headphones on.

Cart #gutihebeso-0 | 2025-03-30 | Code ▽ | Embed ▽ | No License
8

--ABOUT--
Goom is a small, and yet challenging and fun demake of Doom, a popular fps.
you will run around a small room, defeating waves of enemies until you reach the final boss.
you can shoot using your mouse and run around the map with either the arrow keys, or esdf.
watch your ammo too, as you only have a little bit. however, ammo is restored each round. not your
lives though, so watch out for bullets, and dont get to close to the enemies!
and dont worry, your highscore will be saved!

--CREDITS--
this game was made by Dominic!

[ Continue Reading.. ]

8
0 comments


Cart #g1024bytes-0 | 2025-03-30 | Code ▽ | Embed ▽ | No License
9

1024 bytes

A pico-8 game developed for the Pico 1k Jam 2024.

Combine like-numbered tiles to reach tile 1024 before the grid gets full.

Controls

  • Up/Down/Left/Right to move the tiles

Credits

Written by: Greg Gaughan

Idea from 2048 by Gabriele Cirulli

9
0 comments




Top    Load More Posts ->