A short atmospheric platformer with metroidvania elements. Your UFO has been knocked out of the sky by scavengers and you're now trapped in their swampy junk yard. With the help of some friendly aliens, find a way to disable the electromagnetic pulse cannon that's keeping you from escaping.
This was my entry for RNDGAME Jam 2020.
Left/Right - Move
Z - Jump
X - Use Zapper (once you have received it)
Up/Down - Cycle Zapper Modes (when you have more than 1)
-
SHOOT LOOPS IS A 1V1 GAME WHERE YOU MUST REDUCE YOUR OPPONENT'S HEALTH POINTS TO ZERO (0) TO WIN
-
SHOOT YOUR OPPONENT TO DEAL TEN (10) DAMAGE
-
RETRIEVE YOUR OWN SHOT TO HEAL ONE (1) HEALTH POINT
-
SHOTS THAT GO OFFSCREEN LOOP BACK AROUND
- EACH PLAYER MAY ONLY HAVE ONE (1) SHOT LOOPING AT A TIME
PLAYER 1 KEYBOARD CONTROLS:
UP - E
LEFT - S
DOWN - D
RIGHT - F
SHOOT - TAB
PLAYER 2 KEYBOARD CONTROLS:
UP - UP ARROW
LEFT - LEFT ARROW
DOWN - DOWN ARROW
RIGHT - RIGHT ARROW
SHOOT - M
Arrows move
Z/C shoot
X switches ship mode.
The Robot mode's weapon reflects enemy shots. If a reflected shot takes out an enemy ship, you gain a charge.
Decided to have a crack at making a shmup after rolling the name Striking Thunder in the #RNDGAME2020 jam. Kudos to Dan for creating the title screen.
Sleeping Bunnies
A game made for RNDGAME Jam 2020.
Description
An endless-mode stealth game. The player's goal is to keep the sleeping bunnies alive. Increase your score by collecting carrots, feeding the bunnies, and keeping the bunnies alive.
Controls
Movement: Buttons 0-4 (WASD, d-pad)
Sniff: Button 4 (Z, Blue)
Feed: Button 5 (X, Green)
Menu: Button 4 & Button 5 ( Blue & Green)
Systems
Rabbit Survival
The Rabbit can only be harmed by the Fox. Being caught by the Fox results in a game over. However, the Rabbit cannot be harmed while it is hidden.
Bunny Survival
The Bunnies' health slowly depletes over time. The Rabbit feeds Bunnies by pressing X (green) when nearby. Feeding Bunnies depletes the Rabbit's energy. The Rabbit must find and eat food to restore its energy.
In the future, humanity will achieve world peace by offloading all of its paperwork to Mars.
You are Astro Clerk, a capable custodian of all documents, forms, certificates, contracts, and records to be found on the red planet.
Tomorrow is Mars Day, the beginning of a long weekend. Unfortunately, this year it falls on the first of the month!
Traverse the hostile terrain and rescue the common pencil-pushers from an endless night locked away completing their quarterly mars reports!
Astro Clerk is my entry for RNDGame Jam 2020, an homage to the early-90s classic The Monuments of Mars. It features 20 levels of puzzle action, autosave, high scores, and 2-bit CGA color!
Here is the game 'Dragon's Playground' made for Tom Hall's #RNDGAME2020. I had so much fun coding this, it was good to work under the requirements of a game jam, it really tested my programming ability--working to a deadline. Anyway, great fun, Dragon's Playground is a top-down, free-roaming shoot'em-up where you control Azron, scourge of the realms. You must incinerate the realm, defeat wizards, elves and knights to assert true dominance over the kingdom.
There are still a few lingering bugs that I would like to fix, but I am happy to share this game as part of a game jam, my first. Great fun!
Controls:
X - Breathe fire
Z - Charge breath
v1.0 - Jam version
v1.1 - Added a fillp effect to make smoke less overwhelming, fixed a bug that ended game prematurely after first game was over.
This is my code snippet for 8-dir movement in PICO-8. There are some in BBS like this but I think I have something to add here because:
1 - It doesn't move faster when going diagonals;
2 - It can move at speeds below 1 pixel/frame (sub-pixel movement);
3 - And most importantly: IT DOESN'T HAVE ANY ANNOYING JITTERING (the staircase effect)!!!
Feel free to scrutinize my code and give me any constructive tips. I am still getting started with PICO-8 and Lua.
On a distant planet, a woman has found herself separated from her crew. Their fate unknown, she seeks a way back to the spacecraft that brought them here, but there's a strange obelisk here, and hoards of viscous creatures...
Fight huge crowds of monsters to push a path forward in this retro-style arcade shooter!
Here's my entry for RNDGame Jam 2020! I'm happy with how this turned out -- it's pretty much the first game I've ever really "finished" in any capacity. Maybe I'll do more with it, but for now I hope you enjoy it!
btnp seems to completely stop working iff _update60 is used instead of the normal _update
to reproduce:
- run the program below
- press Esc
- type some sort of statement (for some reason the bug only occurs if you type something before typing resume) e.g. ?"hello"
- type resume
- push or hold down the button (O)
expected: "pushed" will appear onscreen
actual: "pushed" no longer appears onscreen
function _update60() pushed = btnp(4) end function _draw() cls() if pushed then print("pushed", 52, 60, 8) end end |
I'm sure this is probably an easy answer, but why do these work differently, where co_anim1 resets to nil after completion, but co_anim2 does not?
function _init() co_anim1=cocreate(animate) co_anim2=cocreate(animate) end function _draw() cls() --first method if (co_anim1 and costatus(co_anim1)!="dead") then coresume(co_anim1) else co_anim1=nil end --second method, same as first, --but sent to a function to do --the work. resume(co_anim2) print("co_anim1:",0,0,5) print(co_anim1,36,0,7) if (co_anim1) print(costatus(co_anim1),75,0,7) print("co_anim2:",0,6,5) print(co_anim2,36,6,7) if (co_anim1) print(costatus(co_anim1),75,6,7) end function resume(co) if (co and costatus(co)!="dead") then coresume(co) else co=nil end end function animate() local a=rnd() for i=1,40 do circ(64+cos(a)*i,64+sin(a)*i,4,7) yield() end end |
This code results in this behavior:
In the code editor, add a new tab with the first line being a comment line containing only puny caps and spaces, then add a second comment line with regular text. Hover over the tab, the title preview shows the second comment instead of the first. Bug doesn’t happen if the title mixes cases ("--UI helpers" is ok).
“Picosolo” is best thought of as a puzzle game with a climbing theme. The objective is to reach the top of a 24 m high rock face.
You do so by moving your hands and feet to find suitable holds. Your limbs are controlled using the arrow keys. You cycle through them by pressing the “Z” key (the selected hand or foot is highlighted by a pulsing icon).
The most important rule to remember is that when you press the “Z” key, you need to have at least two good holds (indicated by a bright green “+” on the corresponding hand or foot). If you have only one, you fall and the game ends.
Other than this, there are some constraints about where your limbs can be positioned (relative to your body). In summary, your left hand must always be above and/or to the left of your centre of gravity (roughly located at the waist of the on-screen character). Your right foot must be below and to the right etc. You also cannot cross arms or legs, so only one hand can be directly above your head and one foot directly underneath you. Obviously, limbs have a limited reach: they can neither extend beyond 4 “cells” of your body, nor be less than two “cells” from your waist. The game will only allow you to move your hands and feet to valid locations, so the best and easiest way to “get a feel” for this is to play it!
What up fishes!
So, I'm new to Pico (mostly a Unity/C# person) and I've been getting my bearings this last week. I was looking into ways to get more game content out of fewer sprites. The most obvious way seemed to be using the same sprites but changing the colour palette. I did some searching and found a few posts where this came up but the only answer I found was to use pal() which unless I'm missing something, changes the screen palette, which affects every instance of that colour onscreen.
So, below is the solution I landed on. Is there a better way to do this? If so, pls halp.
(I've changed some variable names for clarity, I don't normally label things like this)
--Define a 2D array of colour indexes. C1 is the colour we're swapping, C2 is what we're --swapping it to. SecondarySpritePalette={ {c1=14,c2=11}, {c1=2,c2=3}, {c1=10,c2=1}, {c1=4,c2=5}, {c1=15,c2=4} } --Draw sprite on screen using custom sprite drawing function that takes in the above array. DrawSprite(SpriteID, XPos, YPos, PaletteArray) function DrawSprite(n, x, y, c) --Get position of sprite within the spritesheet. local ycell=(flr(n/16)) local xcell=(n-(16*ycell)) --Loop through each pixel in the sprite. for lx=0,7 do for ly=0,7 do --Get the current pixel colour. col=sget((xcell*8)+lx,(ycell*8)+ly) --Loop through each colour in the palette array for i in pairs(c) do --If the current pixel matches C1, swap it for C2 and break --out of this loop. if col==c[i].c1 then [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=77125#p) |
My entry for #rndgame2020 - MORTAL CARDS (Mooooooortal Caaaaaaards!)
With more powerful characters, more secret moves, more depth, more control and the most advanced pico-digitized graphics around – this card game is worth fighting for!
Mortal Cards challenges you with the ultimate card playing experience…
On a secluded island, six elite fighters have gathered to test their deadly skills.
Each competes with a deck of 15 cards, 5 cards each round, as they battle each other and finally, the 4-armed mutant warrior Goro.
Featuring a digitized graphics, multi-layered backdrops and a pulse-pounding soundtrack.
For the most realistic chop-em-up challenge yet, it’s Mortal Cards. The competition will bow in submission.
HOW TO PLAY:
- Check opponent's next card and react accordingly
- Select with left and right arrow, confirm with "Z" Key (Circle button on pico 8)
- Same moves will cancel each other
- Special moves are un-blockable, some will inflict reduced damage when blocked and others will be parried completely
- Discover all the moves interaction
- If health reaches 0 before all card in a hand are used, you can finish with a Fatality!
I'm surprised I haven't noticed this before today.
If I have my tabs set to two spaces, and then I cursor up or down across lines with varying numbers of tabs indenting them, the cursor column will shift left or right depending on the number of tabs at the start of the line. See this example gif for a demonstration:
Edit: as I discovered below, this also happens with double-wide glyphs:
The editor should be trying to maintain a virtual on-screen column, not an in-document column.
Yo @zep,
Instead of just turning the corner performance/stats graph on and off, maybe cycle through off, current size, and something closer to the full screen?
This could allow showing twice as much history on the graph, as well as showing a finer resolution of time within each tick. Right now we're only seeing 1-2 seconds (depending on _update/_update60) and the vertical resolution is very limited.
The large view might also accommodate more information that's not currently in the corner view. I'm not sure what information to choose—I'm just throwing the idea out there for you to think about.
Whatcha think?