Since PICO-8's sin(), cos() and atan2() are not the standard functions, how to implement them in another language? Some pseudocode would be ok, I'm aiming javascript by the way.
I looked into PicoLove's code as an example, but the results are different. For example in PICO-8:
print(sin(0)) -- 0 print(sin(0.5)) -- 0 print(sin(0.25)) -- -1 print(sin(-3)) -- 0 print(sin(-0.45)) -- 0.309 print(sin(78.4)) -- 0.5877 |
The PicoLove code remaps sin() to:
sin = function(x) return math.sin(-(x or 0)*(math.pi*2)) end |
that in javascript is:
window.sinp8 = function (x) { return Math.sin(-(x || 0) * (Math.PI * 2)); };
|
Now, the results are very different:
console.log(sinp8(0)); // -0
console.log(sinp8(0.5)); // -1.2246467991473532e-16
console.log(sinp8(0.25)); // -1
console.log(sinp8(-3)); // -7.347880794884119e-16
console.log(sinp8(-0.45)); // 0.3090169943749475
console.log(sinp8(78.4)); // 0.5877852522924427
|

Can anybody explain to me the difference between "change color at draw time" and "change color at display time"? If I, for example, set red to green and than I draw a sprite, its reds are drawn as greens. If I set it to change at display time, the effect is the same. What's the difference between the two modes?
Thanks

Whenever you find a game that you like, but it's incomplete, what's an action you can take?
Refresh the Page.
Suddenly, you see it: The game has been refreshed.
"Refreshed" is sort of a modding series, where I take incomplete games and try to tidy them up.
Any game that I fix up will still retain the author's name, but I will add my own as well.
This enhanced version will also be posted in the original game's topic.
At the time of writing, I've got one in the works.
SPOILER ALERT:
Hi,
I've written a bubble-sort function snippet, which might be helpful for others.
Function takes a list as an argument, and directly modifies that list.
Pico-8 treats the first index as 1 as opposed to 0, so a lot of standard code snippets have to be tweaked to work. Please correct if you see any errors or ways to increase efficiency.
-ElectricGryphon
function bsort(list)
local i
local j
local temp
local swapped = false
local n=len(list)
--problems with 1 based index
for i=1,n
do
swapped = false
for j=2,n-i+1
do
if( list[j]<list[j-1])
then
temp=list[j]
list[j]=list[j-1]
list[j-1]=temp
swapped = true
end
end
if(swapped==false)then return end
end
end
|

(Sorry if this post gets a little rant-y!)
My suggestion is for one simple command:
cspr(x1,y1,id1,x2,y2,id2) |
mock-up of syntax
My reason:
When I had the idea to port my Gamebuino game, Smash and Crash, I thought this was going to be easy.
I was wrong.
The resolution nor the menus were not a problem, it was collision.
See, the Gamebuino's API had something nice about it: collideBitmapBitmap().
The command checks for two bitmaps, their x and y coordinates, and whether or not a pixel was overlapping.
With this, I was able to make collision very easily implemented.
In PICO-8 however, I find it to be very frustrating.
This is probably coming off as "I can't port my game, so you fix PICO-8 so I can.", isn't it?
Thanks for letting me waste your time(just don't look at it as "wasting").

Hello Everyone,
The PICO-8 fanzine will be ready to order( for the paper version ) and download for free the 4th of October 2016.
It will contain :
- illustration by @lucyamorris
- Game of life( cellular automata) by @dan_sanderson
- a 3d demo by @NoahRosamilia
- shrinking your code by @jonstoler
- how to create a painting tool by @oinariman
- wave distortion effect by @mattfox12
- how to do your first state machine by @richterteer
- a screensaver by @neauoire
- Color palettes by @gabdar
and the cover has been done by @johanvinet
I'm polishing the layout, and working on the last details.
I really hope you will like it!

Last update : made a better lamp in front of the bike
Here is my first Pico 8 game, it's a "physic" bike game, a bit like the "Trials" series. I tried some experimental "distance field" collision and it work prety well.
- 7 levels of increassing difficulty
- 15 collectibles per levels
- Time clock for speedruns
- Deathless is possible
- Deathless with all collectibles is possible but is insanely difficult
Controls :
up = gas
down = brake
left-right = rotate the bike
c to flip bike
v to retry

Old versions :
A crappy little game I did in a month for #1gam. I spent more time on that lousy title screen than I did on the actual game! The result is a hastily designed mess that's mostly based on luck. I intended to have music and sound of course, but there was no time. Gotta meet the deadline you know?
HOW TO PLAY
Your goal is to travel as far to the right as you possibly can. The only mode of transportation in this world is through Bird Taxis. They're expensive. Fortunately, money also grows randomly on this world's sky islands. Hopefully you can find some in your journey to pay up. Otherwise the Bird Taxi will angrily go on strike and plummet to his and your doom. These birds would rather die than to give you a free ride!
Jump on a bird with the up arrow key to start riding it. It will take off if you have some money. Move the bird up or down with the up and down arrow keys. Press X to jump off the bird again. You have to jump off in order to collect more money. Those yellow blocks are supposed to be coins, in case you're wondering. It's money!
Best of luck!






9 comments






















