&meeseengine Showcase of my voxel game engine from Handmade Seattle 2024
https://www.youtube.com/watch?v=zZb-9EMg0es
&meeseengine Showcase of my voxel game engine from Handmade Seattle 2024
https://www.youtube.com/watch?v=zZb-9EMg0es
&meeseengine
Mountains with this level of scale and detail were once out of reach on the Dreamcast. But with recent optimizations, they're now a reality:
&meeseengine for the Gamecube, Wii, Dreamcast, and PC.
I've been mostly working on the engine's internals lately. The PC port gave me the debugging tools I needed to improve complex systems like the memory manager.
&meeseengine
Flying at 3 times the speed of sound (3690 km/h), hitting nearly 60 FPS, with a 64-chunk render distance.
I ported &meeseengine to the PC, and even in its unoptimized state, it runs at 60 FPS with a minimum render distance of 64 chunks on my laptop -- double the maximum render distance of Minecraft: Java Edition. Powerful hardware won't be necessary for the game to run smoothly at long render distances.
The PC port will streamline the debugging process, allowing for faster improvements across all platforms, including the Gamecube, Dreamcast, and Wii.
I ported &meeseengine to the Wii with a render distance of 17 chunks, now surpassing the render distance of Minecraft on the PS4 and Xbox One.
The Gamecube version of &meeseengine now boasts a render distance of 13 chunks, surpassing the render distance of Minecraft on the Switch (docked). Cloud shadows have been enhanced to distort as they move, with a softening effect during sunrise and sunset.
&meeseengine New features are in the works. In the meantime, here are a few cool places I've found.
&meeseengine on the Gamecube
This update introduces a range of new features, including a new entity system and model animations. Block digging now takes time, with items dropping upon destruction. Background music playback has also been added, efficiently decoding compressed audio data with minimal CPU usage. Over 10,000 objects are allocated on the heap without performance degradation.
&meeseengine
Optimized my game engine to fit 25 million blocks within 24 MB of RAM, achieving a new render distance of 12 chunks (192 blocks) on the Gamecube. This now surpasses the render distance of Minecraft on the Xbox 360, PlayStation 3, and Wii U, and matches that of the Nintendo Switch when docked. This accomplishment is the result of extensive optimization effort over the past month.
&meeseengine
Testing the new particle system in my Minecraft-inspired engine for the Gamecube and Dreamcast. Taking a break from optimization work to concentrate on gameplay features.
&meeseengine
On the Dreamcast version, the game runs nearly smoothly at draw distance = 10 chunks (same as in Minecraft multiplayer) and move speed = 8, though it’s still far from the Gamecube version shown in https://discord.com/channels/239737791225790464/404399251276169217/1267828654814265447, which ran flawlessly at 30 FPS. There are occasional small stutters when moving around. Terrain noise generation has been optimized to run twice as fast, reducing its share of the total world, lightmap, and mesh generation time from 26% to just 14%. Numerous smaller optimizations have also been made, slowly chipping away chunk generation time.
How it runs at speed = 16: https://discord.com/channels/239737791225790464/1181724575084593153/1268219356504916080
&meeseengine
This stress test on the Gamecube shows that mesh and lightmap generation have been successfully optimized, though world generation still needs improvement. Thanks to real-time heap defragmentation, the game never runs out of memory, even when moving at high speeds.
In case you're wondering, the Dreamcast's performance lags behind significantly, with mesh and lightmap generation running 30x slower. On the Dreamcast, the game maintains a smooth 30 FPS when standing still or walking within a small area, but rapid movement induces noticeable lag. Substantial optimization efforts are required to bring the Dreamcast's performance on par with the Gamecube.
Previous update: https://discord.com/channels/239737791225790464/404399251276169217/1259864487998259240
&meeseengine
Day/night system on the Dreamcast (and Gamecube by extension)
&meeseengine
Translucent ice and increased draw distance on the Dreamcast console
In the Gamecube version, the draw distance has more than doubled, from 4 to 10 chunks, equivalent to 160 blocks, at a smooth 30 FPS.
&meeseengine
Minecraft on the SEGA Dreamcast. I forgot to enable compiler optimizations. Here is the performance with optimizations enabled. Now, world and vertex buffer generation can keep pace with camera movement.
Without optimizations: https://discord.com/channels/239737791225790464/404399251276169217/1254632015643541524
With optimizations turned on:
&meeseengine
My Minecraft-inspired game is now ported to the SEGA Dreamcast, a retro console from 1998. The Dreamcast features a 200 MHz in-order execution CPU, 16 MB of RAM, and a 16 KB direct-mapped data cache. To give you an idea of the challenges involved in this port, all vertex transformations, clipping, and lighting are managed by the CPU, as the Dreamcast's GPU functions only as a triangle rasterizer. Based on my benchmarks, the Dreamcast is >4x slower than the Gamecube. These constraints offer exciting technical challenges.
I'm resuming development my Minecraft-like game for the GameCube and Dreamcast, focusing mainly on internal systems. I’ve replaced the last few arenas and mallocs, which were suboptimal for these platforms, with an allocator featuring real-time heap compaction, saving 1 MB of RAM after 30 minutes of gameplay (I haven't even accounted for free list holes in the arenas, so it's even bigger than 1 MB). This will enable the engine to render longer distances without the issue of memory fragmentation. While optimizing the renderer, I stumbled upon a bug that looks quite interesting. I'm considering turning this into a feature, possibly creating a swamp biome with poisonous water.
Stay tuned for the Dreamcast version! It will be exciting to see what a 200 MHz console from 1998 is capable of!
Previous update: https://discord.com/channels/239737791225790464/404399251276169217/1214082838513582150
Underwater physics for the player. As I'll be on vacation soon, there will be fewer updates in the upcoming weeks.
Previous update: https://discord.com/channels/239737791225790464/404399251276169217/1213667327816499210
I see many Minecraft clones here, so I figured I'd give it a shot as well. My aim is to replicate enough of Minecraft's mechanics, but then take the game in a new direction emphasizing emergent gameplay. I also want to port this to Dreamcast because it was made before 2000. It feels perfect to bring a retro-inspired game to a retro console.