This is the demo "2 and 1/2 Men" by Alcatraz, released on 22.07.2017 at Nordlicht 2017 Demoscene party. It was voted 3rd place in the wild demo competition.
Credits:
Code - Virgill
Gfx - CONS
Music - Slimey
This is not a game, but a demonstration of visual effects, accompanied by graphics and music.










Hi,
Some keys usually used for entering notes behave strangely in the pattern editor. I'm using a french AZERTY keyboard (https://en.wikipedia.org/wiki/AZERTY), with pico-8 0.1.10c on Windows 7 64 bits.
- The upper 6/- key, used for upper G# note, also decreases current pattern. That means if you don't pay attention to what's happening on the screen, you wind up spreading G#s on multiple patterns.
- The ?/, key, right to N, used for lower B note, also decreases tempo
Unless you vow to never use those notes, it really makes composing a painful process.

This is a remake of an intro I wrote for the ZX Spectrum, but I added some music given how nice the music editor is for PICO-8.
This is my first attempt at demo effects and/or music on the PICO-8, so any feedback would be appreciated. Thanks!
PICO-8 rules!
Not to be confused with Paul Nicholas' wonderful The Ballz are Lava!
Hit the boxes with your balls to break them, don't let the boxes touch the floor!
Another demake of another mobile game, I guess that's what I do now. Try the original Ballz on iOS and Android - it's pretty fun!










*Edit July 28
I've been happy with this little cave-generator that i made. I might want to use some of it for Ludum Dare this weekend, so I am releasing the current code under the creative commons license.
You can try playing it now! it takes a few seconds to generate a level. There is no "win" state currently, but i envision a game where you have to avoid obstacles, collect stuff, and climb to the top of the cave.
I am using the algorithm i describe below, with a few improvements. If the cave that gets generated is "empty," which would make it impossible to climb, the algorithm will stick some bridges and ladders to climb into the structure. This process is dynamic, so if the cave is dense fewer will generate. Likewise, if you have a very dense cave, there is a safety-check that will make sure the cave can be completed by punching holes through blockages.
If you are interested in using some of this code and have questions, please let me know. The level-generation is almost entirely separate from the character code, so you can choose one or the other. If you are interested, I recommend looking at the callback functions (_init, _update60, and _draw) to understand the basic flow first. There is a lot of code here, about 3500 tokens, but most of it is lumped in the level generation and can be kept as is.
I imagine this being useful for quickly banging out a metroidvania or something along those lines. I hope you enjoy!
-PBG
Howdy,
I recently started making a little game about a critter who falls into a cave and has to climb out. I wanted to create a big world, but I didn't want to actually design it, so i wrote a little script to generate a large cave-like structure.
The algorithm is pretty slow - it is based on a paper i read in grad school (but cannot remember) for modeling the nucleation and growth of particles in solution. I start with an empty space (64x128 array of zeros) and first create walls by making all of the border values 1. Then, I 'seed' the space by randomly selecting a fraction of the array locations and setting them to 1. I then run a kinetic-monte-carlo simulation. Every step, every single '1' in the array a small chance that it will attempt to move 1 space in a random direction. In chemistry, this represents the random movements small particles or even molecules will make in solution, brownian motion.
If a '1' element in the array is next to another '1', a stickiness factor is applied, making it harder for the element to move away - this encourages the growth of clusters. it is possible to modify this stickiness factor to create more spherical shapes, long shapes, etc. I could also seed the space with regular shapes like boxes or lines and use this algorithm to make them appear more organic.
Anyways, in the demo above, you can watch the simulation run - as it runs, you can see clusters forming. It usually takes me about 4000 frames before the level looks nice (i need to speed up the code!). There's actually a game here too - press z to hop into the caves and explore!
I cooked this up pretty quickly, and I really like how it looks. I will definitely flesh this out into a full game, but I thought this was a fun little demo so I decided to share.
Thanks!
PBG




Hi,
I was hoping someone might be able to help me with a 'newbie' question please.
I want to be able to move a mouse pointer around, and then when the mouse is clicked, record the x and y position and place a sprite in that position. The next time the mouse button is pressed, a second sprite is displayed at the new mouse position, and then finally, a third upon another mouse button click. Further mouse button clicks will then re-position the first sprite and so on......
This should leave 3 sprites on the screen, and record their positions.
The current code does this, and displays the x/y position of each sprite. The problem I have is that a single "mouse click" event is hard to make and the code loops round very quickly making discrete sprite positioning difficult.
Can anyone please suggest a way to remedy this?
Any help would be much appreciated.
Kind regards,
Paul :-)



function _init()
p={n=16,x=64,y=64,hb={x1=1,y1=1,x2=7,y2=7}}
tree = flr(rnd(9)+1)
treepos = {}
for i=1,tree do
add(treepos,flr(rnd(220)))
end
end
function _update()
if btn(0,0) then
p.x-=1
p.n=17
end
if btn(1,0) then
p.x+=1
p.n=16
end
if btn(2,0) then
p.y-=1
end
if btn(3,0) then
p.y+=1
end
end
function _draw()
cls()
for i=1,16 do
for j=1,16 do
local x,y = 8i,8j
spr(1,x-8,y-8)
end
end
rndtree()
spr(p.n,p.x,p.y)
camera=p.x,p.y
//error-----------------
//for i=1,tree do
//if treepos[i]!=0 then
//rect(treepos[i]-2,treepos[i+1]-2,treepos[i]+10,treepos[i+1]+10,8)
//end
//if p.x==treepos[i] and p.y==treepos[i+1] then
//print(i,treepos[i],treepos[i+1],8)
//end
//end
//error-----------------
print(treepos,0,y)
end
function rndtree()
for i=1,tree do
spr(2,treepos[i],treepos[i+1])


You've been flushed away in The (Endless) Sewers of d'Oh!
Now try to escape, pathetic paddling!
Hint: You can't! This is an infinite breakanoid! Muahahahaha!
Have fun!
v1.2.1: more sensible use of dset/dget (stalls on Pi+microSD, see here)
v1.2.0: warrior mode, better background, ugly label.
...
Sewers of d'Oh is a prequel to The (Bottomless) Pits of d'Oh! (available on itch.io and [u]gamejolt






Contrôles :
flèches = déplacement entre les menus
z = valider
c = annuler
entrer = menu pause
Occupez-vous de votre tamagotchi !!
Si vous téléchargez la cartouche pour pico8 PC ou pico8 Pocket CHIP vous pourrez bénéficier du système de sauvegarde.
If you download this cart for Pico8 on PC or Pocket CHIP, there is a save system.




Hi all!
I have almost tears in my eyes thinking that I've almost completed a very basic and lame implementation of Pong.
I'd need to draw a very simple intro screen (with game name and settings).
I would like to make a big image (128x128) that will cover the whole screen.
What is the suggested method for this?
Thanks :)



