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

I was just watching a video about Loot Boxes and how Online games charge players real money in order to gain these items, which apparently are random items that can benefit the player to progress further in them.

Outlawed in several countries apparently.


And this is new stuff for me, the first I've heard of it. I know, now you can think on that a bit if you like. Sometimes I get so wrapped up in coding I'm unaware of the world around me.

However, I was thinking this might be something good and nice to have for Pico-8.

Not real loot boxes, not the ones that cost money anyways. But no, perhaps missions a player could go on in some of these advanced Pico-8 carts. The reward ? A loot box, completely free, earned by the dedication (and perhaps perspiration) of the player to go beyond the call of duty on side-quests and other items that the average player may skip over in their haste to see the ending to the game.

It's something to consider, and would definitely be icing on the cake of very fine and excellent Pico-8 carts already produced and written or in the process of being written.

There was something existing like this with the Gacha game by the very talented, @enargy.


And while it's grand fun, unfortunately that's all it was, a bit of a loot box. Where you get a new card every hour or so but no actual gameplay otherwise to earn them.

I think this could be worked into games where you play, you work at it real hard, and congrats, you finally won the game. But that's not the end of it. As you went through the game you did not see all the secret paths and secret doors that opened up the rest of the game. Or perhaps you saw them but could not access them. Playing and winning the game might get you 25% of finding everything in the game.

It's up to you to play multiple times to find every and all secrets.

And of course for locating one or more of these hard-to-find secrets, you are rewarded with ? A Loot Box.

The Loot Box might have items that let the player jump higher to access areas they could not when they went through the first pass on the game. Perhaps swimming gear so they can finally dive in the water and not drown. Special boots to let them cross hot lava. Special weapons and/or armor, new playable characters, new NPCs to meet, new story paths to follow, you name it.

It could open up paths previously locked but now could be opened since the player has the matching key.

It could have collectable sprites that you can bring up to put on a shelf to view them in detail (with accompanying description) later. I think Brave Fencer Musashi has this ability.


Just like we collect prizes from Cracker Jack or a cereal box, they are collectable.

The Loot Box would have something in it, whether it's a platformer, racer, shooter, fighter, battler, RPG, puzzle, whatever it might be. It might have something in it that would help the player and encourage them to play your game "Just one more time" so they can explore that new area they couldn't earlier.

What are your thoughts ? And are there any existing Pico-8 games that do in fact have Loot Box prizes for outstanding ability or perseverance in gameplay ?

P#69573 2019-11-01 22:27 ( Edited 2019-11-02 18:04)

Cart #bumparound-0 | 2019-11-01 | Code ▽ | Embed ▽ | No License

Arrow keys to bump around.

X to reset level.

Made for LDJAM45 "Start with Nothing"

P#69571 2019-11-01 20:01

Cart #ultima_vi_intro_music-0 | 2019-11-01 | Code ▽ | Embed ▽ | No License
This is a short recreation of Ultima VI's boot music, I thought it was cool enough to post

P#69570 2019-11-01 19:56

Cart #thesaurus-0 | 2019-11-01 | Code ▽ | Embed ▽ | No License

You're a T Rex that eats letters in the order of the alphabet! It's educational! It's also buggy as heck and there's no actual game to speak of yet. It doesn't even check if you eat the letters in the right order. But I think it's already kinda fun to play around with, so here it is. =)

P#69567 2019-11-01 18:11

Hi I have made a quick python script to turn an square picture to a string of text that can the be parsed by pico8 to make a nice splashscreen.

Pico8 code

function txt_to_pic(txt)
 local d={
 local x=0
 local y=0
 for i=0,#txt do
  if x>128 then 

And here is the python script (just replace "me.jpg" by your image):

import numpy
import PIL
img = PIL.Image.open("me.jpg")
img = img.resize((128,128))
imgarr = numpy.array(img)

        (171, 82, 54),
        (95, 87, 79),
        (194, 195, 199),
        (255, 241, 232),
        (255, 0, 77),
        (255, 163, 0),
        (255, 236, 39),
        (0, 228, 54),
        (41, 173, 255),
        (131, 118, 156),
        (255, 119, 168),
        (255, 204, 170)]


def color_dist(a,b):
    r1,g1,b1 = a[:3]
    r2,g2,b2 = b[:3]
    return int(((r1-r2)**2+(g1-g2)**2+(b1-b2)**2)**(0.5))

def best_col(c):
    distances=[color_dist(c,i) for i in p8colors]
    return  distances.index(m)
STR = ''

for y,line in enumerate(imgarr):
    for x,c in enumerate(line):



Cart #ganuhupawe-0 | 2019-11-01 | Code ▽ | Embed ▽ | No License

P#69552 2019-11-01 12:34 ( Edited 2019-11-01 12:35)

Cart #eniplatformsample-0 | 2019-11-01 | Code ▽ | Embed ▽ | No License

Made a sample platformer, mostly to show how to do things like collisions, camera, jump buffering, and slopes. I wrote this to be clear rather than to save tokens, and it has no real gameplay to keep the core of the engine as clear as possible.

The code for this cart can also be found on github and is MIT licensed.


  • Movement and jumping
  • Collision checking and resolution
  • Jump buffering
  • Slopes
  • Platforming camera
P#69543 2019-11-01 03:09 ( Edited 2019-11-01 03:31)

Cart #picolife3tease-0 | 2019-10-31 | Code ▽ | Embed ▽ | No License

Mister Freeeeeemaaan~

Z = progress text

(Text Box Lib by @oli424)


P#69536 2019-10-31 22:02 ( Edited 2019-10-31 23:05)

Since PICO-8 has #include to, well, include files, I thought of starting a git repo to provide handy functions in bundle to include from.

The public repo can be found at https://gitlab.com/zothynine/pico8-code-library

For now, there's only a text function, but feel free to particibate ;-)

Cheers, Z9

P#69527 2019-10-31 20:11

Cart #ywosahuru-3 | 2020-05-21 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Reposting this in carts, because it's as finished as it's ever going to be :-).

This is a little SDF ray marcher I've been playing with.
It renders two randomly placed spheres and a torus above a checker-board plane in different colours. Often one of them is reflective.

The code is ugly as heck, and the specular highlights are completely wrong, but it occasionally spits out something pretty imo.

Update: Changed to use sqrt() again, as it's much more accurate in v0.2.0

P#69517 2019-10-31 07:24 ( Edited 2020-05-21 09:26)

Cart #brexit-2 | 2019-10-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

A highly realistic simulation of Brexit negotiations. Enjoy the riveting and exciting career of a Brexit Prime Minister. Only you can do this, because no one else wants to deal with it.

I have not seen any 'political satire' games here, so I hope its a good precedent. There is very contextually implied nsfw material which is based on real events and quotes.

P#69500 2019-10-31 01:06 ( Edited 2019-10-31 21:39)

The interesting feature is that the cart stores a bunch of 4 letter words in a Bloom filter, e.g., about 6000 four letter words are probabilistically "stored" in 8 kilobytes. This English word database is stored in the region of memory reserved for the map.

The game itself is incomplete, but I wonder if other folks can think of other PICO-8 applications of a "four letter word database."

Cart #kisonecat_sapsword_1-0 | 2019-10-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#69493 2019-10-30 21:09

I haven't been able to stop thinking recently about how possible text to speech synthesis would be in Pico-8. A lot of people have tried creating synthetic speech and struggled profusely, however I think I have an idea which could simplify the whole process.

Basically, you would start by breaking everything down to phonetics. Each letter of the alphabet having it's own individual SFX, the remaining SFX slots dedicated to combined sounds like "CH", "SH" etc. These would be called upon together to craft full words and sentences.

For the actual text to speech system, each letter of the alphabet would be numbered. Not neccesarily in order however. The system would check sentences by multiplying and/or adding numbers. For example, the letter "H" could be assigned the number "3", while "C" could be "6" and "S" be "9". The outcome will depend on what multiple the system gets when multiplying the assigned numbers of the word, thus allowing "CHASE" and "SHADE" to use the correct phonetic for "C" and "S".

Actually executing this concept is far beyond my scope in both code and audio, but I thought I'd throw it out there maybe to even kickstart discussion. I have a feeling this would work even better with Japanese, since Katakana and Hiragana are constructed with basic syllables.

P#69492 2019-10-30 20:30 ( Edited 2019-10-30 20:30)

Whenever I log in via username and password, it doesn't work, even if I used the correct password. I have to use the email login. Is there something I'm missing?

P#69489 2019-10-30 16:55

There should be a part of RAM that can be read and written to by more than one game. This could work by a host cart having a whitelist of guest cart IDs that can use the shared RAM with the host game, and the guest carts have the ability to access the shared RAM from the get-go. This could be used by a Zelda clone where the game is split across multiple carts (like Picoware, but items have to persist between carts, so the host cart (the boot cart) puts the item data in the shared RAM, which the other guest carts can access and edit.

P#69464 2019-10-29 19:04

Hi, I am having a problem with sprites and the map.

It seems that the botom half of my spritesheets is interlinked with the bottom part of the map.

It is realy frustating, is there anything I can do?

P#69453 2019-10-29 12:38

Cart #yijebofuse-0 | 2019-10-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

I felt like ray marching a signed distance field in PICO-8.
(Don't ask me why..).

P#69443 2019-10-29 10:12

Cart #threeworlds-4 | 2019-11-21 | Code ▽ | Embed ▽ | No License

A simple weapon-based arcade-style beat 'em up. One hit kills, so be careful.


  • o: attack
    • while moving: light attack
    • whlle standing still: heavy attack (penetrates more defenses, but leaves you exposed if you miss)
    • all attacks require a windup. hold attack to keep attack ready, release at your leisure. Note: you will be vulnerable to enemies while holding. You also won't turn around (good for kiting)
  • x: defend
    • while moving: dodge
    • while standing still: parry (successful parry drops enemies defenses just long enough to counter)
    • while holding attack: cancel attack


  • player 1:
    • arrows: move
    • z/c/n: attack
    • x/v/m: defend
  • player 2:
    • esdf: move
    • lshift/tab: attack
    • q/a: defend

Choose from the following warriors:

  • Ba’aur the blue: carries a sword and shield. Great defense, so walk confidently.
  • Anjix the orange: carries a great axe. High strength, but slow moving. Choose your moment carefuly.
  • Pyet'n the purple: carries a flail. A speed demon, with little defense. Run circles around your foes.
  • Ruezzh the red: carries a spear. Great range. No need to keep your enemies close.

By default, you assume a defensive stance. Your defenses will be lowered if you miss a strike, or are struck yourself.

This game is in a very early stage. Bugs abound, and very little is finished.

P#69437 2019-10-29 02:29 ( Edited 2019-11-21 05:21)

Cart #warehose_heroes-0 | 2019-10-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#69433 2019-10-29 00:10

Cart #pollock-1 | 2019-10-28 | Code ▽ | Embed ▽ | No License

This is the PICO-8 version of a game I wanted to make about 3 years ago. I figured I should make a smol version of it and actually finish.

The final game will be a one-screen maze game with moving enemies, and hopefully something interesting with the painting mechanic. I also want people to make their own levels for it, so I made a separate level editor (not in PICO-8) that spits out a table that the game reads as a leves; super user f r i e n d l y .

Anyways, that's what this is. I hope I have something more interesting

P#69420 2019-10-28 22:21 ( Edited 2019-10-30 21:49)

Cart #dt-0 | 2019-10-28 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

TO LOAD THIS CART, type the following in immediate mode:

load #dt

You've probably seen some pretty amazing things in graphic demos done for Pico-8, none to me more satisfying than the dither effect I've seen between two colors, where one side of the screen is black, the other white, and a complex and beautiful pattern between both showing a kind of fade ability using only the same-color pixels.

The fill pattern is by @Megus, and you can find his demoscene cart HERE:


Now while he and his crew have made an amazing demo, this tutorial and focus will be only on the dither technique used to create a division between two-colors. While it looks great on 3-dimensional models, it is also quite a thing of beauty to appear even on the screen just by itself.

So, exactly how is this being done ? And why is dithering an important element in graphics ?

First off, Pico-8 has an ability to "shade" pixels automatically with the FILLP() command, so that is how it is being done. Why is it important ? They give the illusion of varying degrees of shade between two colors. Let's take this picture for instance:

Now let's first off convert it to Pico-8's palette:

Obviously it loses some of its quality. But what about this ? Where the picture is comprised of only two colors, black and white ?

While you can adjust the brightness to show more detail, you are still limited to the lost pieces that are too dark or too light to show.

So, how can dithering help this ? Let's see a few. Here is a dither using what is called, ORDERED. It's good, fast, certainly better than straight out B&W, but could be improved upon.

In fact improving this default has always been a bit of a science and artistic thing. Perhaps the most common and popular is the Floyd-Steinburg method thus:

A dramatic improvement. You can find more about this favored method of converting multi-color pictures to a smaller palette, or even just B&W as seen HERE:


For further research there is also the Burkes and Stucki method, both included on this page:



But now let's get back to the code here.

What this does is create an array that holds 16-numbers. The dither table itself is stored in Sprites comprised of 4 8x8-pixeled sprites altogether. 8 4x4 patterns across at the top, and 8-more 4x4 patterns at the bottom, yielding 16 in all.

Each of them represent a "winking out" of each of the 4x4 pixels, where the BLUE pixel represents the pixel being added to the total "wink outs" so you can easily track them, or even develop your own. The background colors are there for a guide only.


The current selection of pixels and which are added at what position are done SO in such a precise and perfect way that when spread across the screen, creates a beautiful dithering effect. Which of course can be used to render 3-dimensional objects in Pico-8 with varying degrees of shades to emulate the lack of hardware colors inherent to Pico-8, or can be used simply to create a nice transition between two colors.

See the sourcecode for more details, chock full of remarks on how to code and write your own rectangular dithers and to fully understand the command FILLP(). Thus ends the tutorial.


P#69408 2019-10-28 20:00 ( Edited 2019-10-28 21:11)
View Older Posts
Follow Lexaloffle:        
Generated 2020-06-05 09:37 | 0.158s | 2097k | Q:191