Hacker News new | comments | show | ask | jobs | submit login

> Minecraft isn't heavy duty graphics, you just need a simple voxel engine. Your game code could be running in python and you wouldn't know any better.

On the contrary, Minecraft is very heavy on the CPU and would benefit from running on native code rather than a managed bytecode based virtual machine environment.

It isn't heavy duty graphics, so you don't need a super strong GPU (it's still quite heavy), but Minecraft is very CPU and memory intensive. Graphics can be fast regardless of the programming language if you unload things to the GPU, but Minecraft requires a lot of CPU side work to prepare the voxel graphics (ie. building GPU vertex buffers, etc from the voxel octree in CPU/main memory).

There are huge potential performance benefits of rewriting it in native code. I don't think that will happen, though.

Here's a recent interesting article about optimizing visibility and minimizing overdraw, in particular for mobile "chunker" (aka. "tile deferred") GPUs. In the end it improves performance but at the cost of even more CPU work.

http://tomcc.github.io/2014/08/31/visibility-1.html




A lot of that is also just physics, but again the voxels are really quite easy to work with.

Moving to C++ is always a PITA, I hope this isn't an optimization made so early, especially when there are other things to do.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: