Thoughts about open source Minecraft alternatives?

  • Please make sure you are posting in the correct place. Server ads go here and modpack bugs go here
  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Zeeth_Kyrah

New Member
Jul 29, 2019
307
0
0
Well, folks. I'm seeing a lot of "I want to make an open-source clone in THIS language." So why not Python? It's not really any worse than Java, especially if you separate the server and client into separate engines (for threading purposes). Unity3D is really a rather-not for me, though it's not a horrible working environment. Then again, with everyone thinking Java, well... maybe the problem with Minecraft really is the module structure. I dunno.
 

McJty

Over-Achiever
Mod Developer
May 13, 2014
2,015
2,519
228
twitter.com
Well, folks. I'm seeing a lot of "I want to make an open-source clone in THIS language." So why not Python? It's not really any worse than Java, especially if you separate the server and client into separate engines (for threading purposes). Unity3D is really a rather-not for me, though it's not a horrible working environment. Then again, with everyone thinking Java, well... maybe the problem with Minecraft really is the module structure. I dunno.

Python is a nice language. However, it is considerably slower then Java. Both Python and Java run on a virtual machine but the big difference is that Python is a very dynamic language which means that it is a lot harder to do optimizations in. The Java Virtual Machine on the other hand has been optimized greatly upto the point that well written Java programs can run at almost C/C++ speed levels.

Python would be good as a scripting language however. I myself have made a Minecraft like voxel engine based on my Crystal Space 3D engine. The voxel engine itself is written in C++ with Python as a scripting/modding language.
 

Ninjorp

New Member
Jul 29, 2019
15
0
0
I don't have much to add here, but I'd like to say that this open source discussion is a very positive thing to see out of the Minecraft community. I have absolutely no doubt that Minecraft will change for the worse now that Microsoft owns it. Thank you for being so awesome.
 

GreenZombie

New Member
Jul 29, 2019
2,402
-1
0
I strongly suspect that Minecraft would not have been nearly as moddable if written in almost any other compiled language at all. C and C++ are out. Modding binary interfaces in C is big and hairy and while games like Diablo II has been modded, the mods are very very unstable and you need to be an expert in x86 machine code to resolve any conflicts. C++ is a no no as there is no binary standard at all so you would *have* to use the same toolchain as the development house. C#, while it supports reflection and code injection is still a big hairy intimidating beast compared to java.

Java has .jar files. They are .zip files. Anyone can open them. The config files within can be edited by text editors. It is very easy consequently to drop in new .class files that Java will see, and use. Conversely .NET uses exe (and .dll) files that are not nearly as malleable.

By accident, (im sure), Java was the perfect language for Minecraft to be implemented in to ensure a robust modding community *could* exist. Any attempt to "Design OpenMinecraft properly" and build it in (say) C++ and provide modding capabilities via an "approved" scripting interface (lua?) just would not support the wide range of mods that the total malleability of Minecraft enabled.
 

McJty

Over-Achiever
Mod Developer
May 13, 2014
2,015
2,519
228
twitter.com
BTW, just revived my own C++/python based Minecraft lookalike (yah! It still works :) ). Here is a screenshot:

CVOzkZ6.jpg


It is nothing more then a voxel engine right now. Supports biomes, inventory system and modding system. But all very very WIP and I'm currently not really working on it anymore.
 

Arkandos

New Member
Jul 29, 2019
349
0
0
I hear alot of people talking about Lua not being able to do things on a big scale, but what about Garrysmod?

The source engine exposed to Lua, making all kinds of things possible.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
I don't want to help, but I do want to learn how to do this stuff. Is it fine if I just can get your source code to look at and play around with?

Not for the game, but I do have another project of mine that kinda stalled that I'd be willing to share. Its on my laptop, so it'll likely take a sec, but other than that, it is more or less working, just not complete in any way, shape, or form, lol.

I hear alot of people talking about Lua not being able to do things on a big scale, but what about Garrysmod?

The source engine exposed to Lua, making all kinds of things possible.

It may not be so much that it can't do large things, just that its particularly difficult to do them due to some of Lua's restrictions, like an object-orientation implementation that is, to put it lightly, quite complicated and cumbersome to utilize. While Python does have standard object-orientation, it has its own problems like requiring whitespace, which is a bit of a turn-off for me.

That's where things like Java and C#, when implemented properly, are actually very good. With some work, you can do it all in one language. I assume Java can do it, as well, since it has its own reflection libraries, but I know for a fact that C# and .Net can do it, and it can be done well. It means fewer external dependencies (unless you make an implementation of a scripting language yourself, which is another can of worms entirely), no frustration from switching between languages, and you get all the real object-orientation with the look and feel a C-style language.
 
Last edited:

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
If only we could run the core game in C# and insert code in at runtime with Java. If someone can make that API I will jump on board
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
If only we could run the core game in C# and insert code in at runtime with Java. If someone can make that API I will jump on board
...WHY?! C# and Java have more or less identical syntax and many of the same facilities. Why would you not use just one or the other, but instead add yet another layer of abstraction, making things even more complicated and adding a heap of additional potential problems down the line.
 

Ithithdui

New Member
Jul 29, 2019
37
0
0
I hear alot of people talking about Lua not being able to do things on a big scale, but what about Garrysmod?

The source engine exposed to Lua, making all kinds of things possible.
I personally highly dislike Garrysmod because of lua. I am fine with using lua for computercraft, but I cannot mod Garrysmod period because of it's API.

If only we could run the core game in C# and insert code in at runtime with Java. If someone can make that API I will jump on board
As RavynousHunter said, C# and Java are almost exactly the same. I find myself trying to use C# functions in my java all the time. I have not yet found a method in Java that is not already done or easily accomplished in C#. However, someone could make a translator to automatically port the code to C#. I wouldn't recommend it, but it would be great for teaching modders how to use C#.
 

Tat45

New Member
Jul 29, 2019
41
0
0
I think a continuation of Java usage would give the community the highest chance to retain current mod developers.