-- karakterin konumu x = 64 y = 64 -- kalbin konumu hx = flr(rnd(120)) hy = flr(rnd(120)) -- skor score = 0 function _update() -- karakter hareketi if btn(0) then x -= 1 end -- sol if btn(1) then x += 1 end -- saÄŸ if btn(2) then y -= 1 end -- yukarı if btn(3) then y += 1 end -- aÅŸağı -- kalple çarpışma kontrolü if abs(x - hx) < 8 and abs(y - hy) < 8 then score += 1 hx = flr(rnd(120)) hy = flr(rnd(120)) end end function _draw() cls() -- karakter sprite 1 spr(1, x, y) -- kalp sprite 0 spr(0, hx, hy) -- skor yazısı print("kalpler: "..score, 2, 2, 7) -- sevgi mesajı if score >= 20 then print("seni seviyorum <3", 30, 60, 8) end end |
Hello everybody! This is an early beta version of the adventure game "Become a King".
![]() |
[16x16] |
How to play:
arrows - move the cursor
Z - make a move
X - open menu
Updates:
0.1 - added pieces
0.2 - added map
0.3 - added text windows and dialogs
0.4 - added enemies(work in progress)
Write suggestions for the game in the comments, I will be glad to receive any comment.


PicoMayor
"Be the mayor of a tiny city and carefully plan your way to glory!"


PicoMayor is a city builder game where you have to balance seven Resources (Wealth, Labour, Professionalism, Science, Art and Culture, Logistics, and Happiness) while trying to grow your city. Each building can either consume or produce one or more resources, in addition to either requiring a yearly upkeep or generating a yearly income. Many buildings also interact with each other in ways that may or may not be beneficial, so planning is crucial for your success.







Hello everybody,
I'm trying to implement collision and knock-back(?) for the particles in my game. I've got it sort of working, but--as you can see from the gif above--some particles behave oddly. Some drip down the tiles, others get caught in mid-air.
I was hoping some kind soul could take a look at my code and tell me if there is a better way of going about this. I'm guessing my issue is a result of how I'm checking for collisions. Thanks!
parts = {} function make_px() for i=1,10 do p={} if not p1.left then p.x=p1.x+7 else p.x=p1.x end p.y=p1.y+7 p.c=4 if not p1.left then p.dx=1+rnd(2) else p.dx=-1-rnd(2) end p.dy=rnd(1)-rnd(.5) p.age=rnd(2) add(parts,p) end end function update_px() local g = .05 --check pixels left, right, above, and below. If there is a collision, add knock-back [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=166778#p) |


ever looked at the picotron default file icons and went "man, i wish i had more icons in these icons"? well have i got the solution for you!
INTRODUCING: icon base!
icon base lets you customize the default file and folder icons, without any metadata shenanigans! want your gif files to have their own icon? want color with your .lua files? want a treble clef on your .sfx files? want your font folder to have a big "T" on it? well now you can do all that and more without having to manually change each file's icon!
for help, consult the "read me" menu item when you open the cart, or you can just ask stuff here.
also it might be a bit broken but ill be trying my best to fix any bugs


Hello everybody! This is an early beta version of the adventure game "Become a King".
![]() |
[16x16] |
How to play:
arrows - move the cursor
Z - make a move
X - open menu
Updates:
0.1 - added pieces
0.2 - added map
0.3 - added text windows and dialogs
Write suggestions for the game in the comments, I will be glad to receive any comment.

About
I created a racing game.
Original inspiration:
https://www.mameson.com/beforeweb/gekiso_racing.html
https://www.youtube.com/watch?v=CPjtxpXzSeo
Race Mode

You can choose from practice, easy, normal, and hard.
For hard mode, I haven't been able to clear any course other than the first one (EIGHT), but theoretically, it should be possible.
If there's a course that feels absolutely impossible, please let me know.
Controls
Left/Right - Steer
X - Accelerate
Edit Mode

You can create your own courses.
Controls
Left/Right/Up/Down - Move the cursor
Sorry, I'm stop make new games and i'm deleted my games
Check my new account https://www.lexaloffle.com/bbs/?uid=125952
2024-2025



podtree number / string bug
In podtree if a number is overwritten with a string it remains as a string, even if the user re-enters a number. For example in /appdata/system/code.pod change selcol to "yellow" then back to 10. 10 remains as a string. And results in the code highlighting to go awry (see image) until code.pod is deleted and reset by app.
This is minor, but I was hoping to offload all app settings to podtree,(ie stay in picotron os / app world) without recreating a settings pane, or having to save back to a pod from the app.


Finished my first PICO-8 game! A farming game heavily inspired by SpaceCat's farming game tutorial, but with my own twists, gameplay mechanics and visuals!
Update 1.1 fixes the overflowing highscore, as well as slightly changing how the score is calculated and adjusting the prices for tomatoes and tomato seeds.




Precision Drift in t() Over Long Uptimes
Bug Description
Over hours, floating-point division yields cumulative precision drift.
This results in noticeable glitching in all applications that derive any of their values from t()
at any point during their _update()
or _draw()
functions.
Summary
- Root cause:
lua54_time()
uses60.0f
(32-bit), resulting in precision drift - Fix: change
60.0f
=>60.0
- Alternatives: new
stat(STAT_SEC_TICKS)
orstat(STAT_TICKS_RUNNING, n)
If this is behaving as intended or you go with the "Fix", I implore you to consider implementing one of the stat()
solutions!
Context
time()
is the lua-side of the c functionlua54_time()
lua54_time()
returnscproc->ticks_running / 60.0
as a lua_Numberticks_running
is a once-per-tick integer counter- (tick = 1/60 seconds) =>
t()
increments ~0.01667 seconds per tick
- (tick = 1/60 seconds) =>
- No reliable sub-second API for long-running apps

Officially, you can't use multiple data storage one one program.
This feels mostly true, but very similar in spirit to statements like "pico-8 has 16 colors".
"cartdata() can only be called once per program", is already less restrictive :
You could have a game that uses 3 save slots, each with a different cartdata ID because each save requires most or all of the 256 bytes of a cartdata storage, and let the player choose his slot at start of the program. You'd only ever call cartdata once per game session, but would have three storage slots used in one program.
This would still not be great because you can't display any info about the slots before loading them so the player would have to blindly load a slot, see if it's the save he intended to use, and reset the game if he made a mistake.
Could we do that programmatically ? Turns out that yes, we can :
extcmd("reset")
Does reset the cart. Problem is, how do we remember what the previously viewed storage was, or what we were doing before triggering the reset ?