4

What in your opinions, would be the best language to create a large (massive..) 3d voxel based grid in?

i.e. like Minecraft (http://www.minecraft.net/)

I note that Minecraft was created in Java, this obviously has it's disadvantages. Help me make a decision! :)

p.s. This is community wiki, so no points gained, just after opinions :)

Barrie Reader
  • 10,647
  • 11
  • 71
  • 139
  • 3
    Java *obviously* has its disadvantages, such as *clearly* being unsuitable for a multimillion dollar game that has a large (massive) 3d voxel based grid. Just saying. – Josh Lee Sep 29 '10 at 14:14
  • @jleedev - I wasn't asking for people to criticize what I asked.. I was asking, `what language would be best for voxel based grid gameplay` – Barrie Reader Sep 29 '10 at 14:23
  • If you're thinking of making a Minecraft clone: *don't*. Minecraft is *already a clone*. Minecraft has made *millions of dollars*. Notch has worked on it *far more than you will*. If you're not, however, best of luck to you! – Jon Purdy Sep 29 '10 at 15:02
  • 2
    @jon purdy - that was the most heavy handed response i've had on Stackoverflow - I'm starting to think that all programmers have zero social skills... – Barrie Reader Oct 05 '10 at 15:34
  • I was just joking, but you know how text is. Anyway, I tried this project and found that even as a learning experience it wasn't worth it for me, and that I had no hope of catching up to Notch after he got over himself and got back to working on it regularly and diligently. And yeah, not all programmers will have the best social skills, but more often than not a simple misunderstanding is the cause of the greatest strife. You have the power to ignore me, though, since I'm only words on a screen. – Jon Purdy Oct 05 '10 at 15:59

2 Answers2

7

The data structures you pick are going to be a lot more important than the language you choose. A language that lets you achieve locality of reference will likely have speed advantages in collisdion detection and visiblity calculations, but you can get this even with managed languages.

Minecraft is a pretty decent POC that Java can handle huge voxels worlds as long as you don't write your code retardedly :)

snemarch
  • 4,958
  • 26
  • 38
  • Thank you, I don't suppose you know of some data structures that could be of use to me (to research as well) – Barrie Reader Sep 29 '10 at 14:54
  • +1 for pointing out that this question is essentially meaningless. Language matters for difficulty of learning curve and maintainability, but other than avoiding idiotic choices, it isn't going to have a huge impact on the actual game itself. – Alex Feinman Sep 29 '10 at 15:36
  • @Neurofluxation: never programmed voxel stuff myself, but I'd guess you should take a look at OCTrees. – snemarch Sep 30 '10 at 07:15
2

You may want to have a look at Field3D, which is a C++ library for storage of voxels (both in memory and on disk).

http://github.com/imageworks/Field3D

Magnus W
  • 180
  • 1
  • 6