• Advertisement
Sign in to follow this  

Sandbox Games like Minecraft?

This topic is 1594 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone. I am new to this forum,and this is my first post.

 

As most of you had already know the game 'Minecraft',an open-world sandbox game,coded in Java.

There is a new sandbox game too, 7DaysToDie.

If you are free,please check both of them out.

 

I think 7DaysToDie is coded in C++ or C#.

 

My question is,to make a game like Minecraft and 7DaysToDie,should I choose Java or C++?

 

I mean,in handling,programming,designing and stuff,which one would be the greatest choice?

 

Thank You for reading and taking your time to read this!

 

Helpful and informative comments are appreciated.

 

Please do not give negative comment 

 

Thanks!

 

 

 

Share this post


Link to post
Share on other sites
Advertisement

On that note, with Java you *may* encounter memory problems due to (sometimes exaggerated) memory allocations done by the JVM (like minecraft has), while C++ seems to be more customizable and in this regard. Apart from that, I don't think it matters what language you use apart from personal preference, except you want something in particular.

 

If you don't have any experience in coding/making assets for a game or participating in a large project in general, I wouldn't recommend even starting... Too many people already starting games but never finished them because they lack experience, competence and endurance.

 

If anything, you can always start some small projects first before working on something as big as Minecraft or 7DaysToDie. I.e. Try making a small zombie survival game, then slowly work yourself to the top till you can actually realize the ideas you got.

Share this post


Link to post
Share on other sites

C++ also has garbage collection (the stack and smart pointers) - it just looks and behaves differently than the normal appearance of what people think garbage collection has to look like.

 

While normally I wouldn't recommend C++ over another language because most languages would do fine making most indie games, with Minecraft it lags like crazy because of the absurd RAM usage (because of the nature of the voxel world). One of C++'s strong points is how well you can compact memory usage - since I don't have any experience with Java myself, I'm not sure how Java measures up compared to C++ in that area, but it's definitely an area I'd take into account if I was selecting a language to make a Minecraft clone in.

 

But, more importantly, go with whichever of the two languages you already are familiar with - if you later encounter performance problems (unusual for an indie game, but voxel worlds happen to be RAM heavy), then you can figure out ways of combatting that or even write just that part in C++ or a similar language.

 

C++ would probably be harder to learn upfront (it takes years), but if you don't know any language, then even Java might have you trying to run before you can crawl. If you don't know any language, your first goal is to actually learn a language - you don't start off by making a game.

Edited by Servant of the Lord

Share this post


Link to post
Share on other sites

Thank you all above posts ^^

 

I know C++,since I do my own projects(together with D3D).

 

I'm just thinking of creating a game,like a 'hobby',during my free time.

 

Once again,thank you for the very informative replies,it is much appreciated!

Share this post


Link to post
Share on other sites

On that note, with Java you *may* encounter memory problems due to (sometimes exaggerated) memory allocations done by the JVM (like minecraft has)

Thats 80% programmers fault ("newing" everything, making non-reusable objects, etc) and 20% JVM's need for more memory to function.

 

The allocations aren't made just because, the programmer makes them with new, thus its their responsibility to keep allocations in check, pretty much like in any language. In Java its easier because many of the corner cases are removed (deallocation is taken care for you, objects are passed by reference and every object is created in the heap thus its easy to see the lifetime of any object, and so on).

 

This is an indepth article on JVM's memory requirements http://www.ibm.com/developerworks/library/j-codetoheap/.

 

Nevertheless, manual memory management is indeed a pretty good thing to know. So if you think you could do it in C++, by any means go on, you'll learn a lot. I still prefer Java because its syntax is dead simple and you get multi platform support pretty much for free.

Share this post


Link to post
Share on other sites

While normally I wouldn't recommend C++ over another language because most languages would do fine making most indie games, with Minecraft it lags like crazy because of the absurd RAM usage (because of the nature of the voxel world). One of C++'s strong points is how well you can compact memory usage - since I don't have any experience with Java myself, I'm not sure how Java measures up compared to C++ in that area [...]

 

I believe 7 Days to Die is written in C++ and not Java, and there's at least a clear difference between both the the textures and the voxels in that game and in Minecraft. Same with Blockscape (although I'm not sure what Blockscape is written in). So if that's anything to go by, there you have it. Although for all we know, Notch could just be a poor programmer and the guys from 7DD could be supermen.

Edited by Malabyte

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement