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 #mcg_epock-0 | 2023-02-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Hello again, everyone!

So I was stuck on a plane from DC to San Francisco today, so I did what any rational person in that position would do: I threw a 1-person "build something nifty on a long plane ride" game jam!

My last jammy thing was qdlst(), the Quick 'n' Dirty Locally Similar Tiler algorithm that I subsequently used to build Greave, the dungeon crawler I released this past weekend. Today, for a change, I decided to try my hand at a worldmap builder in the vein of Civilization.

Being as I was on an airplane and was not about to shell out good money for lousy wifi, all I had to work with was PICO-8 and the text-based manual. Since I couldn't remember any perlin noise procedures off the top of my head, I had to improvise, which is more fun, anyhow. I decided to go the geological route: I'd build a world by pummeling a blank slate with a bunch of meteors. add a little random noise every ten rounds or so, and you've got yourself a planet!

The end result is surprisingly nifty and builds a cool 128x128 world map in a matter of seconds (toggle the real-time viz off by pressing the up button to see the algorithm work at full speed.) Use the left and right arrows to increase/decrease the number of meteor iterations the program goes through.

P#125456 2023-02-07 04:53 ( Edited 2023-02-07 04:54)
:: Unfold ::

In order to expand Pico-8's scope of influence and interest, I was wondering if it was possible to compile a Pico-8 cartridge to a new kind of EXE. Not one that requires Windows as it can now but runs perfectly well in DOSBOX ?


Is this possible ?

P#125442 2023-02-06 23:19
:: Unfold ::

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

This is an application that looks at the memory of the PICO-8.

Left-Display previous byte
Right-Display next byte
Up-Increment memory address
Down-Decrement memory address
o-Decrement memory address by 8
x-Increment memory address by 8

The code has a string and number stored to find in memory.
There is also a graphic and sfx to locate in memory.
I initially made this to look at the lua code and answer a few questions I had like what the endianness of the CPU is (it is little-endian if I worked things out correctly). Perhaps there are other things that can be found about the CPU. Maybe I could add a way to poke values in to test things.
I whipped this up and added a few features to make things a bit easier. Do whatever you want with it. If the BBS gave me the option I would have put it as CC0, but I selected CC4 because it was closest.

The code increments after displaying what is in the address.

P#125426 2023-02-06 19:23
:: Unfold ::

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

Control: Press any key to break

Warning: Photosensitive epilepsy may result from this game.

P#125416 2023-02-06 16:47 ( Edited 2023-02-06 16:57)
:: Unfold ::

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

Hello, everyone!

I've put together a little homage to one of the classics of the 1980's arcade scene, Gauntlet. It's only one player (boo!) but it introduces procedurally-generated levels using the Quick 'n' Dirty Locally Similar Tiler algorithm I put together a few months ago. Run around, kill baddies, get powerups and treasure, and slowly uncover the deep and complex story of why, exactly, you're doing all of this.

This is a 1.0 release, so it's feature complete, probably buggy here and there, needs optimization, and is really bumping up against the token count. 😬

Have fun, and let me know what you think!

P#125395 2023-02-06 04:28
:: Unfold ::

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

P#125389 2023-02-06 00:50
:: Unfold ::

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

Picowide, a function-based font.

"Picowide", as the name suggest, is nothing more but the classic pico8 font, but wider on the left side.
This gives it eye-catching characteristic, as its based on the original but with an extra twist; familiar but new.

"Picowide" is printed exclusively through code, explained step by step in the code. Its not "a custom font".

The following gif is an example of how the font is used (At the start, with "play" and "credits", on the score-top right and on the time-bottom left)

The "Picowide" code has been published under the creative commons license "CC4-BY-NC-SA".

P#125387 2023-02-06 00:22 ( Edited 2023-02-06 00:23)
:: Unfold ::

Cart #beet_em_up-0 | 2023-02-05 | Code ▽ | Embed ▽ | No License

Beet 'em Up is an arcade style high-score chaser about throwing beets at your enemies!

This game was made in just a few hours for the Global Game Jam 2022. There is a lot of polish I wish I could have added (like actual animations) but I'll have to come back and add those later. For now I'm happy to have a finished product that I find quite fun :) Hope you enjoy it as well!

P#125384 2023-02-05 23:01 ( Edited 2023-02-05 23:04)
:: Unfold ::

Cart #shipnickers-0 | 2023-02-05 | Code ▽ | Embed ▽ | No License

You are a ship collector with questionable methods of obtainment. Collect the 100 unique ships!
...and maybe there's a final fight for you at the horizon, who knows?

Player 1:
Move: arrows
Primary weapon: C/Z
Secondary weapon: X

Player 2:
Move: ESDF
Primary weapon: Tab
Secondary weapon: Q

  • 100 unique ships
  • 10 different weapon systems
  • Sliding difficulty
P#125373 2023-02-05 19:27
:: Unfold ::

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


Made for the Mini Jame Gam 2023

This is the first game I've ever actually finished and was used to help me learn to code. That being said, there's a little bit of jank.


left and right arrow keys move you around.


Catch the enemies' boulders but don't get hit! Periodically, flags will spawn limiting how far back you can move.


This was made for the Mini Jame Gam 2023 and is the first finished development project by myself, Dana St. Amand. (*finished is a relative term)

The theme of the Jam was "Reverse" and the special object was "flag." I took a little bit of a broader approach to the idea of "Reverse" by expanding the definition to include the opposite of what you would expect to happen. The jury is still out on if that was a good decision. I really used this Jam and the limitations of Pico-8 to force myself to learn how to code after years of dipping my toes in and being scared of getting wet. Despite the jank, I think it worked out okay!


Dana St. Amand
Instagram (It's a brand new account... old one got hacked...) @danast.amand

P#125370 2023-02-05 19:07 ( Edited 2023-02-06 00:20)
:: Unfold ::

Cart #babepizoha-0 | 2023-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
english -- a game where need to drop rotten-gnocchis into a well to survive...
français -- un jeu ou tu dois faire tomber des gnocchis putréfiés dans un puit pour survivre...

P#125366 2023-02-05 15:54
:: Unfold ::


-- save to p8.rom format

Outcome (bug): test.p8.rom is actually a png file!!

P#125362 2023-02-05 13:32 ( Edited 2023-02-05 13:33)
:: Unfold ::

Maze solving algorithms

More coming soon!



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


Takes ages, so I made it faster


Breadth-First Search

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


Actually not bad, although will search a lot


Depth-First Search

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


Worse than BFS, because it misses nearby targets



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


Might fail with loops


Dead-End Filling Algorithm

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


Will fail with loops

Produces a path



Too lazy to code my own.
Instead, check this one made by @dw817:


P#125359 2023-02-05 11:57
:: Unfold ::

Cart #rush_tree-6 | 2023-02-05 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Nearly finished! Took a few months to make, probably quite buggy.

P#125335 2023-02-05 00:22 ( Edited 2023-02-05 22:04)
:: Unfold ::

Cart #yugemijanu-0 | 2023-02-04 | Code ▽ | Embed ▽ | No License

my first pico 8 game. I used a bunch of tutorials for this, the one that I mainly used would be pico 8 top down adventure game tutorial by Dylan Bennett.

controls: m is inventory and n is close text. The rest is your typical arrow key setup

P#125323 2023-02-04 19:18 ( Edited 2023-02-04 19:19)
:: Unfold ::



One of the limitations of Pico-8's educational edition is that you cannot import or export sprites. So - making use and only making use of the system itself, I show how you can actually do so.

First off, if you do not have Pico-8 yet, you can either purchase it HERE:


Or get more information and make full use of the educational edition, HERE:


Now the primary restriction to the educational edition is the lack of SPLORE, which is well-worth the cost of the system ($15) in all cases. You just boot up Pico-8. Type out SPLORE followed by the ENTER key and you have a wonderful frontend for all the gaming carts written in Pico-8 - sorted by popularity, how new they are, and you can search for carts by key words and names such as "star trek."

The other is using the IMPORT and EXPORT command, also disabled. Yet importing and exporting sprites for the educational edition of Pico-8 is the focus of this topic - it can be done after all - and it does not require outside code.

To load any Pico-8 cart in the educational edition from the website Lexaloffle, type in immediate mode, load # include that pound sign, and the name of it, for instance, see the frame here:

Notice to where the arrow is pointing. Here is an enlargement of that area:

So the name of this cart is "dialog." Do not include the minus "-" or any text after that.

To load this in the educational edition of Pico-8, type in immediate mode, load #dialog followed by ENTER.

And now you have some sprites to experiment with !

Either use this cart or any cart that has sprites you'd like to test - to see how to save off as a PNG file.

To save off these sprites to a PNG file, remove the code. You can do this in the code editor by pressing CTRL+A and the BACKSPACE key. Then type the following:


Run this with CTRL+R.

This will create a saved image as seen as a small square to the right of your programming frame. In there, RIGHT-CLICK your MOUSE and choose "Save image as ..." to save off this spritesheet as a 128x128 pixeled PNG file.

To recover the original source code, back in the code editor press CTRL+Z until the original code reappears highlighted, then press any arrow key to remove the highlight and the code is back.

Be aware there is no easy way to IMPORT a PNG file to Pico-8 educational edition, yet you can transfer graphics between these carts, read on.

You should also know that you can have more than one educational Pico-8 frame open at a time yet they DO NOT share files. You can see this by working in one frame, type in immediate mode either DIR or LS followed by ENTER and see the files you work on do not appear in both frames.

So always save your files to your HD, you can easily do this by typing in immediate mode: save test or whatever filename you want, folowed by the ENTER key.

To load a file you have saved on your hard-drive, type out: load withou anything else followed by the ENTER key and a filebox will come up letting you load that cart from your hard-drive.

Now to transfer graphics between one cart and the next, first off click in the red bar above the icon that looks a little like a demon.

You will get this screen:

Press CTRL+G to add grid and there you go. Here is where all your graphics go. I'll draw a few and return. Draw some yourself if you like.


OK we have 4-sprites. To transfer these to another Pico-8 educational edition tab that is open, to start left-click on the first sprite, the "1" Now holding down the SHIFT KEY drag the mouse to the right until all 4 are highlighted, then release the shift key. It should look like this:

Still maintaining the highlight on these 4-sprites. Press CTRL+C to copy that to the clipboard.

Now go to your OTHER Pico-8 educational edition frame, go to the spritesheet where you want to paste these 4-sprites, IE here:

Now right where the cursor is, press CTRL+V. You will see your 4-sprites posted.

Use this method to save your sprites from one Pico-8 educational edition cartridge to another.

Now if you want to post some sprites in Lexaloffle, still having your clipboard with those 4-images, you can anywhere in your message also press CTRL+V. It will appear as such:


But when you PREVIEW or POST, it will appear as such:


If you want to save these graphics for later, you can also save them in NOTEPAD or really any normal text editor. Just paste them and maybe put a label above what the sprite is supposed to be.

When you are ready to use this image in your code, highlight all of it minus your notes telling you what it is, and in your sprite sheet, press CTRL+V. It will paste the correct image accordingly.

OK !

Now you know how to import and export graphics between the educational edition of Pico-8 ! :)

If you found this helpful or have further questions, please let me know.

Thanks !

P#125315 2023-02-04 19:02 ( Edited 2023-02-04 19:53)
:: Unfold ::

Cart #depefapugi-0 | 2023-02-04 | Code ▽ | Embed ▽ | No License

I play P.Craft a lot so I thought I'd do a remake of it

what I did:
-- changed item names
-- changed item sprites
-- changed grass sprites
-- tweaked some stuff

P#125304 2023-02-04 12:45
:: Unfold ::

Cart #amethyst-0 | 2023-02-04 | Code ▽ | Embed ▽ | No License
amethyst is a top-down game I threw together just to experiment with RPG-style code.

feel free to play around with it.

  • iffymd2003 :-]
P#125303 2023-02-04 12:42 ( Edited 2023-02-04 12:43)
:: Unfold ::


Okay, so the functionality is there, but you forgot to add it to the list you get if you type config by itself. Currently this is all you get:

> config
config [setting]

available settings:

Might wanna check and make sure there aren't any other additions you've missed adding here.

P#125296 2023-02-04 08:48
:: Unfold ::


I am understanding I am not to write a program that allows you to import/export PNG files to and from P8 cartridges, so I wrote this in an attempt to assist other Pico-8 users of the educational edition since they cannot import or export graphics or music.

It uses a variance of the graphics for the little library I wrote, the first Picotron program written found HERE:


I exchanged the spider and bomb for Forest (tree) and rubble which can double as mountains. There are some miscellaneous sound effects and I also added a musical note player that overlaps the notes as they play so they sound better.

Cart #p8edulib-1 | 2023-02-04 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
(v01 02-04-23)
TO LOAD THIS PICO-8 CART, in immediate mode, type: load #p8edulib

-- educational edition library
-- written by dw817 (02-03-23)

-- standard pico-8 ⌂ license.

-- useful for either the
-- educational edition of
-- pico-8 or the lazy coder
-- in all of us. :)

function _init()

-- clear screen.

-- this string contains all 128
-- 8x8 pixeled characters.
-- it includes uppercase
-- letters, lowercase letters,
-- and 32-special gaming
-- characters. they are in no
-- way compressed. if you want
-- compressed, let me know and
-- i will write the code for
-- it.

-- draw out all 128-characters
-- so you can see what they
-- look like.
  for i=0,7 do
    for j=0,15 do

-- simple text.
-- notice i am swapping upper/
-- lower case so uppercase is
-- printed by default and
-- lowercase is achieved by
-- pressing ctrl+p for puny
-- mode and again to return
-- back to normal typing.
print8("\130 hello world! \130",0,12)

-- play all 8 notes, up an
-- octave, then sharps for
-- them.


-- just loop forever.
function _update()

-- custom print 8x8 character
-- from included font stored in
-- global string fontz.
-- t = text to print.
-- use \128 to \159 for special
-- characters.
-- each character is separated
-- by 8-pixels horizontally and
-- 8-pixels vertically.
-- x = x-position (0-15).
-- y = y-position (0-15).
-- 82-tokens or 179-chars.
function print8(t,x,y)local s,a=sub for i=1,#t do a=(ord(s(t,i,i))-32)*64+1for j=0,7do poke4(24576+4*x+512*y+j*64,"0x"..(s(fontz,a,a+3).."."..s(fontz,a+4,a+7)))a+=8end x+=1end end

-- some simple sound effects
-- you may want to have in your
-- carts.

function sfxup()print("\ax1c")end

function sfxdown()print("\ax3c")end

function sfxshot()print("\ax3p5c")end

function sfxhiboom()print("\as~i6x3c5")end

function sfxloboom()print("\as~i6x3c1")end

function sfxwalk()print("\as3i6x3c3.c2")end

function sfxbip()print("\as2i7x5c5")end

function sfxbop()print("\as2i7x5c3")end

function sfxbeep()print("\a")end

-- play musical notes.
-- use a b c d e f g for notes.
-- use [ to decrease octave.
-- use ] to increase octave.
-- use . to skip a note.
-- use # to play sharp note ie:
-- a# b#
-- use - to play flat note ie:
-- a- b-
function music8(t)local s,a,p,c,d=sub,0,3for i=1,#t do c=s(t,i+a,i+a)d=s(t,i+1+a,i+1+a)if d=="#"or d=="-"then c=c..d a+=1end if c=="["then p=max(0,p-1)elseif c=="]"then p=min(5,p+1)else print("\^d9 \as\200i7x5"..c..p,0,0)end if i+a>=#t then break end end end

Users of the educational edition of Pico-8, you can copy this code by clipboard and paste directly in your source-code. It not only has 128-characters and game sprites but a fairly robust library of sound effects and the ability to play notes overlapping each other.

If you found this helpful or have further questions, please let me know.

Thanks !

P#125285 2023-02-04 06:28 ( Edited 2023-02-04 19:54)
View Older Posts
Follow Lexaloffle:          
Generated 2023-02-07 05:33:18 | 0.110s | Q:93