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

Controls

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

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

Cart #porter-4 | 2023-06-03 | Code ▽ | Embed ▽ | No License
1

Controls

Z to Jump
X to Teleport
Arrow Keys to Move and Aim
-There is a 'WIPE SAVE' option in the pause menu ('p')

Rules

In Porter, you play as Yug who may teleport and jump. If Yug teleports into a wall, Yug dies. If Yug jumps into spikes, Yug dies. The goal is to use Yugs teleportation and jump to get to the yellow coin in each level.

Story

Yug is a Porter, a gatekeeper to the underground city. They don’t pay him enough to live IN the city, so he lives outside where it is dark and dangerous… but he LOVES it outside!! Help Yug get to work by jumping, dodging and teleporting your way to safety! I hear if Yug clocks in early enough he might get a raise…

Bounties

The first person to send me a video of them achieving “RANK B” gets a $20 gift card.
The first person to send me a video of them achieving “RANK A” also gets a $20 gift card. (this one is messed up hard)
The video must contain the full run, to reach me go to my Twitter @BluMakesGames

Download from Itch - https://blumakesgames.itch.io/porter

P#130473 2023-06-03 03:14 ( Edited 2023-06-03 03:15)
:: Unfold ::

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

Description

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

How To Play

Controls

  • 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

Gameplay

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

stats

tokens:46

description

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
 end
 return log10_table[flr(n)] + t
end

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

stats

tokens:98 (can probably be improved easily)

description

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

stats

tokens:118

description

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
    cur=sub(g,1,i-1)..j..sub(g,i+1)
    local c=m^tonum(cur)-n
    if abs(c)< err and c<=0then
     g,err=cur,abs(c)
    end
   end
  end
 end
 return tonum(g)
end
P#130462 2023-06-02 15:49
:: Unfold ::

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

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:

  ?"⁶!5e00²"
  ?dget(0)
  stop()

I found it replicable by doing

cartdata"test"
color(7)

local v = @0x5e00
if v<8 then
 [email protected]
 ?"⁶!5e00"..chr(v+1)
 run()
end

?"done"

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
4

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!

Authors:

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

Contributors:

Godmil, NoBad7049, Munchkin

Contents:


-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:
https://nerdyteachers.com/PICO-8/Pico-View/?issue=5

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
2

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

Bad Apple on Pico8

Link to github here
Note this works by dragging and dropping a frameData.bin onto the running cart so it dose not work on BBS.

Drawing Function Used by Cart:

--main
print("dropfile")
repeat
until stat(120)
cls()
polys={{}}
i=0
p = 1
size=0
function _update()  
    byte=0
    while byte!=0xff do
    if i>=size then
        size = serial(0x800,0x4300,1000)
        if size==0 then
            stop("done")
        end
        i=0
    end
        byte = peek(0x4300+i)
        if byte!=0xff and byte!=0xfe then
            add(polys[p],byte)
        end
        if byte==0xfe then
            p+=1
            add(polys,{})
        end
        i+=1
    end

end

function _draw()
    cls()
    for poly in all(polys) do
        line(poly[1],poly[2],poly[1],poly[2])
        for i=1,#poly,2 do
            if poly[i]==0xff then
                stop("here")
            end
            line(poly[i],poly[i+1],7)

        end
    end
    polys={{}}
    p=1
end

How it works

frameData.bin contains all the video data, every 2 bytes is an x,y coordinate for the endpoint of a line, an 0xfe byte represents the end of a polygon, a 0xff byte represents the end of a frame.

The pico8 cart reads this data 1,000 bytes at a time, and draws the outline of each polygon (filling them in would be a challenge).

Shout Out

Shout out to this project here which did the initial work of turning the original video into a list of polygons, which this project is based on.

Follow Up

I'd like to investigate the possibility of compressing the frame data into a single cart, which might be difficult at full scale resolution. I'd also like to investigate algorithms for filling in the polygons efficiently. Any ideas / advice is most welcome!

P#130387 2023-05-31 23:53
:: Unfold ::

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

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
1

use c to move

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

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

I can't get my custom font with variable width to work

the font maker tool

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

a cart that uses the result code

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

and also the output code:

poke(0x5600,unpack(split"5,8,8,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,63,63,63,63,63,63,0,0,0,63,63,63,0,0,0,0,0,63,51,63,0,0,0,0,0,51,12,51,0,0,0,0,0,51,0,51,0,0,0,0,0,51,51,51,0,0,0,0,48,60,63,60,48,0,0,0,3,15,63,15,3,0,0,60,6,6,6,6,0,0,0,0,0,48,48,48,48,30,0,99,54,28,62,8,62,8,0,0,0,0,24,0,0,0,0,0,0,0,0,0,3,6,0,0,0,0,0,0,0,1,0,0,0,5,5,0,0,0,0,0,2,5,2,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,2,0,3,0,0,5,5,0,0,0,0,0,0,20,62,20,20,62,20,0,8,60,10,62,40,30,8,0,0,18,24,12,6,18,0,0,14,27,27,110,59,59,110,0,4,4,0,0,0,0,0,0,24,12,6,6,6,12,24,0,12,24,48,48,48,24,12,0,0,54,28,127,28,54,0,0,0,12,12,63,12,12,0,0,0,0,0,0,0,6,6,3,0,0,0,31,0,0,0,0,0,0,0,0,0,0,1,0,32,48,24,12,6,3,1,0,6,9,13,15,11,9,6,0,2,3,2,2,2,2,7,0,7,8,8,15,1,1,15,0,7,8,8,14,8,8,15,0,9,9,9,14,8,8,8,0,15,1,1,15,8,8,7,0,14,1,1,15,9,9,7,0,7,8,12,6,2,2,2,0,6,9,9,15,9,9,6,0,7,9,9,14,8,8,7,0,0,0,3,0,0,3,0,0,0,0,2,0,0,2,1,0,48,24,12,6,12,24,48,0,0,0,30,0,30,0,0,0,6,12,24,48,24,12,6,0,15,9,8,12,6,0,6,0,0,30,51,59,59,3,30,0,0,0,6,8,14,9,14,0,0,1,1,7,9,9,6,0,0,0,6,9,1,9,6,0,0,8,8,14,9,9,6,0,0,0,6,9,15,1,14,0,0,12,2,2,15,2,2,0,0,0,6,9,9,14,8,6,0,1,1,7,9,9,9,0,0,2,0,3,2,2,7,0,0,4,0,6,4,4,4,3,0,1,9,5,7,5,9,0,0,0,1,1,1,1,6,0,0,0,17,27,21,17,17,0,0,0,7,9,9,9,9,0,0,0,6,9,9,9,6,0,0,0,6,9,9,7,1,1,0,0,6,9,9,14,8,8,0,0,6,13,1,1,1,0,0,0,14,1,15,8,7,0,0,2,7,2,2,2,4,0,0,0,9,9,9,9,14,0,0,0,9,9,9,13,6,0,0,0,17,17,21,31,10,0,0,0,17,10,4,10,17,0,0,0,5,5,5,6,4,3,0,0,7,8,6,1,14,0,31,3,3,3,3,3,31,0,1,3,6,12,24,48,32,0,31,24,24,24,24,24,31,0,6,15,9,0,0,0,0,0,0,0,0,0,0,0,15,0,6,12,0,0,0,0,0,0,6,9,9,9,15,9,9,0,6,9,9,7,9,9,7,0,6,9,1,1,1,9,6,0,7,9,9,9,9,9,7,0,14,1,1,7,1,1,14,0,14,1,1,7,1,1,1,0,14,1,1,13,9,9,6,0,9,9,9,15,9,9,9,0,7,2,2,2,2,2,7,0,15,4,4,4,4,4,3,0,9,5,5,3,5,5,9,0,1,1,1,1,1,1,14,0,17,27,21,17,17,17,17,0,9,9,11,15,13,9,9,0,6,9,9,9,9,9,6,0,14,9,9,7,1,1,1,0,6,9,9,9,9,5,10,0,7,9,9,15,5,5,9,0,14,9,1,15,8,9,7,0,15,4,4,4,4,4,4,0,9,9,9,9,9,9,6,0,9,9,9,9,9,13,6,0,17,17,17,21,21,27,17,0,17,17,10,4,10,17,17,0,9,9,9,14,8,8,7,0,7,8,4,6,2,1,14,0,28,6,6,3,6,6,28,0,8,8,8,0,8,8,8,0,7,12,12,24,12,12,7,0,0,0,110,59,0,0,0,0,0,0,0,0,0,0,0,0,127,127,127,127,127,127,127,0,85,42,85,42,85,42,85,0,65,99,127,93,93,119,62,0,62,99,99,119,62,65,62,0,17,68,17,68,17,68,17,0,4,12,124,62,31,24,16,0,28,38,95,95,127,62,28,0,34,119,127,127,62,28,8,0,42,28,54,119,54,28,42,0,28,28,62,93,28,20,20,0,8,28,62,127,62,42,58,0,62,103,99,103,62,65,62,0,62,127,93,93,127,99,62,0,24,120,8,8,8,15,7,0,62,99,107,99,62,65,62,0,8,20,42,93,42,20,8,0,0,0,0,85,0,0,0,0,62,115,99,115,62,65,62,0,8,28,127,28,54,34,0,0,127,34,20,8,20,34,127,0,62,119,99,99,62,65,62,0,0,10,4,0,80,32,0,0,17,42,68,0,17,42,68,0,62,107,119,107,62,65,62,0,127,0,127,0,127,0,127,0,85,85,85,85,85,85,85,0"))

I made a custom font with the font maker from zep, but I need custom width and it just doesn't work for me.

I have really tried to make the variable width work but as soon as I put it into another cart, the effect doesn't apply.
The adjustments work inside de font maker cart, but when I try pasting the result code on another cart it works as a monospaced font.
I don't know if I'm forgetting something or just being dumb, but just wanted some help.

P#130365 2023-05-31 16:12 ( Edited 2023-05-31 20:05)
:: Unfold ::

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

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

credit orignal game: Super FNaF - @Lylly - https://gamejolt.com/games/sfnafarchived/158082

Cart #sfnafde-1 | 2023-05-31 | Code ▽ | Embed ▽ | No License

This is a project for me to learn more about pico 8.


Super FNaF Demake v0.0

  • Characters
  • Basic Movement
  • Some Tiles
  • ...

v0.1

  • side scrolling???

My Discord: AaronsLG#4641

P#130358 2023-05-31 11:44 ( Edited 2023-05-31 23:48)
:: Unfold ::

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

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:
https://www.lexaloffle.com/bbs/?tid=2145

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
4

P#130346 2023-05-31 00:38
View Older Posts
Follow Lexaloffle:          
Generated 2023-06-03 14:48:55 | 0.181s | Q:94