This has been sitting on my drive for a year or so. I was meaning to write up some documentation for it, but I'm throwing it up as is for now. (Until I can remember how to use it.)
Basically it's a sequel to Mot's Animation System built on top of the 2D transforms library. The main improvement being that it supports rotation.
The basic idea is you create "sprite" animations based on frames on your tilemap. You can then combine them into "timeline" animations where position, rotation etc can be set at different points by creating keyframes.
There's also a "storyboard" animation type that simply plays other animations in order.
Based in this coding chalenge: https://www.youtube.com/watch?v=Ggxt06qSAe4
and this article: https://mathworld.wolfram.com/ElementaryCellularAutomaton.html
Use arrow keys to change the seed.
UFO Race
Why are aliens racing on the road? Why are they so small? I don't know!
UFO Race is a button mashing racer inspired by a certain NES game with a similar mechanic. Prepare to race!
Controls
Press X to start. When racing, alternatingly press right and then left as quickly as you can.
Controls
- (-->) Move Right
- (<--) Move Left
- (Upper Arrow) Move Up
- (Lower Arrow) Move Down
- (X) Shoot
- (O) *Shoot Bomb**
Game Objective
The objective is easy, shoot 'em all (shmup). You have to survive 9 waves of crazy enemies and an extra wave where you meet the final boss. If you survive you will be victorious.
Lives
If you get shoot by a enemy you will lose a life. Depending the difficulty you are playing you are going to have 5 lives in the normal mode and 3 lives in the hard mode.
A bonus little mod from the CC Mod Advent Calendar.
Mod by Meep, RubyRed, and taco360. Feedback on background palette swaps by gonengazit.
Controls
Arrows - Move
Z, C, or N - Jump
X, V, or M - Dash
Celeste but it's daytime. Made in roughly 72 hours for the CC Mod Advent Calendar.
Controls
Arrows - Move
Down+X - Pick-up
Z - Jump
X - Dash/Throw
Slice Tower
Slice Tower is a extreme minimization of the action hack and slash platformer written with pico-8.
Your goal is to be up in the air as long as possible to keep your score multiplier going. Use all available tools at your disposal: your oversized sword and your teleporting dash will help you defeat and tactically avoid enemies.
Can you slice your way around the Tower and maintain a High Score?
How To Play
The goal of the game is to reach a high score. Combos are kept only while staying in the air. If you touch the ground, your multiplier resets.
- Use your attack to slice and dice enemies. Observe the attack patterns and try to use them to your advantage to stay in the air.
A game I made for New Year, New Skills Game Jam.
It's my first game, thanks for playing :)
Controls
- Left/Right arrow keys: Movement
- Up arrow key: Jump
- X: Use item
- Z: Cycle items
- P: Pause menu
Tips
- Don't forget to dash!
- You can pick up items to reposition them
- The cannon can be flipped around by prodding it
- You can restart the current level by running into a trap or from the pause menu
- All levels can be unlocked from the pause menu if you want to skip some
Instructions
Escort NPCs through often perilous levels, through snow and ice, outer space and beyond! And then try to do it faster.
About the Game
Made for the New Year, New Skills Game Jam by Bitter Sails Games. The current version is the gamejam version. If you liked the game, please comment and it will encourage me to continue working on it!
Credits
Thanks to Lazy Devs Academy for their awesome Pico-8 tutorials
Thanks for playing the game! :)
function _init() last={{0,0},{0,0}} def={{0,0},{0,0}} --shouldn't throw error assert(last==def) end |
These metatables are identical, but for some reason, they are not considered equal. Why is this? I tested something similar with regular tables and they work just fine, so I doubt metatable comparisons aren't supported by PICO-8. Does anyone know what's happening here?
I've been working on this project for quite some time now. Its a very ambitious project that aims to make a monster-catching game akin to the gen 1 and 2 Pokemon games. v6 is the first one I'm showing off. All it has is a complicated map compression system and some nice map physics. current features include:
- text engine
- simple battle engine (to be rewritten)
- simple mon, move, and team data (to be rewritten)
- custom map scrolling system
- map and object collision
- objects with node based ai system
- nodes for opening text box, asking yes/no question
- map data decompression
- teleporting player to different maps/positions via node
if anyone has any advice i'd be happy to take it. this project has 2 main goals: to push pico-8 (and myself) to its limits, and to create a mon game that has all the charm of pokemon while doing better in the things gamefreak does poorly (like graphics, mechanics, story, etc.). I want to make a whole YT video on this stuff but there were 5 other iterations and i wanted to get something about this game out there.
I'm not too ready for ideas for mons, story, ect. since im avoiding scope creep and I also want to find a good way to credit outside help (pretty hard to fit alot in an already cramped game). But I do want to give some famemons and fanmons a home in my game.
Controls:
ESDF to move and strafe
Horizontal arrows to look around
How it was made
Take the player position plus a multiplication of their angle and see if that spot had a wall,
if it does take that distance and scale it on to the screen.
Change the angle a little each time and put it at a different x coordinate.
That's the basics, i'm not great at explaining it and its hard to understand without graphics.
Take apart the code, I insist! I think I removed all the weird comments that I wrote when I got
bored, but no promises. :3
Video modes
Big is wide but doesn't draw very far.
Med is what you think it is.
Small is well small, but draw farther.
One of the basic problems you might want to solve in doing PCM synthesis is limiting a signal to the range between -1 and +1. Obviously you can just use a mid() function to get hard clipping - the value just locks to the endpoints - but this often has unpleasant side effects. For example, if you hard clip the output, the sound will snap abruptly from smooth to harsh as the volume increases, with very little transition between these. So, people often want to round off that transition, let the sound get gradually harsher, and one of the smoothest options is to use the tanh - hyperbolic tangent - function. Looking at a graph of this function, you can see that it smoothly transitions from reproducing the original x value to squishing it between -1 and 1, just as we often want.
So, I did a bit of experimenting today with sine waves and came up with the following code snippet:
--to use table: -- tanh = lut[x\0x.01] or sgn(x) [ [size=16][color=#ffaabb] [ Continue Reading.. ] [/color][/size] ](/bbs/?pid=140078#p) |
Description
Slug Ballet is an interactive demo that allows you to customize and control slugs of all shapes and colors. You can have up to 32 of them dancing together in a perfectly synchronized fashion!
Controls
Ballet Mode
🅾️ to switch between player/automatic control of the slugs
⬅️/➡️ to control the slugs if player control is enabled
⬆️/⬇️ to add/remove slugs (you can go from 1 to 32)
❎ button to open the customization menu
Customization menu
❎ to get back to ballet mode
⬅️/🅾️/➡️ to interact with the selectors
⬆️/⬇️ to navigate through selectors
Customization Menu
You can have up to 16 styles in action at once. You can see which style you are currently editing at the top of the screen, and there is an "all" toggle to edit every style at once (press ⬅️ when on style 0 to toggle it). The first parameter is the effect that is applied to the slug. Depending on the effect you choose, different selectors will appear, and you can interact with them to try out different styles. You can also randomize the style you are editing and tweak it at will. There are also two global parameters, background color and speed.