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
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
rendering improvement (shadow cast, sun and specular on water...)
_ animation in renders (waves, birds, clouds...)
hope you'll enjoy !
added perspective correction in rasterizer
optimize rasterizer (back face culling)
_ somes fixes in dithering sprites
Log in to post a comment