Hi everyone, I seem to have coded myself into a bit of a hole and I'm hoping someone has a suggestion on how to get out of it!
What I need to be able to do is - iterate through all the subtables in a table, and delete any subtables that have identical values. Below is the setup and the two methods my researching has found, but I've tried both so far with no success:
x = {} add(x,{a=1}) add(x,{a=1}) --table x now has two subtables --that both contain a=1, and we --need to delete the duplicate! |
Method one:
index={} for t in all(x) do if index[t] then del(x,t) end index[t]=true end |
No luck with this one, it DOES work if the duplicate values live in the main table and outside of the subtable, but I'm having trouble formatting it correctly to check the subtables.
Method two:
for i=1,#x do if x[i].a == x[i+1].a then del(x,i) end end |

Hi folks,
I'm trying to get to grips with collision detection and have sussed it for simple single objects against each other, but now I'm trying to detect one object against many using tables.
I'm not sure why my code below isn't working. I think it's the final FOR-LOOP which goes through the position checking of the player and each of the blocks. The penultimate line that has RETURN TRUE is never reached (I've tried putting STOP() in there and it never executes) so is there something wrong with the IF statements above it that return false?
Note: If I place the RETURN TRUE within the loop directly above it (immediately following the position checks), collision with the first block works fine, just no others!
In my head, this should work - it just doesn't!
What am i doing wrong please?
function _init() initblocks() initplayer() end function _update() -- if btn(4) then updateblocks() end moveplayer() if colcheck() then pl.col=11 else pl.col=7 end end function _draw() cls() drawblocks() drawplayer() end -- user functions -- function initblocks() block={} for n=20,80,30 do for f=20,110,30 do add(block,{x=f,y=n,w=10,h=10,col=7}) end end end function updateblocks() for f in all(block) do f.col = flr(rnd(15)+1) end end function drawblocks() for f in all(block) do rectfill(f.x,f.y,f.x+f.w,f.y+f.h,f.col) end end function initplayer() pl={} pl.x=10 pl.y=110 pl.w=10 pl.h=10 pl.col=7 end function drawplayer() rect(pl.x,pl.y,pl.x+pl.w,pl.y+pl.h,pl.col) end function moveplayer() if btn(0) then pl.x-=1 end if btn(1) then pl.x+=1 end if btn(2) then pl.y-=1 end if btn(3) then pl.y+=1 end end function colcheck() for f in all(block) do if pl.x>f.x+f.w then return false end if pl.x+pl.w<f.x then return false end if pl.y>f.y+f.h then return false end if pl.y+pl.h<f.y then return false end end return true end |


I am proud to release PlusWave, a game I have been working on for a few months. The game is a multiple choice puzzle with randomly generated waves. It teaches the concept of wave interference. You can go to the game's "main" page on itch.io, where you can download an extensive document of the development process that may be of interest to fans of the game or game developers. A big part of the game is the story, which is conveyed through Pico-8 in a bit of an eye-strainy way. Nevertheless, the story and game mechanics combine and work toward the same themes. The unabridged story can be read in the aforementioned document.

Hello all, I have a problem with installing Pico8.
I've already worked with Pico8 in the past, and it has worked just fine, but recently, I can't open it. When I try to open it, it says that "this shortcut has been changed or moved, so this shortcut will no longer work." I redownloaded Pico8 with the file directory open, and to my surprise, the application startup file immediately deleted itself after downloading. I have done this a few times so far, but with no luck. Does anyone know how to troubleshoot this issue?


I ran GamepadTool in order to generate a mapping for a gamepad I would like to use with Pico-8. Or rather, it already works with Pico-8, but I want to override that mapping. So I used the tool, generated the mapping and placed it in sdl_controllers.txt as instructed in the manual. log.txt says it added the mapping happily. However, no matter how I change the button mappings in this file, Pico-8 responds to this controller as though there is no new mapping.
I've tried the same on my windows 7 pc as well as my raspberry pi, with the same effect. (though I only checked log.txt on the windows box).



Here is "The Adventures of Jelpi" by the Pico-8 creator Zep. The original game is available from the demos menu in game.
What I have done to "The Adventures of Jelpi" is turn it into an active, interactive type specimen. You can run through the level as "Ampersand Man" and you will be able to see that each of the blocks is actually made of letter forms from my type-face "Alien Gaucho-80".
The letters are each meant to represent parts of the world. etc. the letters "C", "L", "O", "U", "D", are used in the sky. Letters like "G" and "E", "A", "R", "T", "H" are used to represent the ground.
The font is free for download from FontStruct.com. Also available are AlienGaucho-80's cousins:
Alien Gaucho-90
Alien Gaucho-92
Very simple request really.
Wanted to know if there was a way to get the white noise in PICO to sound as deep as this.
And if not, can future PICO please ?
Also add optional instruments, use MIDI, which has 127.
So it should be possible to get some music like THIS, with the wind effect:
I know PICO is limited, but that music you are hearing now is from SNES which came out in 1990 so that's 28-years ago. Surely we can achieve at least the same level as SNES without affecting current code, SFX, or MUSIC.


This is a selection of easing functions to make the movement of objects more pleasing to the eye.
Simple call the function (I have included separate functions to save space) and pass four variables:
t = how far through the current movement you are
d = the total duration of the movement
b = where the movement starts
c = the final change in value at the end.
For example, if you want an object to move from y = 20 to y = 100 in 30 update loops you would set:
t = the count, starting at 0 and ending at 30
d = 30
b = 20
c = 80
You can get some great effects and it really helps make movement that little bit more realistic.
Have fun and let me know if it's useful!


Two Minutes To Sunset
You have a city full of people to evacuate and only two minutes to do it before the sun sets and zombies swarm you. Use your helicopter to evacuate the civilians and hold off the zombies with soldiers, snipers, barricades and missile strikes. Play with either a mouse or the standard controls, whichever suits you best! Enjoy RTS-esque gameplay in Campaign, Free Play and Siege modes, with 8+ maps to battle across. Also, George Washington is there!
Controls
This game can be played with a mouse, or with the standard Pico-8 controls. When using Pico-8 controls, the D-Pad moves the cursor, O left clicks and X right clicks. Left click to interact and place things, Right click to clear whatever you're interacting with.

10/24/2018 - Just a humble #MMAMJam gallery cart with absolutely no hidden thingies. Cough.
Special thanks to:
@matthias//@mtths_flk - Red//Black
@mccolgst - BGHOULED
@grumpydev - eMonstery
@dollarone - Wizard Duels
@robuttley & @weareroad - 3d Picoh Mummy


Plunder the tombs of the great Egyptian royal families - now in 3D!!
Following on from our first release, Picoh Mummy, for the Monster Mix and Match Jam #MMAMJAM, weareroad presents 3D Picoh Mummy.
Ok, yes. It is another 'mummy' game, and the concept had nothing to do with us thinking we could re-use our assets from the first game - particularly when we realised that most of them couldn't be re-used, what with that tricky extra dimension and all...
On with the show...
Fresh from his recent 2D outing, and faced with the likely economic ruin of an oncoming Brexit, our hero has turned a decided shade darker in this, his latest adventure.
[i]Released from his British Museum role due to "re-balancing of human capital", he found an outlet on the black market for the treasure of the great Pharaohs, he sold his Sam Coupé retro computer to fund a trip to Egypt, and he's off, plundering whatever isn't nailed down from the ancient tombs...






