It's Christmas Day, and you're the only one working the snowplow today. Can you clear out all the snow?
Controls
ARROW KEYS to move your snowplow.
Z/C/N to select things in menus.
X/V/M to go back.
Hold X/V/M on the title screen to erase your progress (don't worry, you probably won't do it by accident!).
There are 100 levels to complete. Can you clear them all before seasonal depression kicks in?
Made for PICO-8 Advent Calendar 2019.
The russian roulette game with additional rules in multiplayer only.
How-to
- Click on "play".
- The player id is on top. He could make some choice.
- When your turn is over, give the gun to the other player.
The gun is a six shot so count well and use bonus strategically or die.
Changelog
1.3
- Fixed bonus error - Fixed result display |
1.2
- Updated main menu style |
Old Versions
This is a 2-player version the classic memory card game, Concentration. Players take turns flipping cards over two at a time. When a match is found, the player claims the cards and takes another turn. Flipping over two cards that do not match results in the other player taking a turn. Whoever has the most cards by the time all have been claimed wins.
This game is fully playable. I started working on it while teaching my 4 year old how to play with physical cards.
Only arrow keys and the 'X' button are used.
Here's Klax2D!
A 2D version of the videogame Klax from the '90.
A Klax is row of 3, 4 or 5 blocks of the same color in a horizontal, vertical or diagonal way.
There are 4 levels of difficulty: Easy, Normal, Hard, Insane.
The paddle can only hold 5 blocks.
I made 14 levels:
- make 3 klax
- make 5 klax
- make 3 diagonal klax
- make 10000 points
- make 5 in a row
- survive 40 blocks
- make 10 klax
- make 6 diagonal klax
- make 50000 points
- make 20 klax
- survive 80 blocks
- make 100000 points
- make 100 klax
- play infinitly
Score:
- vertical 3 = 50 points
- horizontal 3 = 1000 points
- horizontal 4 = 5000 points
- horizontal 5 = 10000 points
- diagonal 3 = 5000 points
- diagonal 4 = 10000 points
- diagonal 5 = 20000 points
Controls:
- Arrow down: speed up falling blocks
- Arrow up : rethrow block (only 3 times/level + only possible when block hits the paddle)
- C : drop block (save block)
- X : level info / pause
Game over when:
- you have missed 3 blocks
- the whole grid is full of blocks
Z/X - previous/next demo
up - turn on/off aabb tree
down - reset simulation
Several physics demos I've written in pico-8. These follow from the work of Erin Catto (see http://twvideo01.ubm-us.net/o1/vault/gdc09/slides/04-GDC09_Catto_Erin_Solver.pdf)
The solver solves both inequality constraints (e.g. collisions) and equality constraints (e.g. joints).
I've reduced the framerate for web down to 30fps, but it works well at 60fps (in face the higher framerate is better for the solver).
Still issues to solve, e.g. jitter on resting contact, so I probably need to do a rewrite at some point.
update
I've added a couple more demos including mass-spring-damper systems
Inspired by Palette-Maker. This is a tool to create dithered 32-colour gradients. Mainly for my own use with my 3D lighting system, but I figured maybe someone else will find this useful.
The interface currently technically allows you to use more than 16 different colors, but of course, PICO-8 can't actually render that. I could fix that, but the simplest fix is that you just don't do that :)
Exports the gradient steps (on a scale of 0-127) and colors into the clipboard as Lua tables, without braces, like this:
gradsteps=0,32,64,96 gradpal=0,5,6,7 |
Of course, this doesn't work on the browser, so run locally. You can use my code to render the gradient, or write your own. dw817 has written an
Thought I would share some code I've been using for my pico-8 game. It's a simple class library that also includes inheritance.
139 Tokens
617 Characters without comments
How to Use:
Create a new instance with function "new".
The first variable is always the table that holds all the variables, 2nd and onwards are used for the function "__init('table','...')"
Example:
player:new({variablea=1,variableb=2},initarg1,initarg2) |
Variables are copied over just fine, however for tables if you don't want each instance to share the exact same table with each other then I would recommend defining them in the function "__init('table','...')".
Example:
--do this function newclass:__init(varc,vard) self.vartable={varc,vard} self.varemptytable={} end --if you don't do that then instance1.varemptytable==instance2.varemptytable |
When creating a class, you can inherit from other classes upon it's creation by simply including classes after the first argument.
Example:
newclass=cwi:new({vara=3,varb=4},classtoinheritfroma,classtoinheritfromb) |
You can also inherit from other classes by running function "inherit('...')".
Classes have an "init" function that is run every time a new instance is created.
Classes that have been inherited from will NOT run their function "init('...')" upon creation of a new instance.
Function "oftype('class')" allows you to check each if one class is of the type of another.
Classes that have been inherited will also return true for function "oftype('class')".
Finally I present the code:
--Classes With Inheritance! cwi={} cwi.__index=cwi function cwi:__init(...) self.__types={} if #{...}>0 then self:inherit(...) end self.__init=function() end --create an empty function so all classes function "__init" doesn't inherit end function cwi:new(r,...) r=r or {} r.__index=r setmetatable(r,self) if r.__init then r:__init(...) end return r end function cwi:inherit(...) local function c(a,b) for k,l in pairs(b) do if not a [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=70752#p) |
Credits to @MBoffin for inspiring me to code this too
Controls:
- Press X to toggle Autopilot / Manual Control
- Left arrow key -> turn cclockwise
- Right arrow key -> turn clockwise
Inspired by @dw817
Controls:
-Arrow Keys to move
// comment cls() call in draw method for those effects:
(v01 12-08-22)
TO LOAD THIS PICO-8 CART, in immediate mode, type:
load #xmascard
VVhat's new ?
Gruber, one of the the resident Pico-8 musicians came through, was very kind to me, wrote to me on his page, and offered what I could use for my Christmas project here. How wonderful !
-- 12-08-22
-- + used extended memory to
assist in the opening of
the card.
-- 12-08-22
-- + improved speed of
-- scrolling text.
-- 12-08-19
-- + added changing wind
-- direction.
-- 12-09-19
-- + added 3d card opening
-- graphic. tricky stuff.
The music that I wrote I am keeping (the post after this one). It's a curious method to be sure where all notes are the same length and some are repeated in different octaves to maintain the flow of the song.