Working hard :)
If you want to help alpha test something, join our Discord!

seen from Italy

seen from Italy
seen from China

seen from Netherlands

seen from Netherlands
seen from Spain

seen from United States
seen from South Korea

seen from United Kingdom
seen from China

seen from Singapore

seen from Belgium

seen from Italy
seen from Türkiye

seen from Singapore

seen from Germany
seen from Türkiye
seen from Italy
seen from United States
seen from United States
Working hard :)
If you want to help alpha test something, join our Discord!
Props! (To me, for being cool)
Props in this engine are static models, which won’t really move or change during gameplay. This is to make them render efficiently - no worrying about every-frame updates or rotations.
The one exception (for now) is lighting, which will be scriptable to toggle on and off. Animated models will come later!
The house and trees are from a map I made in 2D, about 7 years ago for a different game engine. To see them in 3D, after all this time, was a really proud moment.
Speaking of proud moments...
Prop work is going well - lots of bugs squashed, and I’m learning what works and what doesn’t for this weird 2d/3d pixel mashup.
Also...
The next step on the road to nowhere is importing Models, so obviously it was time to look at Scripting again!
The model and scripting interfaces will probably be sharing a lot of work (this boring [list-of-things-you-can-use], [list-of-things-on-the-map] stuff) and I kind of rushed through scripting, so I gave it some polish.
When you place a trigger on a node, it makes python scripts happen in game. This might be “play a sound when someone steps on this node”.
Then you can also set variables too, such as “play a sound” > “grass footstep noise”. Things with the same variables get grouped together, so big patches of grass footstep triggers are very efficient.
However, having big old patches of [!] icons in different colours was going to get confusing - especially since all the “play a sound” triggers are the same colour - so it was icons time. And colour coding time, and search filters time, and zoomy camera time...
Got some bugfixes and then, finally, models - and I’ll be back where I was in 2013 when I posted this screenshot.
But this time I’m doing it right. :)
Hello again! I’ve been deep in the FPS mines, squeezing performance from the very stones, with my bare hands alone...
There are two major changes to the in-game renderer - chunks, and dissolve. This all happens behind the scenes when you compile a map, so the editor is unchanged.
First, maps are split into chunks - 16x16x16 like in Minecraft. When a chunk is out of view, it doesn’t get drawn - so performance when following the player, rather than high in the sky, is vastly improved.
Second, rather than keeping every tile in the map as a quad, they’re now joined up (dissolved) into fewer, larger areas where possible. Faces with the same tiles are merged, but also patterns - that sea texture is actually 4 tiles.
This island map is displayed very easily at 60fps, rather than the 40 it was struggling for previously.
Next up, to re-ruin the framerate, is model imports and props :)
From the outer wilds I return, cocooning myself warmly in my weirdo game engine.
I reworked how some frame buffer type things work, freeing the overworld render from the tyranny of the window’s size, and allowing for scaling wth optional hq2x filter, and some funky screen transitions.
I also did some work on terrain selections and fixed a load of slowdown bugs.
I’ve made some good progress on the Map Editor, so it was time to try building something big. Welcome to 3dPE Island!
Plenty of bugs fixed as I went along (which is... both good and bad?) but alas the map is running at 40 fps. Optimisation pass next then! I think it’s because of all the sea...
While making this, I spent a few days struggling with how to make skyboxes look round, and made this tool, which does it quite badly.
Added in map streaming!
When the player is standing on Map 1, Map 3 isn’t loaded. As soon as they step on to Map 2, Map 3 loads. Then when they walk on to Map 3, Map 1 unloads.
The maps’ rotations also stack, so you can do whatever weird stuff you’re into, you pervert.