Just working on something - re-inventing the wheel massively, but enjoying the process!
Assume the role of a battle-hardened Holiday Ninja tasked with retrieving the stolen presents from Elf Mountain! Your weapon of choice? Bauble ornaments.
Released as part of the 2024 Pico-8 Advent Calendar, kindly organized by bikibird.
Basic Controls
Left/Right = Move left or right
X = Attack (ornament toss)
O = Jump
Gameplay Mechanics
The controls are inspired by games such as Ninja Gaiden and The Messenger, with a touch of generic Metroidvania.
- Wall Hang/Climb
some late night shape twisting.
I'm certain the for loops could be cut down, but I got it to 280 and I'm happy with it.
(280 chars)
v=sin::_::h=cos?'⁶1⁶c' for c=32,96,32do for r=32,96,32do e=min(1,(t()/5)%1.2)for b=0,.9,.25do a=.125-b+.25+e+(b-.5)*2l=a+.125 for j=0,20,3do x=c+h(b)*30+j*h(l)y=r+v(b)*30+j*v(l) for i=0,20-j/2do pset(x+h(a)*i,y+v(a)*i,7)pset(x+h(a+.25)*i,y+v(a+.25)*i,7) end end end end end goto _ |
issue
i'm trying out some object oriented programming but i've run into some confusion
when i make a value in a list derived from another list
class={ new=function(self,tbl) tbl=tbl or {} setmetatable(tbl,{ __index=self }) return tbl end, } entity=class:new({ --dsp is read by the main upd --stands for despawn --removes the entity from the --list if true --dsp=false, --dspwait=false, x=0, y='smelly', --o is for origin ox=0, oy=0, sprn=1, --s is for size --the size of the spr that is xs=1, ys=1, --a is for animation asprnum=2, --asp is how much to divide --the tmr by --so 1 is every frame, --2 is evey other frame, --3 is every third frame, --etc. aspd=1, --update=function() --if x< camera.x+8 or x> camera.x+128 then --if --dsp = true --end --end, draw=function() spr(sprn,x,y) print(y) end, }) |
and then try to reference a value from that same table from a function (as seen in the draw function
in the entity class) it spits out nil. i have the entire cart up above as you likely have already seen, ignore that it's trying to draw a sprite at a position thats text. i set y to smelly for testing so i could easily see if it was spitting out smelly or it was spitting out nil.
wait you can paste pico-8 sprites in here
This app is a submission to the 2024 Pico-8 Advent Jam that creates digital folded paper snowflakes!
Cut a pattern into the digitally folded paper. Click "unfold" to reveal your masterpiece! Then save an image of your snowflake to share with friends, family, or right here on the bbs!
Detailed Instructions
Note: If you don't have a mouse connected, you can control the mouse using a controller as follows: the d-pad moves the mouse to various interactive elements on the screen, pressing x clicks, and pressing o moves the mouse to the bottom of the screen for easy button access.
When you load the cart you are greeted by the welcome screen which shows an example paper snowflake unfolding.
Part of the 2024 Advent Calendar
Pitch
Evil DJ penguins stole christmas presents for an early party! As a member of the "Get Out And Get Back These Presents" force, your task is to get things in order quick!
note: game has a single daily level, same for everyone!
How To Play
left/right: rotate
up/down: forward/backward
x+left/right: strafe
c: jump
Credits
z-buffer technique: idea from @Werxzy
music: snabisch
Changelog
1.1
- fixed: daily score not reset (dang!)
Pitch
Evil DJ pinguins stole christmas presents for an early party! As a member of the "Get Out And Get Back These Presents" force, your task is to get things in order quick!
note: game has a single daily level, same for everyone!
How To Play
left/right: rotate
up/down: forward/backward
x+left/right: strafe
c: jump
Credits:
Aim
This cartridge can be used for educational purposes to make simulations for the Monty Hall problem, a well-known probability conundrum that puzzles many people. The statement of the problem is the following:
-- Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice? [cited from the Wikipedia page]
For students attending a Probability course, this is an exercise about conditional probability. You can read more on the dedicated Wikipedia page.
PUSH (Picotron Upgraded SHell) is a modified version of terminal.lua
I made that allows you to add modifications from lua modules. You can place modules in /appdata/system/terminal/
and PUSH will load them.
Without any modules, PUSH changes very little (cd
with no arguments acts as cd /
), but modules let you add more functionality.
In the repo, I have a list of examples of the sort of things you can do with PUSH, including changing the prompt, adding and overriding commands, and adding shortcuts.
cd.lua is my favorite module so far, I think. It adds replaces the default cd
command and adds fish-style directory history.
https://github.com/Rayquaza01/picotron-upgraded-shell
This is very WIP, so if you have any trouble or suggestions for how to improve PUSH, let me know!
Controls:
- 🅾️/Z shoot a single bullet.
- ❎/X bite/spit enemy aphids.
- ⬅️ move left.
- ➡️ move right.
Instructions
This is a basic shmup with a parry gimmick. You can choose to shoot your one bullet at a time with Z or you can bite an aphid with X. Press X again after biting an aphid to spit it out. Aphids will not damage you if you spit them out and touch them again. Your score is multiplied by the number of aphids that you have spit out active on screen. New waves of aphids spawn after destroying every aphid from the previous wave.
This is my first game with Pico-8 and I like how it helps me focus on just working on basic mechanics rather than getting overwhelmed with everything else.