Log In  

BBS > Superblog
Posts: All | Following    GIFs: All | Postcarts    Off-site: Accounts

function _init()
state="start"
putbacks={}
setup_game()

p={}
p.x=64
p.y=64
p.sp=1
p.atk_sp=3
p.is_attacking=false
p.atk_timer=0
p.atk_duration=10
end

function _update()
--thinking/logic/math--
if state=="play" then
move_player()
elseif state=="start" then
if btnp(❎) then
state="play"
end
elseif state=="win" then
if btnp(❎) then
setup_game()
state="start"
animate_walk()
start_attack()
end
end
end

function _draw()
--visuals--
cls()
local s=p.sp
if (p.is_attacking) s=p.atk_sp

if state=="play" then
map()
aniplr()
pickups()
draw_ui()
elseif state=="start" then
print("press ❎ to start",30,60)
elseif state=="win" then
print("your journey has come to end. now rest.",30,60)
end
---print(py)
end

function setup_game()
--sets up stuff
px=63
py=63
pf=1--player frame
flp=false --player flip
goal=1 --how many articats
init_ui()

for t in all(putbacks) do
mget(t.x,t.y,33)
end

table={x=10,y=23},{x=2,y=3},{}

putbacks={}
end


--animation--

function aniplr()
--animate stuff
if pf>2.95 then
pf=1
else
pf+=.05
end

spr(pf,px,py,1,1,flp)
camera(px-63,py-63)

if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=3
end
end


--pickups--

function pickups()

local ptx=(px+4)/8
local pty=(py+4)/8

spover=mget(ptx,pty)

if spover==30 then
mset(ptx,pty,17)

add(putbacks,{ptx,pty})

points+=1
if points>=goal then
state="win"
end
end
end


--points/ui--

function init_ui()
points=0
end

function draw_ui()
print("treasure: "..points,10,10,7)
color(10)
end


--player movement--

function move_player()

local lx=px
local ly=py

if btn(⬅️) then
px-=1
flp=false
elseif btn(➡️) then
px+=1
flp=true
elseif btn(⬆️) then
py-=1
elseif btn(⬇️) then
py+=1
end

local ptx=(px+4)/8
local pty=(py+4)/8

--is the player over a tile
--that has flag 0?

if fget(mget(ptx,pty),0)==true then
px=lx
py=ly
end

if btnp(❎) and not p.is_attacking then
p.is_attacking=true
p.atk_timer=0
end

if p.is_attacking then
p.atk_timer +=.25
if p.atk_timer >=p.atk_duration then
p.is_attacking=false
end
else
if (btn(0)) p.x -=1
if (btn(1)) p.x +=1
end
end


--attack systems

function start_attack()

player = {
x = 64,
y = 64,
atking = false,
atk_timer = 0
}

if btnp(4) and not player.atking then
player.atking = true
player.atk_timer = 10 -- attack lasts for 10 frames
end

-- handle attack timer logic
if player.atking then
player.atk_timer -= 3
if player.atk_timer <= 0 then
player.atking = false
end
else
-- move code goes here so player stops during attack
update_movement()
end

end

2 comments


Cart #timewaster-0 | 2026-05-06 | Code ▽ | Embed ▽ | No License

first game

arrow keys for movement

0 comments


Cart #perikejifa-0 | 2026-04-29 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


i simple puzzle adventure. called sandbox. no way to win yet

0 comments


me
by MANHILL
Cart #me-0 | 2026-04-27 | Code ▽ | Embed ▽ | No License

me.

a tiny companion.


what

me. is a small creature that lives on your screen. it has four needs:
hunger, fun, energy, love. you press buttons. me. reacts.

it is a tamagotchi in shape, but not in spirit.

what me. actually is, is closer to a face that breathes. a body that
gets tired. eyes that look away when sad. eyes that find yours when
trust has built up over time. a mouth that quivers before something
real happens.

if you ignore me. for too long, me. will get hungry. then sad. then
desperate. then me. will die, and the death will be unlike anything
you have seen in a tamagotchi-shaped game.


controls

  • up : feed

[ Continue Reading.. ]

0 comments


I was wondering how I can add 3D projection to my game, it seems very complicated and I want to know if anyone can make me understand how it works and how to do it, thanks.

1 comment


Cart #pyra_mid_game-0 | 2026-04-26 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
1

1
0 comments


I love this little machine. It can do everything I want it to. The community is super supportive as well. I remember a time when I joined a game jam and said in the group chat I was using PICO-8. Somebody using Unreal said I was on easy mode and I was flabbergasted. Making a game is easy no matter the tools you use. Making a game with an adjective is the hard part. Maybe making a bad game is easy, but you get what I mean. Regardless, I love posting on here and hearing from people. Building little toys to play with, experiences to chew on, or making games with spunk, this thing can do it all for me.

Thank YOU for making PICO what it is. I appreciate your artistic choice and direction with what you make and/or consume on here. I do it for you. I love all you strangers. Viva La PICO!

With love,
The Wall (or Squee)

[8x8]

[ Continue Reading.. ]

2
0 comments




Cart #jennysfarmv2-0 | 2026-04-19 | Code ▽ | Embed ▽ | No License
1

Jenny's farm is making good progress! She can now harvest her carrots. She has a place to sell them now but cannot actually sell anything yet. I'm mostly just posting here as a way to save my progress so my friends and family can see/play the game if they want.

1
1 comment


Any games pinned on my profile is the ones I finished. Feel free to recommend some pico cartridges to complete alongside other things.

1
1 comment


I found out about Voxatron many many years ago via the humble debut bundle they did however I had no idea they had spun it off into Pico-8 and now Picotron! What a hugely exciting discovery I just wish it wasn't Sunday!

Hope to start learning lots about this soon!!!

1
2 comments


A simple wallpaper with a warp drive effect. Thought it was neat enough to upload.

Cart #aquova_warp-1 | 2026-04-10 | Embed ▽ | License: CC4-BY-NC-SA

0 comments


Cart #yufefafiku-0 | 2026-04-07 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

the goal is to see how many paintings u can sell

to sell a painting, you want to get the numbers up on the painting in the color of the guy across from u, and get his health down. that means getting him to like ur painting. if the painting also has his little request (the symbol next 2 him) in it, he'll buy it

if your painting has enough of their color, you will defeat him and reach a rewards phase

to block the guy's attack, paint in the color of UR guy's shirt

defeating him is not always the same as selling the painting:
if u beat him but the painting doesnt have his request, u still get the reward phase, but it doesnt count as sold

3 have 3 tries to make him like ur painting on the 3rd round hill unleash a powerful attack. if u survive the attack you'll lose a random symbol from that canvas. this can be good or bad.

if your health hits 0, ur dead

when u submit a painting, the colors on it cash out:
the buyer's color becomes attack
your shirt color becomes defense

some rewards are:

rest heals u +50% of max

train adds 1 to ur max hp

power adds 1 power to selected tool

the other ones u have to learn

u have to upgrade ur tools to get good. try different effects. knowing how they work is how u win the game

u should upgrade ur canvas. when u sell a painting u get 1 per cell, so it starts at 12 and scales up

use money to reshow works that u didnt sell. the reshow price goes up 1 every time, so be careful. reshowing old paintings is how to avoid death, so plan for that

comment ur score and turns and what sucks and what is good

0 comments


Cart #zajefomoda-0 | 2026-04-03 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA


Press x :)

0 comments


There is a common problem in the BBS formatter for BBcode, which prevents use of certain characters in tags, like the spacebar. You can use @{} to tag people as such, like me. I did it: @Nour Ramy

This is a well-known issue.
The reason this is unpatchable is that characters like the spacebar are terminators of these tag sequences.

Credit for this valuable information: @thePixelXb_

2
2 comments


Feel free to use this cart to implement ropes/tentacles in your games!
Witness the magic of Duke the Wizard!

Cart #jimigotaho-0 | 2026-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
3

3
0 comments


Cart #fikidibiga-0 | 2026-03-31 | Embed ▽ | License: CC4-BY-NC-SA


Wave Based Survival.

0 comments


Cart #acidrain-0 | 2026-03-31 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

🎮 How to Play

← →: Move left/right
Z or X: Start game, continue, restart
P: Pause

0 comments


Cart #wahipkuyu-0 | 2026-03-30 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

0 comments


Cart #cataclysmsencore-0 | 2026-03-26 | Code ▽ | Embed ▽ | No License


How to Play:

Use the arrow keys to control Pascal! Find spirits to help unlock new areas. If you walk into a wall you will be blocked. Avoid dangerous tiles , as stepping into the void will end the game. Your goal is to get to the end, and find the portal home.

Hold ❎ at any time to check your inventory and see how many keys you have. When previewing text, press ❎ to exit the box and continue. If you lose, press ❎ to restart and try again.

Find the Stags and Spirits to get insight on the story! There are 9 stags and 6 spirits in total! Different Stags have different corners that activate text, so if it doesn't work right away, Try a different angle!

The world and background is based around a previous dnd campaign and helps to bridge the gap into another. I am hoping to expand on these ideas and projects as I develop more games :) If you were or are one of the players, what references did you catch?

--I am struggling to incorporate a camera that moves with the player and more fluid movement, if anyone has insight I would appreciate!

0 comments




Top    Load More Posts ->