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

The header of my account is one of my so many Puzzlescript games.

That's it, i wasted your time.

P#82083 2020-09-22 03:22

Cart #amongus-1 | 2020-09-22 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
Just a little prototype of a character from Among Us who can bounce around.

Update 1, 9/21/2020: made movement smoother and made shadow smaller.

P#82075 2020-09-22 02:05 ( Edited 2020-09-22 02:28)

Hi! I'm ThaCuber! I want to post here my first game ever on here, even though i didn't finished it.

Please tell me guys what you thnk about it!

btw yes i used @MBoffin's top down game tutorial, don't tell that on the comments pls

Cart #mahiyajimu-0 | 2020-09-22 | Code ▽ | Embed ▽ | No License

Oh, and, i am proud of it, i don't care if you don't

P#82072 2020-09-22 01:49 ( Edited 2020-09-22 01:52)
P#82068 2020-09-22 01:28

Cart #wuyasudike-0 | 2020-09-21 | Code ▽ | Embed ▽ | No License
Hello :-)
I've recently started pico-8, and its been fabulous. I normally am a game developer in the Godot engine, so I don't have much experience with programming graphics, so I decided to make a raycaster. It went well, albeit with a lot of reconsideration about my life. Anyways, so I have everything mostly working how I expected it to have, except for this weird thing. The lines that I render to the screen as fine from a distance, but as I get closer to them they warp. This isnt the standard fisheye affect that other raycasters have, or maybe it is, but I dont think it is. I'm stumped. I'll be eternally grateful if anyone can figure out what I'm doing wrong.

edit: sO I removed the big fish-eye effect, that was easy and I already knew how to go about fixing that, but I still have the issue where going close to walls makes them warp inwards... It's weird.

Cart #rupoguwoye-0 | 2020-09-21 | Code ▽ | Embed ▽ | No License

P#82045 2020-09-21 10:40 ( Edited 2020-09-21 11:50)

I've just bought Voxatron and it looks really cool, but I can't launch either the vox or vox-dyn apps, i have no problem with the pico 8 ones
and yes i have set them to allow to run as exe

Tells me there is no application that can run 'shared library' files

i can run the windows installer on wine and use it fine but i would prefer to use the native version meant for linux


P#82039 2020-09-21 01:46 ( Edited 2020-09-21 01:48)

Hello, will update the description later.
Will add sound in a post-jam version too.

Cart #explorer-1 | 2020-09-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#82024 2020-09-20 19:57 ( Edited 2020-09-20 20:21)

Cart #piratestrial-2 | 2020-09-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

-- GOAL --
Visit the huts, ships or the wise monkey to collect maps
Maps will give you hint on the chest position
Once you have enough maps, seek a shovel
Dig to find the treasure
The first pirate to find 2 treasures win the game

(arrow keys) Move your tiny pirate around
(x) Dig if you have a shovel
(z) Show your maps

P#82023 2020-09-20 18:59 ( Edited 2020-09-20 19:42)

[Under spam review]

P#82018 2020-09-20 15:49

I feel like I'm wasting a lot of tokens with counters/timers in my game.

For example, most of my timers work like this:

timer -= 1
if timer <= 0 then
 timer = timer_reset

 --do stuff here

So I'm using a lot of global variables to store the timer values and timer reset values, as well as it not being a function in itself. I did try to make a function from it with something like:

function(timer, timer_reset)
 timer -= 1
 if timer <= 0 then
  if timer_reset ~= nil then timer = timer_reset end
  return true
  return false

But that only reduces the timer variable within the function, and not the original. When looking up on if there was a way to reference the original variable, I just found posts saying this isn't possible in Lua.

Is there a better method for this?

P#82017 2020-09-20 15:32 ( Edited 2020-09-20 16:05)

Hey @zep,

I know this is pretty minor, but I often find myself adding this to my programs so that I can use it in tables of functions/behaviors or other similar circumstances:

function nop() end

It'd be cool, and kind of in keeping with the half-lua/half-asm feel of PICO-8 to have a handy built-in nop() function for such occasions:

function assign_behavior(o,b,f)
  o.behavior[b] = f or nop

-- saves me having to do this elsewhere:
if(o.behavior[b]) o.behavior[b]()

I can't be sure, but I bet it might be useful for some tweetcarts too.

Seems like it'd be trivial to add as an efficient built-in C-side function as well. No need to handle args or closures or anything, just spot it and return the empty set immediately.

Anyway, I know it's about as minor a request as a person could possibly make, but still, I figured I'd at least ask. ;)

PS: Honestly, I think even vanilla Lua could use this as an actual built-in, like a pseudo-keyword. In some cases it could be as useful as nil.

P#82015 2020-09-20 13:34 ( Edited 2020-09-20 13:40)

Cart #nightride-0 | 2020-09-20 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Drive at high speed through traffic and survive the dangers you'll encounter.

Will you make it through the night?

This is one of my prettiest games so far.
Hope you enjoy it!


P#82007 2020-09-20 07:47 ( Edited 2020-09-20 16:27)

so I was messing with a little tweetcart esc thing;

::♪:: if(t>=256)t=1u+=1
goto ♪

and when I put the "if" next to the "::♪::" it turns gray like it's part of the "::♪::".
and then when I put a ";" before with a space or without it gives me a error even if the "if" is pink..?

Is this a bug? I'm on 0.2.1B

I feel like if it doesn't like the if touching the label it should like it if there's a simicolin touching between them.. IDK..

PS: anything after a goto is gray for some reason even with spaces now that I think of it

P#82003 2020-09-20 05:08 ( Edited 2020-09-20 05:40)


I felt like transcribing a little tune I made in Caustic to Pico8.
Could use a bit more work (instruments, balancing, is pattern 14 off key?) but I'm happy enough with it.

P#82002 2020-09-20 04:27 ( Edited 2020-09-20 04:27)

Working out some of the rough edges of the 'platforming' before adding some items and dialogue stuff.

Any feedback is appreciated!

Cart #mozajumizo-0 | 2020-09-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

P#81997 2020-09-19 19:32

Cart #heatmappath-2 | 2020-09-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

I just finished this method for path finding that I will implement in my other projects.
This method is resizable and really easy to implement and understand.
I spent the last day concocting this.
Essentially it creates a heat map/height map of costs that can be traversed by agents by referencing the node list.
Press X to place walls or remove them.
Press Z to set the end node to the nearest node to the on-screen cursor.
Cursor controlled with arrow keys.

The method works this way:
Create an empty list for checked nodes. We will push nodes into and out of it. Any node inside is there only temporarily.
We start with the first node, set it to visited, and put its neighbors into the checkedNodes list.
While the length of list of checkedNodes is bigger than 0, check all neighbors of all nodes in list, and pop out nodes from list that were visited. Only new nodes get added in. Any node after checked is removed.
This creates a cascade effect that fills the entire possible connected set of nodes with costs.

To traverse it, simply find the nearest node in world space to your agent, and check the neighbors and find the one with the lowest cost, set that to your next movement target, and move to it. If you get to the end node, stop moving. If the node the agent is on has no neighbors, also don't do anything.

I made it so you can give it a grid size at the top of the code using the SIZE variable, and it will make it just work.

And there you go. Hope you like it.

P#81986 2020-09-19 10:12

Cart #kittypath-0 | 2020-09-19 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

Slight modification of my path finding method, except this method is now modified to allow an arbitrary size grid to be instantiated. I invite you to open it up and fiddle with the code.
The agent is the cat creature, and hopefully my code is readable enough. Simply changing the SIZE variable at the top should be enough to get a feeling for different grid sizes.

P#81985 2020-09-19 09:55

with devkit, storing data in multicarts, and all that, would it make sense for the PICO-8 editor to be rebuilt in PICO-8 itself, as an open source program? if this was done then people could make their own tweaks after copying it, adding whatever useful tweaks they want to the built in thing? its like the ultimate in customisablity, and we'd see all of these cool variants of the tools. plus it would make PICO-8 feel more self contained as people wouldn't resort to external editors. (Want an editor feature? make it yourself! wouldn't that be cool?)
could totally work here.
i personally see the editor as a built in thing as opposed to some external development thing.

so, thoughts?

P#81982 2020-09-19 06:40 ( Edited 2020-09-19 17:02)

Hi, i just bought Pico-8 and made it so that i use a raspberry Pi 3 as a dedicated Pico-8 computer/console.
I am booting directly to Pico-8 when i turn on my Pi, everything works great except i can't manage .p8 files like deleting unused files etc.

I do know where the files are usually located when you run Pico-8 from the desktop. But it looks like when booting directly to pico-8 and not the desktop, the files are not at the same location.

Does anyone knows what i am doing wrong? I already know and tested using pico-8 from the desktop in Pi OS and it all works fine and files are saved in the CARTS folder, but if i am running Pico-8 directly booting in it it's like the files are not saved where they should.

Can someone help me make it so that i can still use Pico-8 directly from boot and still have access to the .p8 files on desktop if i need to delete .p8 files?

I probably did not post this where it should but had no idea where to ask for help

Thank you!

P#81961 2020-09-18 15:22 ( Edited 2020-09-18 15:23)

So this will by my introduction. hello community. I need your help.
so the game I created is a platforming game. for which I designed a external level editor in c++.
my theory is. I can really only fit one level into the pico 8 map editor.
but if I parse my map data as a string, despite adding a few extra thousand lines of code to my file, I will at least have a streamlined way to create and import levels. so far the level editor works great. I tell it how big I want the map and then once I have placed all my tiles I can save it to a text which just writes the x, y position and a type variable. 3 variables in total. so my output file ends up looking something like this

x y t
0 8 0
1 8 0
3 8 0
2 8 0
4 8 0
6 9 0
7 10 0
9 12 0
11 9 3
13 8 0
15 8 0
17 7 0
18 6 0

there has GOT to be a way to parse this data. in regular lua it would be something like

function _makeplatform(x,y,t)
function load_platforms(s)
    local str = s
                for line in string.gmatch(str, "%.+\n" do -- for every line in the string
         for a,b,c in string.gmatch(line, "(%d+)(%d+)(%d+)") do --for every number in the line
          pf =_makeplatform(a,b,c)
                  add(pf, platforms)
     k = 0
level1 =[[ 
--copy and paste level output here
function _init()

the big kick in the pants being string.gmatch() not being in pico8.
the good news is, I can basically output this information any way I want since I authored the editor. but whats the nicest way to have pico8 read it in?
my best guess with sub() is to make each number 4 chars long so '2' would be '0002'. that way I can iterate through every 4 numbers. not sure if I like the sound of that solution. so here I am.

this is the level editor.

and here is a very early release of my game. please excuse me for not uploading it to BBS. I am still figuring all this out but I swear once the game is playable again I will put it there.

P#81948 2020-09-18 04:12 ( Edited 2020-09-18 04:14)
View Older Posts
Follow Lexaloffle:        
Generated 2020-09-22 04:49 | 0.135s | 4194k | Q:152