I was checking a suspicion of a regression in version 0.2.0c and discovered this minor inconvenience. When a newer version cart is loaded into an older version PICO-8, it errors out with "Could not load $filename". Technically, it's correct, but the same error is shown when, say, a given cart file is missing. I find this messaging confusing: it took me a while to realise that the file is fine and it's the version mismatch that causes it.
Suggestion. Make it forward-compatible: error out with something like "cart version unsupported".
(FWIW, I was trying all this via command-line)
Bonus small bug: non-lower-cased message word "Could" is rendered in the puny font, while the rest of PICO-8 UI does not use it.
Demo.
$ cat newer.p8 pico-8 cartridge // http://www.pico-8.com version 42 __lua__ $ pico8 -run newer.p8 |
I have been experimenting with player movement for a top-down 2D game. At the moment, I have "fixed" diagonal movement to be 0.7x the speed of straight-line movement, and also added friction so the character sprite slows down gradually.
The next step however is acceleration.
I'm wondering how a slow ramp into movement (acceleration) might be achieved using the lerping algorithm as introduced here: https://demoman.net/?a=animation-code-part-1
Does anyone have tips or a tutorial on how I could achieve this acceleration/deceleration??
Code for movement:
if (btn(➡️) and btn(⬆️)) then p.dx=p.speed*.707 p.dy=0-(p.speed*.707) elseif (btn(➡️) and btn(⬇️)) then p.dx=p.speed*.707 p.dy=p.speed*.707 elseif (btn(⬅️) and btn(⬇️)) then p.dx=0-(p.speed*.707) p.dy=p.speed*.707 elseif (btn(⬅️) and btn(⬆️)) then p.dx=0-(p.speed*.707) p.dy=0-(p.speed*.707) elseif (btn(⬆️)) then p.dy=0-p.speed elseif (btn(➡️)) then p.dx=p.speed elseif (btn(⬇️)) then p.dy=p.speed elseif (btn(⬅️)) then p.dx=0-p.speed end if not btnp(⬆️) and not btnp(⬇️) then p.dy*=friction if p.dy<0.01 and p.dy>-0.01 then p.dy=0 end end if not btnp(➡️) and not btnp(⬅️) then p.dx*=friction if p.dx<0.01 and p.dx>-0.01 then p.dx=0 end end p.x+=p.dx p.y+=p.dy p.x=mid(0,p.x,124) p.y=mid(0,p.y,124) |
RNDGAME
It's a random arcade game name generator -- press RIGHT ARROW to generate a new one! (LEFT ARROW goes back to previously created names.)
HISTORY
So in the game Anachronox, there was an arcade on the planet Hephaestus. I made a random arcade game name generator (for a sign in an arcade). It announced new games coming to the arcade, but just made up random silly ones. Every time you clicked on the sign, it made up a new one, just or silly fun.
Hope you enjoy it! Let me know if there are any (family-friendly) words you want added!
Updated: May 13, 2020 with typo fix.
This is a little game I while learning the basics of pico-8.
It is inspired by Rock Hopper for the Amstrad CPC computer which was one of the first games I played when around 5 years old.
http://www.cpcwiki.eu/index.php/Rock_Hopper
It's quite basic but hopefully someone will get a few minutes fun from it :)
Here's DrCovid.
A Pico-8 version of Dr Mario
v1.6 (2024-10-20)
- added option: 5 virus/pill colors (red,yellow,blue,green,pink) game
- separate highscores: 3,4,5 virus colors
v1.5 (2021-06-29)
- added option: 4 virus/pill colors (red,yellow,blue,green) game
- separate highscores: 3 or 4 virus colors
v1.4 (2021-04-27)
- bugfix incorrect retrieve of saved pill count
v1.3 (2021-04-26)
- save "best time" and "minimal pills used" per level for each speed (low/med/hi) in cartdata and show it when level is complete
- highscore overview screen
v1.2 (2020-07-29)
- speeddrop button enabled by default
- bugfix: incorrect offset of green color indicator of doctor's watch when gs_level_achieved
- bugfix: continue with last visible next pill when gs_level_achieved, gs_game_over
v1.1
- bugfix: reset screen offset when screenshake was still busy and a new game was already started after gs_game_over
v1.0
- Initial version
campfire (LD46)
submitted here to Ludum Dare 46, theme: keep it alive
light the campfire and keep it burning for as long as you can!
- keep the fire going to add to your score; the more enemies there are on your screen the more points you will get
- when the campfire is not burning your score will decrease
- walk with the arrow keys
- extra jump with [z] + arrow keys
- skip turn with [x]
campfire (LD46)
submitted here to Ludum Dare 46, theme: keep it alive
light the campfire and keep it burning for as long as you can!
- keep the fire going to add to your score; the more enemies there are on your screen the more points you will get
- when the campfire is not burning your score will decrease
- walk with the arrow keys
- extra jump with [z] + arrow keys
- skip turn with [x]
WoolCat! Take Woolly home.
Made for Fantasy Console Game Jam #5
This is the jam version! The improved post-jam version can be found here: WoolCat 3D
It features more levels, pseudo-3D graphics and easier diagonal inputs.
Keep Woolly's spirits up on his way home, be careful and keep an eye on his happiness meter, collect all the balls of wool to keep him moving forward.
- Run around with the arrow keys.
- Collect all the wool to move to the next level.
- There are over 60 levels.
- To move diagonally, press two directions at the same time.
The Final Update!
- Now has the missing intro
- Hit detection is a bit better.
Lexicon’s spaceship runs on slime, but the slime has run off! Get the slime back into the tank so you can get going again, and nevermind that all those creatures you caught have gotten loose. What’s the worst that could happen?
Z or C to fight, X to run. The digi-bugs are only interested in the slime, who will follow you if you’re close enough and she isn’t busy eating or complaining, and her voice is so distracting, that you can’t fight while she’s talking.
Your slimy companion will consume any nearby defeated digi-bugs whenever she’s hurt or hungry. If you can get her safely across the ship to her tube, you win!
For Ludum Dare 46 https://ldjam.com/events/ludum-dare/46/whiny-slime
By Brightmoth Games! (Ava, Nette and Robin)
Patched LD46 Cart:
A new build was uploaded to fix
-Crash on death in certain cases
-Music randomiser only played the wrong song
-Bugs didn’t spawn when retrying.
Hi!
This is the version that was submitted to ludum dare 46.
I'm planning to continue the development after I have some rest.
Thanks for checking it out!
You can get more details about it here:
http://cantarim.itch.io/kipthulhulhive
if (bird.beauty=="incredible") protect_at_all_costs();
You are an experimental military drone. Captivated by the beauty of a passing bird, you vow to protect it from the threats surrounding it -- including your former comrades, who've realised you've gone AWOL and are chasing you down. Keep the bird (and yourself) alive for as long as you can!
Features:
- Shoot down obstacles, or lure the bird away from them
- Endless gameplay that gradually ramps up in difficulty
- Local high-score table to track your best runs
Controls:
- Arrows: Move
- Z: Shoot
- X: Call the bird to you
Created in 72 hours for Ludum Dare 46.
Made for Ludum Dare 46, by Sam B and Josh S.
BLOOM ETERNAL is an arcade shooter / water-em-up, in which you must keep your plants alive and fend off the attackers. Make sure every flower patch is kept hydrated!
Story
You are the BLOOM SLAYER, a peaceful garden-loving ex-marine who tends to his nursery in HELL. Out of nowhere, your garden is laid siege to by a never-ending army of plant-eating SLUGS. Equipped with an array of powerful weapons (and your trusty watering can) you must relive your past life to keep your flowers safe...
Featuring:
- Numerous equippable weapons & powerups!
SPRITE FONT PRINTING!
This cart -- all it does -- is provide a sprite font and routines to print to the screen.
All the routines print either a colorized font, or a colorized font on a color background (if provided). If the first color is black, it prints in black, assuming the background to be transparent (say, if you were printing on a white background).
The three print functions do the following:
- SPRINT. Prints on 8x8 boundaries
- SPRINTC. Prints centered in X, but on a Y at pixel resolution.
- SPRINTXY. Prints at an X,Y at pixel resolution
The two SPRITE FONTS match the Pico-8 font, including the glyphs. (It doesn't contain Kana characters).
This has been solved. you may still look at the non-working code and working code.
So for my Merge Chickens game, I have a limit of 64 chickens because there are only 64 save spaces, but when I try to make it so I can save more chickens all I get is:
here is my code:
--savebuk() and loadbuk() function savebuk() local d=0 for x=0,15 do--go thrugh all of for y=0,15 do--the map tiles local i=0 local s=0 if mget(x,y)>63 then i=mget(x,y) --if this tile is a chicken --set i to the sprite number end if x+1<16 then if mget(x+1,y)>63 then s=mget(x+1,y)*1000 --if the tile next to the --tile at x is not off the --map and if the tile is a --chicken set s to the tile --times 1000 end else if mget(0,y)>63 then s=mget(0,y)*1000 [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=75072#p) |