I want to know why you are not using Unity?
Unity has cross platform support with many assets and also nice graphics.
But you currently using Java.
Terasology started as tech-demo, written in Java and has been continued as Java project. The advantage of this decision is the availability of the large Java ecosystem with libraries, build support and large developer base. Also, as minecraft modding is popular in Java, modders may be able to port their ideas more easy if interested. It also gives the opportunity to support other jvm languages like scala or kotlin.
You can easily run java in unity this is not a good reason.
And second one, unity has very large ecosystem like java,
And you can run .jar files inside your mods folder using unity.
Sure, but it is not like a decision between two options :)
The project selected a java base with lwjgl2 for rendering (maybe target to be upgraded for lwjgl3 or libgdx #2099) long before I entered the project. The entire engine with the asset system, entity system, networking, ... is all based on Java frameworks or own implementations. Therefore the core framework itself is an engine for games, maybe not as powerful as Unity but an alternative for this special kind of game.
Moving the entire implementation with all ~130 modules to another engine is simply not feasible in terms of effort. I guess it would also conflict with the goal to provide an own engine but that is something someone else would have to answer.
I don't forced you to use unity i just recommend it.
I wish a successful attempt for you and your whole team.
you are free to select.
All the bests.
Unity doesn't scale well with the number of entities. You can find many posts about its failures on larger scale games. Here is a post from one of the Unity's authors on the topic:
https://blogs.unity3d.com/2015/12/23/1k-update-calls/
To solve this problem (and others), they recommend to not use the default Unity mechanism and write your own, but then - what do you need Unity for, if you're gonna rewrite everything yourself.
Overall - Unity is a great development platform for simple games or games with already explored mechanics, but if you want to do something larger, more complex and/or more non-standard - you're on your own rewriting large parts of it to customise it - not always worth it.
And all the best to you @EmpireWorld.
@MarcinSc Thanks for the submitted article.
As you said unity has bad Update funcionally but it's graphics and animation is powerful.
Thanks all.
@emanuele3d Thanks.
All the bests.
Keep moving, don't waste your gold time.
As you said unity has bad Update funcionally but it's graphics and animation is powerful.
Not any more than any other engine, it is not hard to write bone systems or shaders or etc...
@OvermindDL1 I don't say it is hard.
i said it is a good practice to use it's graphics and shaders.
Because unity support many platforms than java.
@EmpireWorld The platform independence is about the only good thing I can think about Unity. Of course it doesn't come without its own problems.
Anyway - there must be very good reasons why indie developers of most successful indie games do NOT use Unity. It's just not good to make innovative stuff.
I will admit though, it's great to make your "bread and butter" games in heavily explored genres. But once you want to step out a single step out of the line - you're screwed.
@OvermindDL1
Not any more than any other engine, it is not hard to write bone systems or shaders or etc...
No you're a bone system!
:-)
(sorry, just adding to the silliness of this issue, no offense @EmpireWorld and good luck!)
Hi @MarcinSc ! Good to see you're alive and well. Come help mentor a GSOC student or two!
Let me just leave you with a fitting quote:
_When I tell most people that I made the engine and tools myself, they usually ask, "Why did you do that?" My friends over at FlashBang try to cram Unity down my throat every single time I talk to them, but I stand by the decision to make our own tools and engine._
_One huge reason is control. I'm sort of a control freak when it comes to code; I like to understand everything that's going on in my codebase. That way, if something breaks, I know exactly where and how to fix it._
- Tommy Refenes in "Postmortem: Team Meat's Super Meat Boy"
Most helpful comment
Unity doesn't scale well with the number of entities. You can find many posts about its failures on larger scale games. Here is a post from one of the Unity's authors on the topic:
https://blogs.unity3d.com/2015/12/23/1k-update-calls/
To solve this problem (and others), they recommend to not use the default Unity mechanism and write your own, but then - what do you need Unity for, if you're gonna rewrite everything yourself.
Overall - Unity is a great development platform for simple games or games with already explored mechanics, but if you want to do something larger, more complex and/or more non-standard - you're on your own rewriting large parts of it to customise it - not always worth it.