Log In  


Cart #15137 | 2015-10-08 | Code ▽ | Embed ▽ | No License
105

Hi,

This is my first contribution and it is not a game. It is a small terrain renderer I made to see what was possible to do with pico 8 and how far.

The terrain definition is based on height maps of 32x32. The cartridge goes with 4 different maps.

The rendering has two modes:
a real time one, sort of voxel based that allows to move camera/lighting
an actual rasterization that is computed in background when the camera/lighting stays still

controls:
arrows: in camera mode, move the orbital camera, in lighting mode, move the directional camera
when in camera mode, pressing x/v while moving allows zooming in/out
z/c: switch camera / lighting mode
a/q: hide/show info (current mode, mem and cpu usage)
_ w: access to the menu to change settings

As it is a technical demo/test there's not much to do except moving around. you can play around with settings to change maps, palettes. I also included 5 different filters to dither lighting and terrain.

I have optimized quite a lot but there is still some room. The stable 30fps when moving near terrain is hard without implementing occlusion (because it is limited by rectfill) which will eat a lot too.

I've cleaned the code a bit so that it should be readable.

I dont know if I will work on this again later on but possible upgrades can be:
ingame height map editor
free camera and collision with terrain
optimizations
rendering improvement (shadow cast, sun and specular on water...)
_ animation in renders (waves, birds, clouds...)

hope you'll enjoy !

Change log
Version 1.01
added perspective correction in rasterizer
optimize rasterizer (back face culling)
_ somes fixes in dithering sprites

105


oh my!! that's amazing! it looks beautiful! <3


Amazing! This is so neat! It's like the intro to Yoshi's Island.


Good job. I'm pumped about all the stellar tech demos people are doing.


Beautiful! Remind me Proteus!


i want to fly around in there!


Such an amount of polish for a mere demo! Love it, definitely one of the most impressive things I've seen in pico-8 so far.


"FUTURE_VERSION: 5
COULD NOT LOAD"

awww... I was really curious to see how this was done :(

edit: nevermid... still had 0.1.1 on this machine


Thanks all for your comments !
@abrugsh This is strange. Do you have the latest pico8 : 0.1.2 ?


nope, see updated post... had 0.1.2 on my lappy but not on this machine (somehow) [shrugs]


Damn, 3D on PICO-8 never seizes to amaze!


Looks superb!


Who's up for some golf games? ;)


incredible






Nice gifs milker, did you make them out of a bunch of time lapse-style screenshots :3?


I sort of stop montioned it... i´d move the camera/light just a bit, wait for it to render in full, and take a snapshot of that, repeat.


That last gif reminds me the nature & time lapse photography in Koyaanisqatsi :)


I am forever amazed at what is capable from this tiny little language. I've seen some other game developing languages before, yet this one PCIO REALLY is hitting hard as far as what is possible in it.


This is really amazing!! :o



[Please log in to post a comment]