Web
Analytics
Log In  

72

Cart [#15137#] | Copy | Code | 2015-10-08 | Link
72

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

P#15116 2015-10-07 19:57 ( Edited 2016-09-04 22:10)

::

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

P#15117 2015-10-07 20:19

::

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

P#15118 2015-10-07 20:42

::

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

P#15122 2015-10-07 21:14

::

Beautiful! Remind me Proteus!

P#15129 2015-10-08 04:31

::

i want to fly around in there!

P#15130 2015-10-08 05:41

::

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.

P#15131 2015-10-08 06:02

::

"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

P#15135 2015-10-08 10:10 ( Edited 2015-10-08 11:59)

::

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

P#15138 2015-10-08 11:50 ( Edited 2015-10-08 11:59)

::

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

P#15139 2015-10-08 12:00

::

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

P#15155 2015-10-08 19:24

::

Looks superb!

P#15217 2015-10-10 02:07

::

Who's up for some golf games? ;)

P#15252 2015-10-10 22:48

::

incredible

P#15372 2015-10-14 02:43

::

P#21983 2016-05-31 20:03

::

P#21985 2016-05-31 20:14

::

P#21988 2016-05-31 20:28

::

P#21990 2016-05-31 20:37

::

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

P#21991 2016-05-31 20:57

::

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.

P#21996 2016-05-31 21:31

::

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

P#27979 2016-09-03 16:21

::

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.

P#27984 2016-09-03 17:09

::

This is really amazing!! :o

P#28029 2016-09-04 22:10

Log in to post a comment

user:
password:

New User | Account Help
:: New User
X
About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2018-11-13 02:48 | 0.250s | 1835k | Q:39