I've been looking at how to draw circles that mimic the elegance of circ(). From the bbs that led me to
https://www.lexaloffle.com/bbs/?tid=29976
https://en.wikipedia.org/wiki/Talk:Midpoint_circle_algorithm
So I tested
Minsky/Midpoint/x,y=sin(),cos() against circ()
The verdict was the midpoint algorithm was the best alt method. But none of them r close to being as efficient as circ()..so I don't understand...how does circ() work? I especially don't understand cause the previous bbs link to the Minsky said it was superior to circ()...my tests say its not...but the posts r 5 years old so...has circ() been updated since maybe? Or what am I missing? All I did in my test is draw 100 circles and look at the values via ctrl+p...and the findings were explicit.
BrainF8 (BrainF..k)
What is BrainF..k?
BrainF..k is a programming language consisting of only 8 symbols for commands. BrainF..k also has memory cells, where you can store numbers. Every memory cell starts at 0 and will loop around if over 255 or under 0.
Commands
+
: add 1 to the current memory cell.-
: subtract 1 from the current memory cell.>
: change the current memory cell to the memory cell on the right.<
: change the current memory cell to the memory cell on the left.[
: start a loop that will continue as long as the current memory cell is bigger than 0.]
: end a loop that will continue as long as the current memory cell is bigger than 0.
L and R click to make it increase/decrease
i made it on TIC80 while making a game about memory loss and this was a very special VFX that i made for it.
it places a lot of circles (called shadows) in a grid on the screen, and then resize then cased on something (a player or a mouse position)
the far away it is, the bigger a circle is; when it's closer, it becomes small or invisible
it also uses a lerp function to be smooth, and a "flood" variable to define how much of the screen is covered by circles
for more stuff like that visit me at linearharu.itch.io
I've made an algorithm that allows you to store 4 1-bit sprites in the space of a normal pico-8 sprite.
This version uses up the cpu a lot less compared to the previous which used pset().
It could be a little hard to use so there's some help on the bottom of this page.
Special thanks to Heracleum#1208 on discord for helping with the code.
Documentation:
Use 4x more sprite memory if your sprites are 1-bit
16 colors / 2 colors
1 sprite / 4 sprites
256 sprites / 1024 sprites
To draw your sprites, you'll have to use specific colors
Each color marks different sprites from 1-4, some of them mark more at once:
Pixel color in spritesheet/which sprites will be marked by color in that spot
OVERVIEW
UnDUNE II is a demake of the classic (and original) RTS game DUNE II, re-created from scratch in PICO-8.
A strategy-based resource management simulation, where three houses fight for control of the planet Dune - the land of sand and home of the spice.
This project started as a fun idea, that I expected to get done within a month or two.
Well... almost 3 years later (working on & off, in my free time) - I'm happy to say that it is finally finished! 😅
Feature Overview
RCEACH() performs a two-dimensional loop in a single function.
- The rectangle value arguments correspond to [table] {x,y,w,h} and [string] "x y w h".
- You can refer to the current x and y values in the specified function.
- This function consumes 50 Token.
rceach({16,16,32,32},function(x,y,r) local c=(x+y)%8+8 pset(x,y,c) end) |
One of KNUTIL's functions, the object generated by EXRECT(), has a rectangle value format to be used for the RCEACH() argument.
may want to Use DMP() if check the converted table.
This function is included in the KNUTIL library.
(spoiler: turns out I was scribbling over memory I shouldn't have been ... including the RNG state)
I think I've discovered a strange issue with rnd()
and mouse position:
Here, I'm just playing a snare hit over and over again. The snare is created by mixing a sine wave with noise, where the noise is generated by rnd()
. (With separate envelopes applied to each component.) Notice that every time the mouse exits the top of the screen, the character of the sound changes, becoming more tonal.
I am virtually certain this is because rnd()
is doing something strange. If I modify my audio chunk synthesis function (runs ~1x/frame, generating ~100 samples) to put srand(any_constant_value)
at the beginning, I'll get the tonal effect every time. If I instead put this at the beginning:
seed=0 function audio_dochunk() srand(seed) seed+=1 |
... then I never get the tonal effect, which is the result I would expect. I have confirmed that this does not happen when the mouse exits the screen in any other direction.
About
Witches study various ancient mysteries, but some mysteries are too arcane even for them. Such as retro technology.
This game is largely based on Falcom's 1984 Dragon Slayer, with my reference version being the MSX port. Much of the premise is the same: you collect different power-up items and bring them back to your base, which allows you to level up to allow you to fight stronger monsters and in the end you face the final boss -- which is the Dragon in Dragon Slayer, and the save icon in this game.
The initial enemies can easily kill the player, and the first course of action would be to start collecting various colored coins and bring them back to the purple magic circle. You will learn new magic spells as you kill enemies, and once you have killed 99 enemies (there's a counter on top-right) you can take care of the save icon and finish the game. Each time you kill an enemy, the game will spawn a new one, and they'll be stronger than before.
The rough estimate to defeat the boss is +5000 ATK and DEF, or there might be an easier way.
The world only moves when Hot Duck moves! Help her retrieve her Heart-Ketchup in 9 short levels!
For anyone who loved (or ironically enjoyed) the original Hot Duck, it's HotDuck Engine!
I made this so I can make a sequel to Hot Duck but for now enjoy this version of the original game with slightly cleaner code.
Ideally it will also make it easier for anyone else to make levels if they want to, although I'd like to make the process even more streamlined.
I'll have to think more about where to indicate that Hot Duck is trans and uses she/her pronouns. I think restricting the screen size is the right move for everything else though.
It's still pretty amateur code but I did my best.
Catching apples is a lot harder than it seems...
Help Catch-Dude catch the fruit as it falls from the tree, but watch out for bombs!
The green apples are mandatory and must be caught, while the cherries only add to your score multiplier.
Catching a bomb or dropping a green apple costs a life and ends your combo.
The "X" button (defaults are the x and v keys) will let you sprint faster, while the "O" button (defaults to z and c) will slow you down to a walking pace.
The game features a wrap-around mechanic, where walking off one end of the screen will cause you to appear on the other side by magic! Utilize this (especially on harder difficulties) to catch as many fruit as you can!
Hi everybody!
There is a game that is near and dear to me, and i always wanted to demake it. But because I´m scared of lawyers and publishers, i never did. I made a completly new game, and any resemblance is merely a coincidence.
I hope you enjoy, let me know what you think.
Controls:
X to shoot
O to interact
O+Arrow to change weapon
You are Gordan Teeman, an experimenter in sector D of the Black Laser Research Facility in New England.
Today is a big day, you are taking part in a monumental experiment. Let´s hope everything goes according to plan.
I've finally decided to post an updated version of this outside the Pico Night Punkin' thread, since I figured out how to do "transparency" effects, and it kind of got buried by the insane amounts of comments the PNP thread got. (25 pages!?)
Anyway, it's a demake of the song Release from the Garcello mod for Friday Night Funkin'!
Fancy features:
- Toggle for Ghost Tapping and Botplay in the pause menu, in addition to downscroll.
- PCM audio for Garcello's voice in one part. You know the one.
- Transparency effects for the smoke.
This game was created as a challenge by my beautiful wife. Thank you for the inspiration.
I am self-taught and code as a hobby. I created this entire project from my own code as a learning experience. I know that this code is not optimized but that may be something I update in a future edit.
This game was also designed for use with the pico-8 controller and not a full keyboard. I wanted to make a version of wordle that works on something like a Retroflag GPi Case a handheld close to the original Game Boy.
Also, please let me know if there is any interest in me adding music to the project!
Thank you for playing.
I noticed some nits about the way tokens are computed:
-
A few assignment operators ( ..= ^= >><= >><= ) seem to cost 2 tokens instead of 1 (all other assignment operators cost 1)
- There seems to be logic that checks the token before '-' to determine if the '-' is a unary operator or not, but it doesn't seem to check newer operators (like &, |, etc.) and thus -1 is considered 2 tokens in things like "a & -1". (Even though it's 1 token in "a + -1")