A cute game about 3 girls playing with a spiritboard and getting more than they bargained for! Started out as a cute spiritboard thing like an 8 ball but became a visual novel without me realizing it.
If you want the executables there is a itch.io page it also contains the full code with comments which I sadly had to strip for the bbs release.
The question menu is controlled with x to go to the top of the menu and c to select. Enter opens the start menu.
To use the paste option on the question menu you must first paste into the game before it can access your clipboard.
This is my second experiment with PICO-8, this time making a flexible and customizable particle emitter system. In this demo I've pre-made several different emitters that you can view by pressing (left) or (right).
Particles are only rendered as lines, but there are a lot of options to control how they look and behave. It took a while to figure out how to handle colliding with the edges of the screen such that it was accurate no matter how fast the particles were traveling or how long their trails were. Here's just the particle update function to see what's going on:
function particle:update()
if self.age < self.lifespan then
if self.jitter > 0 then
local curr_jitter = rnd(self.jitter)-self.jitter/2
local curr_angle = atan2(self.dx,self.dy)
local curr_mag = sqrt(self.dx^2+self.dy^2)
self.dx = cos(curr_angle+curr_jitter)*curr_mag
self.dy = sin(curr_angle+curr_jitter)*curr_mag
end
self.dx = (self.dx+self.xgrav)*self.drag
self.dy = (self.dy+self.ygrav)*self.drag
local next_x = self.x+self.dx
local next_y = self.y+self.dy
local line_pts = {{self.x, self.y}}
line_pts.segments = 0
while self.collide do
-- left collision
if next_x < 0 and btwn(self.y+((next_y-self.y)*self.x/(self.x-next_x)),0,screen) then
self.y += (next_y-self.y)*self.x/(self.x-next_x)
self.x = 0
self.dx *= -self.bounce
next_x *= -self.bounce
-- right collision
elseif next_x > screen and btwn(self.y+((next_y-self.y)*(screen-self.x)/(next_x-self.x)),0,screen) then
self.y += (next_y-self.y)*(screen-self.x)/(next_x-self.x)
self.x = screen
self.dx *= -self.bounce
next_x = screen-(next_x-screen)*self.bounce
-- top collision
elseif next_y < 0 and btwn(self.x+((next_x-self.x)*self.y/(self.y-next_y)),0,screen) then
self.x += (next_x-self.x)*self.y/(self.y-next_y)
self.y = 0
self.dy *= -self.bounce
next_y *= -self.bounce
-- bottom collision
elseif next_y > screen and btwn(self.x+((next_x-self.x)*(screen-self.y)/(next_y-self.y)),0,screen) then
self.x += (next_x-self.x)*(screen-self.y)/(next_y-self.y)
self.y = screen
self.dy *= -self.bounce
next_y = screen-(next_y-screen)*self.bounce
else -- no collision
break
end
add(line_pts, {self.x, self.y})
line_pts.segments += 1
end
self.x = next_x
self.y = next_y
add(line_pts, {self.x, self.y})
line_pts.segments += 1
add(self.lines, line_pts)
elseif self.maxlength >= 1 then
self.maxlength -= 1
end
-- trim the lines
while #self.lines > self.maxlength do
del(self.lines, self.lines[1])
end
-- get older
self.age += 1
end
|

-- 12/1/17 --
Version 1.666 !
A new item and a new #3CJam cart have been added!
Sorry it's not much of a puzzle to unlock this one :/ If I'd had space, I would have done something neater, BUT.. there are also now TWO Spiritboard-inspired masks to find :)
(also button prompts have been fixed)
-- 11/29/17 --
EDIT: Bugfix release has replaced the original version:
-Corrects some issues with cart loading
-Music is less random (now only cycles when using a door)
-tweaked a few puzzles
-note: Do NOT mess with haunted hardware -- who KNOWS what could happen?
-note: Also do NOT mess with controller 2. I mean, who KNOWS what could happen??
-note: Do NOT experiment with items -- who KNOWS what could happen?
-note: Do NOT, I repeat do NOT look for odd-numbered houses. They probably don't even exist anywhere. It isn't healthy to imagine such things. Try to stay grounded instead.
The #3CJam 2017 hub cart is finally complete!
This isn't the witch game that castpixel and I started on as a 3cjam entry. It's.. something else.
"What is it, then?" you ask??
Well.. You'll have to explore and find out for yourself. :)
If you get stuck, feel free to post here in the thread or twitter.
Manual:

Landing Simulator 2017
Fly for the high score based on how fast you complete the levels using the arrow keys to maneuver through space and time.
My first PICO-8 project, based on the second tutorial from the "Game Development for PICO-8"-zine by MBoffin. A small and rough expansion to get my hands dirty. Sorry about the lack of music, I limited this project to focus on programming patterns and a few visual effects.
My high score: https://twitter.com/r_pdx/status/935305070157094912
The definitive version of Chicken Cutter. I'm going to leave this alone for now, as the features I want to add would require a complete revamp of the code I'm just not ready to tackle yet.
Additions
+Multiplayer Mode
+Difficulty/Time Settings
+Return To Main Menu Without Reboot
Original Game: https://www.lexaloffle.com/bbs/?tid=30321
Code, art and sound by me.
Please let me know if you find any bugs or glitches!
I know there is plans in the future to add a leaderboard system to Pico-8, but I was wondering if there were plans to maybe add a really limited networking system, kind of like a 56K modem. This would allow for some pretty creative ways to interact with servers, websites, and even other carts. One idea of mine was you would host your own leaderboard system on a Heroku app and the distributed carts adding to the leaderboard system. Another idea would be an old-fashioned BBS that used Pico-8 as a frontend. Thoughts?

Hello!
This is my first experiment using pico-8, a basic water simulation that hopefully is simple enough to be used in other projects.
The two main things used to make this simulation is;
1) A vertical force applied to each point on the water surface, positive if the point is below "sea level" and negative if it is above the same point.
2) Diffusion of each point relating to its neighbours, which looks like this;
local diff = dampm * ( pt(i+1) + pt(i-1) +pt(i+2) + pt(i-2) +pt(i+3) + pt(i-3) +pt(i+4) + pt(i-4) ) * (-8*points[i]) points[i] -= diff*damp*dt |
Where dt is time since the last frame, diff & damp are value multipliers and pt(n) being a function that returns the values from the points

If I really have to post my sloppy noob code I will but I am hoping that I can get a quick answer.
When my player sprite moves onto a grid flagged 1 then that grid is solid and the sprite stops moving. If the flag is 2 then it moves to a different room AKA different MAP() value(s)
This works as it should but the solid collision still applies to the tiles from the previous room. I do not understand this because the solid function should update when the new map tiles are drawn.
In other words. It looks like my character is in a different place but all the solid grid tiles are from the previous "room".

Hey everyone,
I wrote an article that might be of interest to the community.
It's mainly about depth and breadth in game design, how they differ in my understanding, and how depth can be achieved in small PICO-8 games in order to make them engaging despite their small size.
Here's a link: https://medium.com/@krajzeg/depth-in-games-an-in-depth-look-d94a04ce581a
Enjoy and do let me know if you liked it! :)

Made a quick space shooter for the 135th onehourgamejam. Didn't quite finish it in one hour so I spent a bit more time adding music and sounds and enemy fire.
You are Cpt Squeemo of the Intergalactic Shooting Company. You're getting some target practice by playing this space shooter simulator.
Arrows to move, Z to shoot, X to restart.
A more complete version of this game is available here: https://www.lexaloffle.com/bbs/?tid=30330
They are separated projects because I consider them to be two different games, but if that's spammy I can get rid of this one. I don't want to rock the boat.
This is my first project in Pico-8. It's not amazing, but it works and that's good enough for me.
Collect the keys and avoid cutting the chickens.
Code, art and sound by me.
Snowball Sunday is a Pico-8 remake of the c64 classic game Snowball Sunday by Ash & Dave released in 1988 on the Commodore 64.
This remake version has up to two human players and two computer players.
Instructions
Throw snowballs at each other and have fun. That's it
Controls
Player One - Cursor Left/Right to move. Down Cursor to Duck and Collect snow. Z, C, or N to throw snowball.
Player Two - S/F to move. D to Duck and Collect snow. left Shift or Tab to throw snowball.
Credits
Original Programming, Graphics and Idea by Ash & Dave
Pico-8 Conversion by me.
Full details here; https://mcnameegames.wordpress.com/2017/11/25/snowball-sunday-pico-8-v1-0/
Introduction
This is my homage to Owen Rubin's wonderful 1979 arcade game Tunnel Hunt, which features eye-wateringly fast psychedelic visuals and ominous sound. I have tried to retain the key elements of the game as best as I can (given smaller palette and lack of analog joystick), while adding a few variations to enhance to experience...
Gameplay
Hurtle through the tunnel blasting anything in your path. Your craft will increase speed over time, but hitting walls will slow it down (while also heating the hull). You can use this to your advantage, but overheating the hull will result in death!
Lasers will also overheat if used too much, which will disable them for a time until sufficiently cooled. Shields can be activated to defend against enemy craft or fire (plasma balls), but will be reduced in power as a result. Shooting plasma balls will charge your shields fractionally (as well as award 50 points).
There are four different types of enemy, which will require 1,2,5 or 10 shots to destroy. Points will be awarded based on the type of enemy destroyed, the time taken to destroy it, and enemy hostility (this increases over time). A bonus life will be awarded after 10,000 points, and every 30,000 points thereafter.





5 comments