Meese's Avatar
Meese
Member since

Recent Activity

&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:

  • The renderer is now 19% faster, achieving near-peak efficiency at 30 cycles per vertex (up to 6.67 million vertices per second)
  • Aggressive occlusion culling reduces polygon counts by over 50%
  • Lighting and meshing is now 73% faster
  • Terrain generation is now 6% faster
  • Optimized frustum culling
View original message on Discord

&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.

  • Audio is now working on the Dreamcast version
  • Renderer runs 20% faster on the Dreamcast
  • Heap allocation is 300% faster on average and 200% faster on worst case. While this had minimal impact on performance for the Gamecube and PC versions, it was a significant bottleneck on the Dreamcast.
  • Increased real-time heap defragmentation throughput by using a new multi-regional heap structure, which also sets the foundation for DRAM bank-aware memory allocation.
    This video showcases the Dreamcast version of my voxel engine.
View original message on Discord

&meeseengine
Flying at 3 times the speed of sound (3690 km/h), hitting nearly 60 FPS, with a 64-chunk render distance.

View original message on Discord

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.

View original message on Discord

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.

View original message on Discord

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.

View original message on Discord

&meeseengine New features are in the works. In the meantime, here are a few cool places I've found.

View original message on Discord

&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.

View original message on Discord

&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.

View original message on Discord

&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.

View original message on Discord

&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

View original message on Discord

&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

View original message on Discord

&meeseengine

Day/night system on the Dreamcast (and Gamecube by extension)

View original message on Discord

&meeseengine

Translucent ice and increased draw distance on the Dreamcast console

View original message on Discord

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.

View original message on Discord

&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:

View original message on Discord

&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.

View original message on Discord

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

View original message on Discord

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

View original message on Discord

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.

https://twitter.com/meesedev/status/1772915600144167231

View original message on Discord