Log In  

Cart #17032 | 2015-11-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA

left/right - move x
up/down - move y
z/x - move z

slow as heck so it only updates every 100th pixel each frame, here is hoping for a pico 8 memory expansion in the future ;)

P#17033 2015-11-25 11:18 ( Edited 2016-06-26 02:00)

haha, nice one man. I love the dithering.

P#17036 2015-11-25 11:53 ( Edited 2015-11-25 16:53)

This is really impressive, awesome job

P#17040 2015-11-25 12:34 ( Edited 2015-11-25 17:34)

Absolutely amazing.

P#17041 2015-11-25 12:43 ( Edited 2015-11-25 17:43)

If you rendered into sprite memory, you could use sprite calls to rescale it to the screen. Then you could render a really low resolution version in near-real time. Might be a fun thing to try.

P#17042 2015-11-25 13:08 ( Edited 2015-11-25 18:08)

This is insane.

P#17048 2015-11-25 18:38 ( Edited 2015-11-25 23:38)

This is nice. Well done

I quite agree with slembcke: having a king of low but faster rendering when moving would be nice as it would allow the user to position the camera where he wants to by getting a preview.

It currently takes about 15s to render the full screen so raytracing on a 32x32 grid should take less than a second with your current implementation.

This is what I did with my terrain demo. Well it is not raytraced but rasterized but you get the idea of having two render modes: one fast for real time preview and one slow to get the beautiful stuff.

Some colors would be cool too!

P#17053 2015-11-25 19:40 ( Edited 2015-11-26 00:50)

Hey Netgrind, i'm a motion graphics designer working on the 2016 Game Developer's choice awards, and I was wondering if I could capture some video of your PICO-8 Cart and use it in the intro video for the awards show? If that's cool, let me know! :D Thanks!

P#17103 2015-11-27 14:37 ( Edited 2015-11-27 19:37)

P#23629 2016-06-25 18:21 ( Edited 2016-06-25 22:22)


P#23641 2016-06-25 22:00 ( Edited 2016-06-26 02:00)

This is super cool! It's quite fast for a pico-8 program.

I shortened it to 334 characters, 54 over a tweetcart, but at the cost of having no controls and no fancy colors.

cls()c=0t=.3f=1a=1z=128g=.5k=.25::s::c+=1c%=100for j=0,z^2do if(j%100==c)then d=j\z x=d/z e=j%z y=e/z r={g,g,k}for i=0,40do q={(r[1]%g)-k,(r[2]%g)-k,((r[3]+t)%g)-k}a=((q[1]^2)+(q[2]^2)+(q[3]^2))^g a=a-.1r[1]+=(x+x-1)/1*.4*a r[2]+=(y+y-1)/1*.4*a r[3]+=2*.4*a f=i\6/2
pset(d,e,f%16)end end goto s

edit: using bitwise operators you can save 1 character, and it might increase the speed slightly assuming bitwise are still faster than the normal ones; I also slightly rearranged the order of operations which saved 3.

cls()c=0t=.3f=1a=1z=128g=.5k=.25::s::c+=1c%=100for j=0,z^2do if(j&99==c)then d=j\z x=d/z e=j%z y=e/z r={g,g,k}for i=0,40do q={(r[1]%g)-k,(r[2]%g)-k,((r[3]+t)%g)-k}a=((q[1]^2)+(q[2]^2)+(q[3]^2))^g a=a-.1r[1]+=(x+x-1)/1*a*.4r[2]+=(y+y-1)/1*a*.4r[3]+=2*a*.4f=i\6/2
pset(d,e,f&15)end end goto s
P#88161 2021-02-25 15:50 ( Edited 2021-02-25 17:22)

[Please log in to post a comment]