EDIT: Found a musician! Chris D. is gonna help out with the audio!
Hello PICO-8 musicians,
After two smaller projects, I'm working on something more substantial - a dark fantasy beat'em up for the PICO-8 called The Lair. It looks like this right now (last week of development):

I'm looking for someone to help me with music for the game, which is the one part I'm not comfortable doing on my own. Two-three short tracks would be needed - title screen, battle music, and if we can make it fit, a separate boss battle score. When sfx is taken into account, there should be about 44 slots left for the tracks. The vibe I'm looking for is something reminiscent of old Castlevania titles.
The tracks don't have to all be done by the same person, though - if you'd like to just do one, I'll be more than happy!
If you're interested, post here or contact me at [email protected], if you prefer. It would be great if you could include a sample of previous stuff you've composed (for the PICO or otherwise) :).

What's a strategy or method I can explore for generating random platform levels within a given space?
Say I have a 32x32 square and want there to be a floor but random heights and pits. I want there to be exits on N sides so the player can go to the next square. But some squares will have some sides blocked as a dead end. Like a Metroid level, for example.
I can't use sprite maps, right? I would just be placing objects directly into a coordinate table and then drawing from that every cycle. But how do I populate that array smartly?
My big worry is just making sure there aren't any island squares where the player can't reach or exit.
The issue isn't just creating randomness...I know how to do that but how do you create something that smartly groups together blocks within constraints? Pure random placement doesn't do this, I know.
Just looking for thoughts on how to approach it and/or generate such an thing.
Any insight is appreciated.
The process to add even a USB controller in pico-8 on linux has already been fleshed out as a difficult and painful process. I have found that it can be moreso painful to try to add bluetooth controllers given that one must manually pair and connect the device before it's able to be used (this is still something I'm working on given my controller, a Wii U Pro Controller, requires extra packages for it to be used).
So far, the process as far as I have been able to figure out is this:
1. Download any required packages for your device
For me, this meant downloading the xwiimote and xserver-xorg-input-xwiimote packages. (There may be more, but so far those are the ones I believe are needed).
2. Pair and connect the bluetooth device
Within the terminal still, type "bluetoothctl" to get to the terminal-based bluetooth controller. You can type "help" to get a list of bluetooth-specific commands, but the ones you're going to need are "pair" and "connect". First, ensure that your pocketchip's bluetooth is scanning by typing "scan on". Once that is done, if you place your device in pairing mode, it should show up in your terminal as a pairable device with a serial number like "40:8B:2A:3D:1F". Unfortunately, you cannot use the Pocketchip's keyboard to type colons in the terminal for some odd reason, so instead type "pair 40" and then press TAB. That should complete the rest of the serial number for you and allow you to pair it. Once that is done, you may have to put your controller back into pairing mode and then use the same method for pairing but instead use "connect 40<TAB>" to then actually connect the pocketchip to the device.
Once that is done, the device could potentially be ready to use depending on what you have and what program you're planning to use it with (Unfortunately, not the case with Pico-8). If the device's buttons correlate to keyboard key-presses, then you may be able to skip steps 3 and 4.
Howdy folks! This started with the idea, "what if you were on a pool table and had to dodge the balls?" and kind of evolved in a few unexpected directions from there.
You'll need two players for this. Use the main button to grab a ball and throw it. Any ball you grab turns in to your color, and hitting balls of the opponent's color causes you to lose.
This started out as Zep's collision demo, and the ball physics are from NuSan's Combo Pool (though I think I may have gotten a sign wrong somewhere).
Anyway, do enjoy.
so i'm starting to get near the often mentioned but never explained token limit in my project. and while I think I might fit everything i want into this project, I think I need to keep tokens in mind from the get go of my next project.
so I have some questions:
what is a token? what counts towards the token limit? can i look at my existing code and try to optimize it with token limit in mind? and also do you have any tips & tricks while developing with this in mind?

Pico-8 implementation of Scale2x and Scale3x. Original algorithms by Andrea Mazzoleni
Scale2x:
--[[
sind : sprite index
sz_x : x size
sz_y : y size
sx : screen pos x
sy : screen pos y
alpha: color to make transparent
]]--
function scale2x(sind,sz_x,sz_y,sx,sy,alpha)
alpha=alpha or 0
local offx=sind%16
local offy=flr(sind/16)
local soffx=offx*8
local soffy=offy*8
local sizex=sz_x-1
local sizey=sz_y-1
local a,b,c,d,e,f,g,h,i,
e0,e1,e2,e3,x0,y0
for y=0,sizey do
for x=0,sizex do
e=sget(soffx+x,soffy+y)
a=e
b=e
c=e
d=e
f=e
g=e
h=e
i=e
if y>0 then
b=sget(soffx+x,soffy+y-1)
end
if y<sizey then
h=sget(soffx+x,soffy+y+1)
end
if x>0 then
d=sget(soffx+x-1,soffy+y)
if y>0 then
a=sget(soffx+x-1,soffy+y-1)
end
if y<sizey then
g=sget(soffx+x-1,soffy+y+1)
end
end
if x<sizex then
f=sget(soffx+x+1,soffy+y)
if y>0 then
c=sget(soffx+x+1,soffy+y-1)
end
if y<sizey then
i=sget(soffx+x+1,soffy+y+1)
end
end
e0=e
e1=e
e2=e
e3=e
if b!=h and d!=f then
if(d==b) e0=d
if(b==f) e1=f
if(d==h) e2=d
if(h==f) e3=f
end
--draw
x0=sx+x*2
y0=sy+y*2
if(e0!=alpha) pset(x0, y0, e0)
if(e1!=alpha) pset(x0+1,y0, e1)
if(e2!=alpha) pset(x0, y0+1,e2)
if(e3!=alpha) pset(x0+1,y0+1,e3)
end
end
end
|
hello,
i have pico-8 running on a raspberry pi and the startup takes ages.
i seems it have something to do with the network: if i detach the
wifi dongle it starts up fast.
could it be that the connection to the bbs is slow or off so many times?
why is the page that slow?
EDIT: it happens on raspiB+, checked it on my piZero: works.
even after removing all .lexaloffle and pico files and use a fresh copy
the startup with wifi/lan on takes ages and the pico-8 is slow (huge lags)
if it startet after some minutes.
whats going on here?
S.
There is a onehourgamejam every Saturday at 20:00 UTC. Feel free to post your own entries here too!
60th jam (18 June 2016). The theme was Castle.
This was my first 1HGJ. I worked feverishly on the first idea that came into my head: archery. I was in such a rush that I spelled castle wrong in the title graphic! Didn't realise until after submission that you can just hold down fire to win.

A demake of the DOS intro for Ultima V, one of my favourite games of all time. You can watch the original intro here: https://www.youtube.com/watch?v=3XN1mdyvZvM
Holding down Button 1 (Z) will speed up the animation, pressing Button 2 (X) will skip to the next scene; otherwise this is non-interactive.
Turns out that 16x16 sprites blow out the spritesheet pretty quickly, so I had to pack extra sprites into map data and didn't have enough leftover space for fancy logo lettering; but I quite like how the demade titling turned out anyway. Otherwise I've tried to be as faithful to the original as possible, including reverse engineering the in-memory tile animations they used, which was a learning experience. I scored it using Stones rather than the original intro music though, because Stones is kind of the signature tune of the Ultima series.
ive been lurking here since preordering a pocketchip, i came across the estimated shipping schedule this morning and promptly bought voxatron after seeing mine is not leaving china till around july 25th
if i overlooked another post with this info sorry for the repeat.
i look forward to being part of this community and apologize beforehand for being so clueless as this will be my first experience with any form of coding
An alien astronomer is using a very inefficient method to observe the star systems they visit. Their spaceships are terribly advanced, but their optics are woefully behind: their best telescope only lets them see a single color.
But they persist. They survey the sky, one color at a time, moving the telescope just a little each time, and noting down the color they see. Slowly, painstakingly, an image emerges.

However, not in Android.
Got bored, set up Arch Linux ARM.
Got angry at freedreno Segmentation faulting.
Wasted several days compiling debugging versions of programs and trying to fix the crash.
Fixed freedreno (libdrm needs --enable-freedreno-kgsl)
Ran PICO-8:
Keyboard is the linux 'onboard' program, set to run on top of all other windows.
(Screenshot is resized, otherwise it would be absurdly huge due to my DPI)
(Renamed title to hopefully remove some confusion)

Keyboard controls
Move - Arrow keys
Shoot - Z or X
My first Pico-8 game following the Game Jam...another shooter, and a very basic side-scrolling one. Time limit style to try and get the most points.
This is also a very real "lessons learned" type of game where I took all the things I learned from the jam and applied them here. I also tried to push myself in a few places to get better.
My first goal for this game was to get better and making sprites. My original theme for this was not a flying lumberjack but it turned out that way, so my sprites are squirrels, trees and jet packs...all in all, not too shabby. I at least proved to myself that making my own sprites is not that far off. However, while my art abilities got a shot in the arm, my sound making skill is totally non-existent. No music and the sounds are horrible. If anyone cares to fill in the blanks, please let me know!
Technically, this game was my chance to practice something that wasn't just a bunch of randomness. All the waves, routes and patterns were chosen and defined. I feel I got the concept down but still need to work on architecture to make things efficient...I think I wasted a lot of space/overhead but hey, it's working. I also made use of saving a high score and it's very easy.
I'm happy with this game in that it shows a lot of progress since my last game, Mass 360, for the jam. Hopefully I can take everything here and parlay that into my next game.
[b]Few things I learned for next time:






2 comments

