Dungeon Clicker is my first PICO-8 game: A single-screen dungeon builder/base defence clicker.
Made over a few months following a game jam, and pleased with how it turned out.
The first couple of minutes are slow, but a full run only takes ~35 minutes.
I hope you like it!

[LMB] Spawn monster
[RMB] Unlock/Build/Upgrade
To get started, right click the throne and restore it.
Unlock, build and upgrade spawners and structures, balancing economy and defence!

Controls: Z/C/N - O button X/V/M - X Button Arrows - Navigation/Arrow keys Enter - Pause/Options
This is a simple demake of a board game called Overboss. I do not claim any copyright over the design or ideas just did a simple game with very similar rule set.
The game have simple AI that is either completely random (Easy) follows some basic logic (Hard) but there shouldn't be too much trouble in beating it.
The game implement 8 out of standard 10 terrain types, has functionality for bands, portals and crystals. This allows you to play overboss in simplified way (there is no advanced play modes like boss cards or command cards or bigger board)

Hello everyone! I thought I'd officially announce and show off my new game!
Death Angel (or Shi no Tenshi) is a fast-paced shmup inspired by Cho-Ren-Sha.
I'm working on an initial prologue version that will be a complete title I will release for around 5 USD.
I currently have a playable prototype up here: https://www.lexaloffle.com/bbs/?tid=157080
I really love the idea of bringing players together for more community interaction in a shmup!
With the magic of subscore() I'm hoping to integrate some asynchronous multiplayer functionality involving challenges you can send to players to compete for the best score. Perhaps a ranking system and team competitions would be awesome! Replays should also be very possible. Not to mention online leaderboards of course.
It's still a WIP but I will be launching some prototypes soon for testing.
If you're interested in becoming part of the community early on let me know!

This is the new version of Poprocks, a colourful asteroids-alike with a scrolling play area and many different enemies. It has a subtle lighting engine and lots of particles.
It uses scoresub, so you can compete against one another for the best scores. Navigate right twice from the title screen to see global highscores.
How to play
The aim of the game is to kill all enemies, allowing you to progress to the next level.
You can see the score multiplier, your score, and the number of lives at the top of the screen:
At the bottom, you can see the level number and the number of shields you have left

welcome to the PICO-cart game jam!
a monthly pico-8 creative playground focused on small, experimental games.
just do it for fun
pico-cart 0002 (07/2026)
the theme: [ant rights]
the rules
core rules
games must be made in pico-8
games must relate to the monthly theme
interpretation is loose, but must be clearly connected to the theme
the jam duration is 1 week
time rules
submissions are valid only if the first post is made within the 7-day jam window
the jam runs from day 1 to day 7 of each month
timestamps on lexaloffle BBS are the source of truth
edit & version rules
edits are fully allowed
updated carts (cart-1, cart-2, etc.) do not replace the original entry (cart-0)
the first published version remains the official jam entry
scoring system
no judging or ranking
no winners or losers
no scoring systems
this is a creative playground, not a competition
submit format
submit your pico-8 cart in the jam thread

I've been working on a game where you sort a library inspired by this one game I've been playing. Books are sorted by genre and volume number. There are ~1500 books piled up on the floor that need to be sorted! Good luck! (note: nothing happens right now if you sort them all)
I'll admit, it's been difficult to fit so much text on the screen, so I hope it doesn't look too cluttered. Book titles are a work in progress, only some have real titles (see if you can guess the setting I'm planning on!).
Controls
Cursor can be moved with d-pad or mouse. You can hold up to 10 books at once. Click the arrows on the left and right to move rooms.
❎/LMB - Pick up book / Place on bookshelf

リリースしました!
https://www.lexaloffle.com/bbs/?tid=158979
マッチ3ゲームを作っています。
もう一つのルールがあります。
別の投稿
https://www.lexaloffle.com/bbs/?pid=176711#p
I'm creating a match-3 game.
It can also be played with another set of rules.

I just wanted to share this homage I made for one of my favorite artists, Malika Favre.
This is my pico8 version of Steps. One of my favorites pieces from her Hide & Seek collection.
Check out the original by clicking here.
Climb the steps by alternately pressing X and O.
You can speed up or pause movement using the up and down keys.
If you happen to find this interesting you can check the rest of her amazing work at her site: https://www.malikafavre.com/

Remake (or demake?) of one my favorite flash games: "World's Hardest Game" by Snubby Land as my first Pico-8 project. Mostly as learning.
Might be more frustrating due to lower resolution, but tried my best to make it balanced :) Currently has 8 levels, I plan to add more over time

A scrolling stars wallpaper/screensaver with ships and planets from Star Trader's Luck
Open the cartridge contents and the settings.lua file to configure what appears and how often to customise the animation to your liking.

As the title mentions, Anywhen just saved my life, not literally of course, but it did save me 3 weeks of work on a cartridge I had accidentally overwritten with an incorrect "cp" call.
This got me wondering if folks are using anywhen as an alternative to Git.
Currently Git is the only reason I am considering setting up my project for use in an external editor. While it's missing comments and some other cool features, using Anywhen might be an alternative I can work with for now.
So what do you guys think?
Has anyone used Anywhen in any way similar to using Git? (see what I did there?)

TAB 1:
function _init()
init_game()
end
offset=0
function _update()
if state == "play" then
-- gameplay logic
if player_dead then state = "gameover" end
elseif state == "gameover" then
if btnp(4) then
-- restart game
_init()
state = "play"
end
end
if game_state=="wave_start" then
spawn_timer -=1
if (spawn_timer<=1) spawn_wave()
elseif game_state=="playing" then
if (enemies_left <0) game_state="intermission"
end
if game_state=="intermission" then
wave +=1
spawn_timer=1
game_state="wave_start"
spawn_wave()
end
offset=(offset+1)%128
update_enemies()
p.x=mid(0,p.x,120)
p.y=mid(0,p.y,120)
if (collision_happened) p.state="dead"
if p.state=="alive" then
if btn(⬅️) then
p.x -=1.5
elseif btn(➡️) then
p.x +=1.5
elseif btn(⬆️) then
p.y -=1.5
elseif btn(⬇️) then
p.y +=1.5
end
end
if btnp(4) then
sfx(0)
-- add new bullet to list
add(bullets, {
x=p.x +2,
y=p.y -2,
speed=2
})
end
for b in all(bullets) do
b.y -= b.speed -- move up
if b.y < 0 then del(bullets, b) end -- remove
end
end
function _draw()
cls()
if wave==nil then wave="1" end
print("wave: ",10,10,8)
camera(cam_x,cam_y)
map(0,0,0,0,128,64)
map(0,0, -offset,0,16,10)
map(0,0,128 -offset, 0,20,16)
draw_enemies()
for e in all(enemies) do
spr(e.spr,e.x,e.y)
end
if p.state=="alive" then
spr(p.sprite,p.x,p.y)
else
print("game over",50,60,8)
spr(17,p.x,p.y)
end
for b in all(bullets) do
rectfill(b.x,b.y,b.x+1,b.y+2,10)
end
end
TAB TWO:
function update_enemies()
for e in all(enemies) do
e.y += 1 -- move down
e.y -= 1 -- move up?
if (p.x < e.x) e.x -=.80
if (p.x > e.x) e.x +=.80
if (p.y < e.y) e.y -=.80
if (p.y > e.y) e.y +=.80
if(e.hp <= 0) then del(enemies, e) end
-- remove if off screen
if e.y > 128 then del(enemies, e) end
-- simple collision with player bullets
for b in all(bullets) do
if abs(e.x - b.x) < 4 and abs(e.y - b.y) < 4 then
sfx(3)
e.hp -=1
del(bullets, b)
end
end
end
for en in all(enemies) do
for oen in all(enemies) do
if (oen != en) then
local dx,dy=oen.x-en.x,oen.y-en.y
local d=30
if abs(dx)<d and abs(dy)<d then
local a=atan2(dx,dy)
en.x-=cos(a)0.7
en.y-=sin(a)0.7
end
end
end
end
for en in all(enemies) do
if check_collision(p, en) then
-- handle collision (e.g., game over, lose hp)
p.state=false
p.hp -=1
sfx(4)
game_state="over"
end
end
end
tab three:
function draw_enemies()
for e in all(enemies) do
spr(e.spr, e.x, e.y)
end
if game_state=="play_next_wave" then
if #enemies==0 then
wave_number +=1
spawn_wave()
end
end
end
tab four:
function init_game()
gamestate="play"
p={x=64,y=100, sprite=1, hp=10, state="alive"}
enemies={}
bullets={}
wave_number="1"
enemies_left=0
spawn_timer=5
game_state="wave_start"
game_over=false
end
tab five:
function check_collision(a,b)
return abs(a.x-b.x)<4 and abs(a.y-b.y)<4
end
tab six:
function spawn_wave()
for i=1, wave*1 do
add(enemies, {x=rnd(128), y=0, w=8, h=8, hp=5, spr=4})
enemies_left +=1
p.hp -=1
end
game_state="play_next_wave"
end






13 comments







