LIGHTS
my first pico game
menu:
puzzle generation
gameplay
Controls
pretty straight forward, use the arrows to choose a node and X or O to rotate it
Rules
in relax mode, just choose the size of the puzzle and get to it, at your own pace, every puzzle is virtually unique so keep playing the same size if you enjoy it
for the competitive people, record mode will let you play all the puzzle sizes from smallest to largest and time you, once you finished all of them you get to save your time in the leaderboard (I managed to finish in around 350 seconds, but I think I can do better)
Behind the Scenes
runs a bfs algorithm way too many times, but it works so...
Credits
we'll get someone for the music and sound fx soon,,
based on a game I had to make for school around 4 years ago (which was based on older games),
enjoy!
A simple maze exploration game I made. The goal is to find your way out of the forest maze before time runs out.
The main purpose of this was to make some slightly more complex music, and draw slightly better cartridge art (though it's still pretty bad). I also wanted to try out a multi-screen game that used the map editor and had actual map collisions. My previous games just had the player stop once they reached a certain x value. Code is kind of messy and the collisions aren't working exactly how I want, but I'll fix that with future games. Probably.
I've got this bunch of enemies that run after the player, but i can't seem to figure how to make them collide each other since they all are in a same table.
I've managed to do it with two for loops that calls them differently, but this makes a game overload after there's more then 40 enemies spawned.
Maybe somebody could give me a hint on this one.
Shimmerscale
NOW IN GLORIOUS QUADRACOLOR
Consuming 239 chars because I didn't bother to minify further:
cls(13)s=sin a=12b=4 ::_:: t=time()/4 for i=0,36 do for j=0,42 do r=(i+1.4*j)/64 m=12*s(t+r) x=-8+4*i+3.4*s(t+r-.25) y=-20+4*j+8*s(r) if(btn(❎))a=11b=5 if(btn(🅾️))a=12b=4 o=a+(i/3+j/3+t*16)%b line(x,y-m,x+1,y-m+s(t+r+.75),o) end end goto _ |
Press ❎ to activate CHROMATOSIS:
An experimental bleeding-edge 5-color mode
Feel free to use/modify this effect for your projects!
a
is the starting color and b
is how many subsequent colors in the palette to use, so you can alter this to use any colors you want using pal({})
and those two variables. Note that the effect relies on not using cls()
so this would be best suited to a splash screen or menu, or for use with clip()
I've started up a new project and I'll be making extensive use of the trig-functions, so I started playing around with them. I soon found out about the input range and the inverted sin, but I still can not explain the behavior I'm seeing.
What you would expect from sin(x)cos(x) and what you can intuitively read from the graph is that first peak of sin(x)cos(x) should be negative, and the second positive. The actual behavior can be explained by the inverted sin-function, but with the inverted sin-function, I would expect the sin-graph to reflect the inversion, which it does not.
Code:
function _draw() cls() print("cos(x)",10) print("sin(x)",12) print("sin(x)*cos(x)",14) for x=1, 127 do pset(x, 64,3) pset(x, 64+32*cos(x/127),10) pset(x, 64+32*sin(x/127),12) pset(x, 64+32*sin(x/127)*cos(x/127),14) end end |
(Sorry, I don't know how to format code on the BBS)
My Lovely Wife vs. 100 Draculas
a small game by Chris 'Turd Boomerang' Armstrong
One hundred Draculas are after my lovely wife! Put your combat gardening skills to work as you behead, dismember, and devour wave after wave of undead Transylvanian counts.
Movement: P2 D-Pad (ESDF on the keyboard)
Aiming and Shooting: P1 D-Pad (Arrow Keys on the keyboard) or Mouse Left Button
Updates:
1/24/24
The latest version of "My Lovely Wife vs. 100 Draculas" adds two new menu items.
The "Swap Controllers" option was suggested and implemented by RealShadowCaster. You can now swap the movement and shooting control inputs - allowing you to move with the arrow keys and shoot with ESDF if that feels more comfortable.
"Distant Galaxy" catapults players back to the golden era of arcade gaming, rekindling the nostalgia of classics like Galaga and Space Invaders. Embark on a cosmic journey as a fearless fighter pilot, armed with powerful missiles and a heart full of courage (5 heart-fulls to be exact!). Prepare to traverse the uncharted realms of the universe, where the stars twinkle in 8-bit brilliance and the galaxies hum with an energetic chip-tune soundtrack.
In Distant Galaxy, you'll face off against legions of adorable yet menacing alien hordes as you bob and weave through the chaos of their attacks. But beware – the universe is not all fun and games. Encounter disgusting mini-bosses and colossal cyclops commanders, and put your reflexes to the test as you navigate the cosmic battlefield. So, gear up, pilot – the universe awaits your pixelated heroics in this heart-pounding, eye-catching, and downright fun blast from the past!
Backdrop is a match-3 style puzzle game which emphasizes thoughtful moves. There is no timer, and you can plan your moves at your own leisure.
The Goal
The goal is to clear the vexed blocks - the ones with the bothered border. You can't interact with vexed blocks directly, so they must be cleared by other means.
The Rules
There are four colors. Each block has an back and center color. Your cursor has a color as well.
Move your cursor with the directional buttons. Press the X/O action buttons to swap your cursor color with the selected block's back or center color, respectively.
This is my first game, made mostly for learning purposes, following Lazydevs tutorials and taking snippets of code here and there from the community.
There are five levels to complete before times runs out. Each time you crash into another car you lose 3 seconds. You will lose control of the car for a short while if you drive onto an oil stain.
Bonus points are awarded for each overtaking after you pass 10 cars without accidents and without getting oil stains.
Controls:
use arrow keys to accellerate (up) ad to steer right/left.
Credits:
this game took me a while, so I can't remember where I took what.. I can only give credits to Lazydevs and all the beautiful pico-8 community!
The sin() and cos() functions seem to be using some kind of lookup table at ¼ the number resolution, with clamping. It is easy to use linear interpolation instead and improve the precision of these functions by calling them twice:
function trig(f,x) local a, b = f(x & 0x.fffc), f(x | 0x.0003) return a + (b - a) * (x << 14 & 0x.c) end function xsin(x) return trig(sin,x) end function xcos(x) return trig(cos,x) end |
@zep I think PICO-8 could very well do this internally, as the extra cost seems negligible. The same goes with atan2(), especially since in that case it is significantly more difficult to do in PICO-8 user land.
Hey there, I'm just starting here with Pico-8, trying to understand the syntax.
I just want to create 2 one dimensional arrays numbered 1 to 10, and fill them with the value 63. But I can't seem to figure out how. Can anyone assist with this please?
x={}
y={}
for i = 1,10,1 do
x[i] = 63
y[i] = 63
end
First release of my first game (in any engine/platform).
It's basically Snake, but you grow automatically and have to consume healthy fruit and vitamins to stay short.
Version 1.0.1
Added a border to the screen to help see where the edges are