Log In  
BBS > Lexaloffle Community Superblog
This is a combined feed of all Lexaloffle user blogs. For Lexaloffle-related news, see @zep's blog.

All | Following | PICO-8 | Voxatron | General | Off-site
:: Unfold ::

Cart #eng-0 | 2023-06-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


arrow keys and the "X" and "C" buttons

P#130474 2023-06-03 04:26
:: Unfold ::

Cart #siyupisesi-0 | 2023-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


This is a small roguelike inspired by the Shin Megami Tensei games

How To Play


  • Left Arrow and Right Arrow to turn
  • Down Arrow to turn 180 degrees
  • Up Arrow to move forward
  • X to open/close the map and to select moves when in combat
  • Z to run when in combat


You will encounter enemies while you explore the dungeon. Each enemy will have a weakness. The likelihood of encountering an enemy is indicated by the compass. When the compass has a red ring, you will encounter an enemy soon.

You will find a ladder on each level. This level will take you to the next floor. Each floor will increase the enemies difficulty.

You can press X to open the map. Use this to find items and the ladder.

Throughout the dungeon you will find various items. Health items will increase your max health and current health.

MP items will raise your max MP and your current MP. MP is used to cast spells.

Power items will increase the amount of damage you deal to an enemy.

Random items will give you either a random stat buff or a debuff.

P#130463 2023-06-02 16:54
:: Unfold ::

Logarithm Benchmark

Cart #log_bench-0 | 2023-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Logarithm algorithms

wiki method




the wiki method uses an interesting property of logarithms to compute a value. specifically:
log(A * B) = log(A) + log(B)
by using a look up table for all the logarithms (base 10 of course) of the first 9 digits (1-9) we can use the following code to compute logarithms:

log10_table = {
 0, 0.3, 0.475,
 0.6, 0.7, 0.775,
 0.8375, 0.9, 0.95, 1

function log10(n)
 if (n < 1) return nil
 local t = 0
 while n > 10 do
  n /= 10
  t += 1
 return log10_table[flr(n)] + t

what this algorithm actually does is repeatedly divide by 10 and add the number of times it does this to a counter. Essentially we are assuming the number n can be expressed as m * 10 *10 *10... and we are simply removing these tens. then re-adding them in at the end.

extended wiki method


tokens:98 (can probably be improved easily)


its the same thing but we use the following properties to extend the domain of the function:
log base n of m = log base 10 of n / log base 10 of m
log(n)=log(A)-log(A/n) when 0 < n < 1

my method




I simply test 'all' the possible digits and calculate the error. then take the digit with the lowest error then I move on to test the next digit. Effectivly a brute force method.
The code:

function log(n,m)
 assert(n>0and m>0and m!=1)
 if(m<1)return log(n,10)/log(m,10)
 if(n<1)return -log(1/n,m)
 local g,cur,err='0000.0000',g,9999
 for i=1,9do
  if i!=5then
   for j=0,9do
    local c=m^tonum(cur)-n
    if abs(c)< err and c<=0then
 return tonum(g)
P#130462 2023-06-02 15:49
:: Unfold ::

Cart #bebopjukebox-0 | 2023-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

This is a sample jukebox of songs made with bebop, a music generator desktop app I created for making songs for videogames. With bebop you can generate songs in .wav format or export a function that saves the song in your Pico-8 cartridge in the sfx and pattern slots (either momentarily or permanently).

You can find the tool here: https://srsergior.itch.io/bebop

This jukebox has a couple of generated songs that show the type of music that bebop can make. I think that this tool can be useful for giving Pico-8 games that extra musical polish in fast game jams and other projects :)

(it is not an AI tool)

how to export from bebop to Pico-8

P#130455 2023-06-02 15:18
:: Unfold ::

Hey @zep I was working on my game and found that my pokes were failing to update the .p8d.txt?
here I tried doing:


I found it replicable by doing


local v = @0x5e00
if v<8 then
 [email protected]


I understand if it's meant to take time to update the file but my game depends on this writing to memory for handling state and I wish I could rely on it.. is there some way to make sure the file has time to be written to that'd be token cheap? like giving it extra flip time or something?
I'm on v0.2.5e not sure if this exists on newer versions.

P#130443 2023-06-02 08:13 ( Edited 2023-06-02 08:13)
:: Unfold ::

Cart #randomcartloader-0 | 2023-06-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Random Cart loader

Loads random cartridge off bbs

Fun for wasting time and getting nothing done!

P#130435 2023-06-01 23:16
:: Unfold ::

dear @zep

so, i use pico 8 EDU, everywhere! (songs, games, existential crisis, you name it!) and I usually use my PC for it! the problem is, sometimes i get too exited and accidently tap my screen, EDU thinks that means im on mobile and i cant use my real mouse, so i have to quickly save the project and load it back in on another tab, seeing as how many times i ( and most of everybody who has AD(H)D)do this a day, it gets annoying, fast, please fix this!!!

  • tetris mino
P#130433 2023-06-01 22:43 ( Edited 2023-06-01 22:44)
:: Unfold ::

PICO-VIEW: May 2023

Hello Pico-View Reader, this May issue is the fifth in the series. This month has been jammed full of fun in the community. In this issue we are placing a focus on the multiple game jams that occured in May and the many PICO-8 games made for them!

We'll begin with our usual tasty Game Dev Articles, and then we'll take a look at each major jam that happened this month, with some jam-specific articles sprinkled in there as well. This issue is stuffed with games, so if you missed out on all the releases this month, don't worry, we've got you covered with the must-plays.

Thank you to the writers, contributors, and all supporters, that includes you reader! We thank you from the bottom of our hearts. And with that, have fun adventuring through the pixels and paragraphs of this issue of the Pico-View web-zine!


Glimm, RidgeK, Luchak, Citizen608, Marina, Achie, Andrew Reist, Fletch, Kevin Portelli, and Nerdy Teachers


Godmil, NoBad7049, Munchkin


-So You want to Make a Game - Glimm
-Basic Chord Progressions - RidgeK
-RP-8 Rendering (Part 2) - Luchak
-Featured Interview - Citizen608 ft. Marina

-Start of Game Jam Section
-PICO-butter and Jam: Spreading Game Dev Delight in every Byte - NerdyTeachers

-Game Jam #1
-Ludum Dare Jam 53 Intro
-LD Jam Featured PICO-8 Games
-Featured Game Review: Air Delivery - Achie

-Game Jam #2
-TweetTweet Jam 8 Intro - Andrew Reist
-TT Jam Featured PICO-8 Games
-The Making of TweetTweet Game: XTRIS - Fletch

-Game Jam #3
-Pursuing Pixels Jam 2 Intro - Kevin Portelli
-PPJJGG Jam Featured PICO-8 Games
-Conclusion of Game Jam Section

-Random Reviews - New Release Recommendations
-Prototype Party
-Closing Remarks

To read this issue of the Pico-View Web-Zine go to the nerdyteachers website here:

P#130432 2023-06-01 21:27
:: Unfold ::

Did anyone else get swarm racer 3000 with their copy of pico-8 (and is it any good) or is it just me

From your local autism gremlin

P#121681 2023-06-01 14:35
:: Unfold ::

Cart #snake8-1 | 2023-06-01 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#130389 2023-06-01 00:45 ( Edited 2023-06-01 20:36)
:: Unfold ::

Cart #flying_mario-0 | 2023-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#130382 2023-05-31 23:11
:: Unfold ::

Cart #shaiza-1 | 2023-06-02 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

lil demake of shazia from counterpact :3

P#130378 2023-05-31 22:31 ( Edited 2023-06-02 20:50)
:: Unfold ::

Cart #gawodokoju-0 | 2023-05-31 | Code ▽ | Embed ▽ | No License

use c to move

(i stole some of the code so thanks to @nonsako)

P#130368 2023-05-31 16:59
:: Unfold ::

Cart #tuhipujowa-0 | 2023-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
My current work in progress

P#130367 2023-05-31 16:05
:: Unfold ::

Cart #gunturtle_cafe-0 | 2023-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

arrow keys to move, z to jump, x to dash.
you can change direction mid-dash!

a mod of Celeste by Maddy Thorson and Noel Berry:

P#130350 2023-05-31 04:36 ( Edited 2023-05-31 04:36)
:: Unfold ::

Cart #super_mario_pico_8_stars-0 | 2023-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#130346 2023-05-31 00:38
:: Unfold ::

Cart #radio_samsa-18 | 2023-05-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#130345 2023-05-31 00:06 ( Edited 2023-05-31 08:25)
:: Unfold ::

Cart #typingwhiledriving2-0 | 2023-06-01 | Code ▽ | Embed ▽ | No License

Texting and Driving Simulator!

Arrow Keys- rotate and move the car in forward or reverse
Z and X- use to type messages: unpack your complicated relationship with Buddy and Sarah!

Try and type as many characters as possible while dodging oncoming traffic and hopefully making it back home in one piece!

P#130342 2023-05-30 23:47 ( Edited 2023-06-01 03:03)
:: Unfold ::

Cart #sinazohib-0 | 2023-05-30 | Code ▽ | Embed ▽ | No License


This is a small, narrative game that I've been working on for a little while.
I hope that you connect with the story and have fun exploring it's world.

This is definitely a version 0.5, but I felt like there was enough here to share and I welcome any feedback that you all have.

Credit and gratitude to Nerdy Teachers and Lazy Game Devs. I spent a lot of time with your tutorials and they have helped so much! (And I definitely used the code for the Nerdy Teachers platformer tutorial as the starting point for this game.)

I've also been incredibly inspired by playing others games in Splore. It's so awesome that a community like this exists.

Thank you for playing!


P#130335 2023-05-30 21:51 ( Edited 2023-05-30 22:13)
:: Unfold ::

When using multiscreen mode, the following function (which should print a scaled text) turned out to render only on the first screen:

function scale_text(str,x,y,c,scale)

    -- draw to spr mem at 0x0000
    -- draw to screen mem again

    local w,h = #str*4,5


Just like normal printing, I expected this to work in multiscreen with the following calling code:

scrs_w, scrs_h = 3,1;
scr_ix = 0;

_camera = camera
function camera(x,y)
  x = x or 0
  y = y or 0
  local dx=flr(scr_ix % scrs_w)
  local dy=flr(scr_ix / scrs_w)
  _camera(x+128*dx, y+128*dy)

function _draw()
  scr_ix = stat(3)



  return scr_ix < stat(11)-1

But the result is a cut-off scaled text, while the normal text and the other sspr() call work just fine.

I think this is a bug in PICO-8, with remapping gfx memory not properly working in multiscreen mode.

P#130328 2023-05-30 18:59
View Older Posts
Follow Lexaloffle:          
Generated 2023-06-03 14:41:28 | 0.139s | Q:92