This is the second game my 3-years-old son and I did together.
It started as something simple. A car which moves around. A police car? No, a regular car.
Then we added coins. And made the car pick them! Interactivity! Randomness!
Then we needed a monster. So of course Covid-19 makes an appearance as the bad guy. You "kill it" with the car (which conveniently uses the same code as the coins).
Although to more experienced players the game might feel like it needs some kind of "success screen", my son doesn't seem to miss it at all.
It was also the first time we used the sound editor. Bruno is way too impatient, and I am too inexperienced, to create a whole song for a game just yet.
Fun facts:
- There's exactly 10 instances of the virus because that's the biggest number Bruno is able to count up to so far (reliably).
- There's exactly 51 coins because "51" is the number Bruno uses when he wants "a very big number".
Controls: arrows to move.
Hello all!
I have been trying to make a minesweeper clone in order to practice grid based games. Everything was going well, until I tried to make the mechanic where adjacent 0 tiles are revealed. I made a recursive function, but when set to all eight directions, it would run out of memory almost instantly. Any tips on how to either optimize the function or replace it? Any help would be awesome, I'm not the best programmer, thanks!
Recursive function:
function tile_reveal(x,y) if y > 0 and y <= #board.board and x > 0 and x <= #board.board[1] then if board.overlay[y][x] == 11 then if board.board[y][x] != 9 then for d=1,#dirs do if y+dirs[d][2] > 0 and y+dirs[d][2] <= #board.board and x+dirs[d][1] > 0 and x+dirs[d][1] <= #board.board[1] and board.overlay[y+dirs[d][2]][x+dirs[d][1]] == 11 then board:change_overlay(x+dirs [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=78805#p) |
A little cover I made two months ago and forgot to post on the BBS. Enjoy!
There's four different visual modes picked at random on reset, I tried to sync two of them to the music.
Mario's colors based on the SMB port by @mhughson
Hello world!
How can I make my code more like a library or a self-contained independent module/component? Here's a text scroller by me (my first published cart yay!). Currently you need to call three functions to use it:
function _init() scroller = init_scroller("lorem ipsum dolor sit amet, consectetur... ", 30, 5/30) end function _update() update_scroller() end function _draw() cls(0) draw_scroller(4, 60, 7) end |
I tried to write it more like an component but couldn't make it work. My idea was that init_scroller() would return "an object" which would contain everything. Then you'd call object.update() and object.draw() to use it and could create as many instances as needed. However my return object had just pointer to global functions and later instances overwrote earlier ones.
You are Kung Poo Fighter, who is trying to avoid being hit by the flying and bouncing bog rolls.
You simply have to avoid being hit by the toilet rolls, amassing the highest score you can by surviving as long as you can from being struck by a turd threatening roll of tissue.
This is yet another a simple casual high-score chase game that gets progressively harder the longer you play it.
The original game was created by myself for the Commodore 64 as an entry for the
RESET C64 4KB Craptastic Compo 2020.
This is a competition for creating a 'crap' game in 4 kilobytes or less (compressed file size).
Code and graphics in this PICO-8 version by yours truly, Roysterini of MEGASTYLE.
I'm trying to make a checkers game as a first game, and have the function loc_type(loc) which should return 1 if the location has a black piece and a 2 if the location has a white piece, and zero if it's empty.
This works perfectly well for setting up the board but I'm now trying to code selecting a piece. But when I call loc_type, it seems to think that pos = {5,7} (Which is the last white piece I spawn).
I'm really unsure how to fix this. Any thoughts?
Code for reference
--game logic function _init() -- enable mouse poke(0x5f2d, 1) curr_peice = nil val = {-1,-1} -- starting places for peices (might want to automate this?) blacks = {{0,0},{0,2},{0,4},{0,6},{1,1},{1,3},{1,5},{1,7},{2,0},{2,2},{2,4},{2,6}} [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=78789#p) |
This simple animation engine is an attempt at creating a universal animation engine that I could use to handle all the animations in my game.
After searching online, I realised every animation tutorial or example code was either too simplistic to handle more complex animation states like player movement, or too complex and I couldn't understand the code.
This simple animation engine is robust enough to handle more complicated animation, such as player movement, and simple enough that it's not overkill to use on stationary objects. And if it's not quite what you need, I hope my code is simple enough to understand that you can make whatever modifications you need.
By no means is this the be all and end all of animation engines, but for those who are new to pico-8 development or people looking to improve their current engine, I hope this helps.
New endless action-puzzler game. It's more chaotic than a tetris clone but I think it's fun.
Difficulty is still being tweaked, no game over screen yet.
Controls and game:
</\>: rotate center bubbles counter/clockwise
Z/X: slowmo, or "focus" mode. Also shows an aim assist, and gradually deducts from your score.
down: speeder. Bubbles fall faster, but difficulty rises at same pace, making it technically efficient.
To clear bubbles, make a donut out of 6 of them, or a circle out of 7.
Bubbles that get disconnected from the center structure will fall off, which I totally didn't steal from puzzle bobble!
Also, the "bubble" in the center of the screen can't be cleared.
GodMode is enough
Story
...I don't know where this is. But I do know what we're going to do!
Get into your invincible robot and kick out the oncoming insect army!
Rules
Use the left and right punches of different performance to defeat the enemy at the right time.
Robots don't mind being hit, but they don't get a score.
The more you punch them in succession, the higher your score multiplier will be.
If we don't get there in time, we'll jump and stomp it out!
If you quickly eradicate an enemy group, the next group of enemies will emerge early.
This quick turn is the key to higher scores.
Of course, this title is a homage to the theme song "Goonies is good enough" in the legendary movie.
control
⬅️➡️ move left and right
⬆️ jump
🅾️ left punch
❎ right punch
...thank you for playing!
I'm trying to free up some tokens in my game by converting some tables to strings. Here's how I am trying to convert a string back to a table (which contains tables):
stgs="102,2\102,1" for i=1,#stgs do if sub(stgs,i,i)=="," then sprite=tonum(sub(stgs,i-3,i-1)) layout=tonum(sub(stgs,i+1,i+1)) add(stg_defs,{sprite,layout}) end end |
I would expect the output for the above code to be:
{ {102,2}, {102,1} } |
However, the actual output is:
{ {102,2}, {nil,1} } |
Can anyone spot what I'm doing wrong?
Welcome to the Chasm of Screams
"Unceremoniously thrust out of stasis, you exit the derelict jumpship and land on the slick tarmac of a waterborne facility. Heavy rains and rolling waves batter the rusting catwalks of this ocean rig. Lightning storms and crumbling megastructures dot the horizon.
Skeletal claws and glowing eyes lunge from the shadows. They hunger for your soul.
Someone or something is tight-beaming you a basic combat survival guide via an open frequency:"
- Use the arrow keys to navigate the environment. Move into enemies to attack with your melee weapon.
- Use X to interact with objects that you are standing on top of, such as picking up a new weapon or descending stairs.
// UPDATE: I lost the files for update 1.1. It'll be delayed for quite a while. //
I know people have made lots of Tetris clones before, but I've always wanted to make one.
Creating this was mostly inspired by other clones (namely Tetyis and Pico Tetris).
I've incorporated pretty much all guideline rules, including SRS, hold, and more.
Controls
- Use left/right to move the piece, well, left and right.
- Use down to soft drop.
- Use up to hard drop.
- Use X or O to rotate the piece. You can swap the directions by rebinding the controls.
- Press X and O to hold the current piece.
Modes
- Marathon: Clear 150 lines
- Sprint: Clear 40 lines as fast as possible
So this is my first pico-8 game, I based it on my c64 4k game of the same name, the c64 game was an entry in the craptastic 2020 compo. you can find out more about craptastic here
Use the "X" (PC version="x") or "O" (PC version="c") buttons to control the "fallers" on each side of the screen, avoid the spinning blades, simples!
Game by Jamie Fuller
Music and Gfx by Roy Widding
Just a small test using the Minsky algorithm as a fade.
Z to switch between rectfill() and memcpy() methods.
X to toggle auto-size. If auto-size is off the cursors will resize the circle.
NB: The memcpy() method uses the sprite memory for ease; more thought will be required if used in a cart using this memory. The recfill() method is less cpu anyway, so...