Category Archives: Work in progress

Work in progress

I’m working on the shading algorithm, and as always, coordinate systems are messed up twice, producing a perfectly mirrored image. The C# version is many times faster than the native code Delphi version, I still can’t believe it. Next time when Embarcadero says that Delphi is faster because of the native code, ask them about their memory manager and parallel execution performance.

 

Progress report

This year I have learned C#, Visual Studio, frameworks and other .NET stuff. It’s good enough now, but I’m still a beginner, and uNmINeD is my first C# project ever. I had no much time to work on it, but I’ve made a pretty good progress.

What we have now?

  • NBT and Minecraft library created from scratch. It has less functionality than Substrate and has a different architecture.
  • Console application (targeting servers and Mono)
  • WPF application with tabbed GUI (requires .NET 4.5, no WinXP)
  • Map rendering code is almost ready

  • Map browser control for WPF is almost ready. It’s suitable for creating editor tools.
  • Planned Minecraft mod to dump block ids, names and other metadata to a file when the game starts.
  • Planned Minecraft mod to allow uNmINeD and other tools to connect running servers through a web service API and do online mapping and editing.

C# implementation of chunk loading is faster than the native code Delphi version o.O

I’m planning to release the source code of the Minecraft library, the map rendering library and all of the Minecraft mods on GitHub when they’re done.

Images:

 

Creating a multithreaded infinite map control with layer support is much easier to do using C# and WPF. And so much less pain. Delphi was a lot of pain. And WPF is pretty fast. Unbelievable.

Zoom

Map tile cache is almost done. Zooming out is fast enough now and not limited to one level anymore.

This is a 4096 x 4096 world zoomed out to 1 pixel per chunk: