• Hey! Guest! The 36th GMC Jam will take place between February 27th, 12:00 UTC - March 2nd, 12:00 UTC. Why not join in! Click here to find out more!

Pseudo 3D terrain


If people followed my progress over the years, they will probably have noticed my interest in pseudo 3D (better known as fake 3D), especially in pseudo 3D terrain.

For a while I've been working on my 4th iteration a pseudo 3D engine. Each time I improved the performance a bit.

The first iteration was actually the most finished one, a pseudo 3D terrain editor with paintable textures, placable objects (with shadows on their own that actually culled with the terrain, it was really nice), customizable height and some kind of real-time shadows. The only problem is that it was only like 15FPS in a map with a grid size close to 35x20 (or something like that).

The second iteration improved a lot in performance, giving an avarage FPS of 40 in a map with 4 times the surface of the first iteration. The shadows were also improved a LOT and there was a height mapping system which made it possible for me to create some pseudo 3D physics. There wasn't any kind of paint texturing though.

The third iteration finally reached an average 60 FPS in a map with a grid size of 200x200. The map was actually randomly generated with perlin noise and the ground texture was based on it's height. The real-time shadows were also improved by a little. The only problem was that the average FPS lowers fast if you travel through the map, so after a while I couldn't get it to handle the engine with 60 FPS.

Now, finally with the fourth iteration I got the program to run at a steady 60 FPS with a grid size of 200x200. Making the grid size bigger nearly doesn't slow the engine down, but altering the room size unfortunately does (I'll take a look at that one day).

That was the history of my project, here's a picture to show what I mean. ;)
showcase 1 small.png
Last edited:


So today I was adding in some more stuff and testing the limits of my project, and apperently this engine supports maps with a grid size of 2000x2000 at 60 FPS (100 times the surface of my first estimated stable map size)

I'm also working on a nifty HUD atm, it works with buttons and sliders. The sliders are fully functional atm, the buttons aren't

Here's another picture showing this engine off:
showcase 2 small.png

PS the image is resized, so if you zoom in the buttons and sliders will look terrible