Simple raytracer for Pico8. Performance is a bit meh, but all the calculations take their toll.
Buttons don't do anything. It just calculates a picture in about 2 seconds.
I'm using a manual defined gradient for luma mapping.
Have not optimized anything and am not doing shadow rays/ secondary rays at the moment.
Aiming to get something like a classic Cornell box in the end.

So, one of my favorite effects from the olden days was the ability to do glinting / pseudo transparency. Sadly, there is no way to do this in the PICO-8 due to cycle timing and memory issues. I would love to see the PAL call replaced with something that accepts three colors rather than two.
something like: tpal c0 c1 c2, which would take all instances where c0 is drawn over c1 with c2. It would take 128 bytes of memory, but there is still plenty of headroom inside of the draw state structure to accommodate this.
Hi y'all!
I've been working on a reimplementation of Pico-8 in Love2D (Another lua game framework)
Mainly because I wanted to keep working on my games after I hit the token limits in Pico-8
but didn't want to lose the pico-8 feel and start from scratch.
So I'm sharing picolove with you, can grab the source on github.
https://github.com/ftsf/picolove
Requires Love2D 0.9.x from https://love2d.org
Can run a p8 cart with
love . cartname.p8 |
You can modify the love.load function to load a specific cartridge and package it into a .love file (renamed .zip) to distribute.
Have fun!!
Let me know about any bugs you find.
I know there's some issues with removing stuff with del in a foreach loop (causes a bug in celeste.p8), but not sure what's going on there.
Working on adding SFX and Music support as well as p8.png loading.

Full version available here!
What a lovely day in Whatever Land! Except for random fires in skyscrapers here and there.
In control of little Ravra, a pubescent giant monster, you must save the love of your life you just saw on TV while taking as few lives as possible along the way. Or must you?
Because I really wanted the game to include both English and Japanese text, and a minimal set of Japanese characters alone takes 1/4 of the sprite sheet and tokens, it was impossible to keep it within a single cartridge. My way around this was to have separate cartridges for the Japanese and English text and a standalone cartridge (uploaded here) including nothing but the main gameplay. So if you can, by all means do download the full version! (the filenames should be raburabu.p8.png, english.p8 and nihongo.p8, all within the same folder) (please forgive me for this dirty little cheat!)
You get the intro, main menu and endings by doing so. :)
Speaking of which, there are four different endings, seven secrets hidden within the main game and a also hidden message somewhere. Can you find them all without cheating?

Like in Paint so you can select background and foreground color. As for color picker that is currently associated with right button, it would get remapped to middle button. So:
- Left click: Draw with foreground color
- Right click: Draw with background color
- Middle click: Pick foreground color
- Ctrl+Middle click: Pick background color.

http://pico-8.wikia.com/wiki/Pico-8_Wikia
For now it's empty, but I hope you could help fill it up with tutorials, useful snippets and other info.
I find the syntax of sspr involves too much work, so I wrote a wrapper function that requires less arguments and less thinking.
Ladies and gentlemen... zspr
Arguments:
--n: standard sprite number
--w: number of sprite blocks wide to grab
--h: number of sprite blocks high to grab
--dx: destination x coordinate
--dy: destination y coordinate
--dz: destination scale/zoom factor
function zspr(n,w,h,dx,dy,dz) sx = 8 * (n % 16) sy = 8 * flr(n / 16) sw = 8 * w sh = 8 * h dw = sw * dz dh = sh * dz sspr(sx,sy,sw,sh, dx,dy,dw,dh) end |
Please let me know if you find it useful.

my first try ever at PICO-8 coding \:D/
sorry for the very bad "music", I did everything in one weekend and the tracker is a bit buggy and hard to use with a french keyboard layout :3
the updated version feature a background starfield, a better logo and the animation use the new _update60 function :)
This is a game we made for the BBQ gamejam http://bbq.extra-coin.fr/
The idea is to a make a mini old zelda game speed run oriented. Have fun!
Arrow: Move
Use item: X
Swap item: Z
Made by Haunted Tie

Controls:
Arrows to move the cursor
Press Z on a unit to select it, then move the cursor to pick a path
X to cancel actions.
Unsettled with the crown, a small group sets off to take the castle by force and defend the throne as their own. Their success will depend on their tactics on the battlefield, and the cunning by which they select their allies.
This is that game your uncle got you for your birthday after picking the one with the coolest looking box, but was too hard and unbalanced for your 8-year old self to beat.
Glad I'm getting to release this before I start work :D Lots of stuff I'm not happy with in this, and lots of stuff that I am happy with. It's a bit rough around the edges, a little too difficult for some runs and (maybe) a little too easy for others. There are definitely some bugs, especially with the enemy AI (but they're not getting fixed - currently sitting at 8192/8192 tokens :P) It's sort of a very simplified tactics-roguelike. It's designed such that you aren't really supposed to win on the first time (or second, or third) thanks to permadeath. You're supposed to play through a couple times and get a feel for how all the units work, what situations they're good in, how many hits from other units they can take, etc. In a perfect world I think I'd have around 4-5 more units in there, but alas, no room.
I think this won't be my last foray into this genre, though. I was a bit out of my comfort zone on this, and I learned a lot about what makes this kind of game fun. I think I'll be able to make something much more interesting the next time around.

I noticed that 8venture ( https://www.lexaloffle.com/bbs/?tid=2247 ) uses an "unpack" function to define tables from strings, which frees up the code space for like, actual code, by making all tables take up only one token.
array = unpack("1,2,3,4,ideclarea,thumbwar")
table = unpack("x=1,y=2,z=-23.12,hello=there")
|
This is great, but it didn't support multidimensional arrays or tables! Considering half of We Missed You is literally a huge multidimensional table, a solution to this could greatly benefit more complicated projects, or just people who like doing everything in hilariously roundabout confusing ways. Now you can do things like thiss::
mission = unpack("x=1,y=3,type=0,ents={{x=56,y=76,props={sdir=0.5,scone=0.125,swing=0.12,rate=0.00869,t=0,rad=64},n=218,tfra=8,type=0,update=pvis},{x=104,y=42,props={sdir=0.25,scone=0.125,swing=0.25,rate=0.00869,t=0.5,rad=48},n=218,tfra=8,type=0,update=pvis}}")
|

Hey guys,
I was playing with crazy idea in my mind again and just wanted to give it a go. I was wondering how hard it would be to create emulator for PICO8. Program that can load catridges and play them (read bbs player without bbs). Since it's all based on lua (witch I have no experience implementing) and I am really bad at bitwise operations (witch are really crucial when working with retro stuff) I decided to create one to learn something new. Here is my first attempt. Far from being good or complete and I don't know if I would ever want to finish it...but...you never know :D
Some facts:
- written in C# .NET 4.5 profile
- used NLua library/wrapper for code execution
- cartridge loading from png files (anyone want .net library for this? I can create one)
- screen is blitted to windows form directly, no graphics libraries used so it's not very fast when scaled up
- implemented features:
- _update/_draw methods calling
- fully working palette manipulation (pal, palt)
- flipping graphics from ram to vram (flip)
- clear screen buffer (cls)
- full implementation of basic sprite drawing (spr)
- some mathematical functions (flr, sin, cos)
Ps: I am Windows Phone user, I don't think there will ever be official player for my mobile platform so I will maybe create my own :D
Current testing cartridge:






2 comments






