Important notice / Wichtige Information

  • If it seems too good to be true, it probably is :) I'm sad to hear it isn't going to work out with LUA in the future of RW. Because I'm in current state unable to do anything with JAVA. One big reason I found this game interesting, is being able to maintain LUA scripting myself. I see you logic reason for this change, but still it did kill some of the fun here.


    Added JAVA to my to-do-list! :S


    Haha! don't be melodramatic :P The change is hardly too good to be true, but is actually a great news! Lua, while indeed really easy to learn and use, is only adapted for small features. Even the AreaProtection is reaching Lua's capabilities without affecting the game too much. As for WorldEdit, it does cause the server to hang at times when executing some commands. This could easily be avoided in Java.


    You perhaps need a little more setup for Java (i.e. installing eclipse and creating new Java projects, etc.) but once this is done, you benefit with a strongly typed language (you always know any variable's possible content), auto-completion, debugging tools (i.e. you can avoid many issues even before launching the game, even create independent tests for quality assurance..), have access to the entire game's feature with direct access to any method (i.e. functions) as opposed to an API wrapper for Lua which rely on adapters (i.e. extra calls and data conversion layers), and have access to the entire Java API such as sockets, file I/O, threads, system's hardware, and the RisingWorld's GUI library.


    In essence, this change will not affect current worlds. Clearly, the positive outweigh the negative here. And if no one does it, I will personally make tutorials to help anyone get started easily.

  • As for WorldEdit, it does cause the server to hang at times when executing some commands. This could easily be avoided in Java.


    Excellent :) I'm not a developer, and the only thing I've ever made in Lua was a script for a saved door in Minecraft. :D
    Maybe it isn't that complicated as i seems to. So let's tackle it! In with the sayings of Confucius: If a man takes thought about what is distant, he won't find sorrow
    near at hand.

  • Haha! don't be melodramatic :P The change is hardly too good to be true, but is actually a great news! Lua, while indeed really easy to learn and use, is only adapted for small features. Even the AreaProtection is reaching Lua's capabilities without affecting the game too much. As for WorldEdit, it does cause the server to hang at times when executing some commands. This could easily be avoided in Java.


    You perhaps need a little more setup for Java (i.e. installing eclipse and creating new Java projects, etc.) but once this is done, you benefit with a strongly typed language (you always know any variable's possible content), auto-completion, debugging tools (i.e. you can avoid many issues even before launching the game, even create independent tests for quality assurance..), have access to the entire game's feature with direct access to any method (i.e. functions) as opposed to an API wrapper for Lua which rely on adapters (i.e. extra calls and data conversion layers), and have access to the entire Java API such as sockets, file I/O, threads, system's hardware, and the RisingWorld's GUI library.


    In essence, this change will not affect current worlds. Clearly, the positive outweigh the negative here. And if no one does it, I will personally make tutorials to help anyone get started easily.


    You're right and your points are strong and valid. It's my own lag of knowledge that keep me limited. I look forward to your tutorials. Thanks

  • Java ist ne klassische Programmiersprache, der Code muss per Compiler übersetzt werden, damit der PC ihn verarbeiten kann. JavaScript ist eine Scriptspache, dieser wird meist im Browser verarbeitet.


    Aber diese beiden Sprachen werden immer mal verwechselt, JavaScript war auch lange verpönnt, wie auch Java. Javascript weil es lange als "böse" Sprache bekannt wurde und Webseiten aushebeln kann. Und bei Java sind es performanceprobleme, wobei ich der Meinung bin, das es auf den Programmier ankommt, wie sauber dieser programmiert. Und RW selbst ist Performance echt top ;D Hab jedenfalls selbst keine grossen Probleme gehabt ..

  • Both Java and JavaScript have dramatically improved in performance in the pas years. And even games programmed in C/C++ can be slow... as @Bogus said, this all depends on the programmers' skills. But the point is that, Java is tremendously faster and superior to Lua in this case, so however you see Java, it is an improvement anyway.

  • Hallo :)


    Ich wollte mal ganz frech nachfragen, wie weit es mit der neuen API steht? Ob Lua oder Java ist für mich persönlich egal (wobei Java natürlich mehr Möglichkeiten bietet), aber die aktuelle API stößt doch schnell an ihre Grenzen (mein aktuelles Problem ist, dass ich gerne Items aus einer Kiste entweder ins Inventar eines Spielers oder in eine andere Kiste transferieren oder als gedropptes Item benutzen möchte - was leider, sofern ich richtig geguckt habe, alles nicht möglich ist per Skript).


    Ich finde Rising Worlds echt super und habe noch 1000 Ideen, die ich gerne umsetzen würde.


    Danke für eure Arbeit! :)


    Mfg,
    Jaob

  • I am just curious on the timeline or if there is a timeline for the Java change? The reason I ask is I started a server and I need to make some changes to some of the lua scripting and I am lazy soooo.... If it is coming out soon I will wait :D:D It's not like Red and his team hasn't been doing anything like pushing out biomes. gather the server under one website.... Upgrading the main webpage for the upcoming wiki, or anything like that 8o8o I was just wondering.

    DEATH AND DESTRUCTION PVP
    192.154.229.151:4255


  • I am just curious on the timeline or if there is a timeline for the Java change? The reason I ask is I started a server and I need to make some changes to some of the lua scripting and I am lazy soooo.... If it is coming out soon I will wait :D:D It's not like Red and his team hasn't been doing anything like pushing out biomes. gather the server under one website.... Upgrading the main webpage for the upcoming wiki, or anything like that 8o8o I was just wondering.


    The java change will still be some time away i would expect around june or even longer from what i know but that could have changed

    Yahgiggle Steam Signature, real name Deon Hamilton :thumbsup: Server @ ip 139.99.136.76:4255 Name (The Federation of territory) Unity :thumbsup:

    If at first your code does not work call it version 0.1 with the odd bug :thinking:

    My Own Website




    31245-logo-png
  • Sad decision, LUA is fast and does not need to be compiled for on the fly coding. To be honest I'm not a big fan of Java, although good games came out of it. With LUA I can implement something super quick and makes debugging super easy. With Java it will be a nightmare as well as a memory hog. I really hope you guys thought more of this before making a final decision.

  • Sad decision, LUA is fast and does not need to be compiled for on the fly coding. To be honest I'm not a big fan of Java, although good games came out of it. With LUA I can implement something super quick and makes debugging super easy. With Java it will be a nightmare as well as a memory hog. I really hope you guys thought more of this before making a final decision.


    ... you do know that Rising World is for the most part Java, right? And while you are right about Lua allowing to build something quick and dirty, you still need to restart the entire game every time you make a change in your script as well.


    And, for the sake of arguing, on one hand, with Java one could test their script in a mocking environment before launching the game, instead of starting and stopping the game a dozen times to find and fix issues. On the other hand, unless your Java project is requiring a few dozen sources and third party projects, etc. javac is quite acceptable. As for memory, you are picking your arguments at weird places, as the Lua-to-Java bridge (or any Lua-to-native bridge) requires a lot.... A LOT!! of wrappers and thus creates many memory buffers during a script's execution. While these buffers are cleaned and garbage collected and create very few memory leaks, you never have direct access to anything, and the abstraction layer is really a waste of CPU time.


    Having an ease to edit something is usually in opposition with the end result (i.e. performance). And, in the end, the point of a script is to be executed, not edited ;)


    Now, I am not part of this decision, even though I have had a voice (that had more or less weight in the equation); but I not only support the migration, I believe it has long term benefits to the game on various and many aspects. Far more than continuing supporting a Lua API (which is nothing but limiting in Rising World). There is a reason why Minecraft have so many powerful game mods and why it works.... it uses Java as well. Not Lua. Just some food for thought.

  • The whole "you have to restart the game" thing is void if we're able to attach a remote debugger to the JVM running Rising World.
    All of my Minecraft (Bukkit) plugins were written that way, and it's pretty much trivial to set up if the game doesn't actively try to obscure itself.


    Will we be able to attach a remote debugger?
    What will the plugin interface look like?

  • I totally agree with @LordFoobar


    Quote

    LUA is fast and does not need to be compiled for on the fly coding


    Maybe you can write code in LUA faster, but if it comes to performance it isn't. In general script languages are slower than compiled programs because they need a https://en.wikipedia.org/wiki/Interpreter_(computing). Of course the difference isn't important in many cases, but i.e the "PlayerChangeEvent" is trigged if a player changes his position and so every time a lua script will be executed. If there are few players on the server it's no problem but I think with 100 or more player the performance could be bad (in comparision to a pure Java implementation, but I haven't proved that).


    Quote

    With LUA I can implement something super quick and makes debugging super easy. With Java it will be a nightmare as well as a memory hog.


    This is your opinion. I can implement in Java quicker than in LUA, because I had to use Java for university a lot. It really depends on your experince how fast you can implement in a specific programming/scripting language. Logging in Java is super easy too. :D

  • The whole "you have to restart the game" thing is void if we're able to attach a remote debugger to the JVM running Rising World.?


    That could be avoided totally if they made a /reload feature for LUA scripts. World of Warcraft a huge example, I never have to restart my client with mod changes, I simply /reload. Runes of Magic, same clause. MTA-GTA San Andreas, no need to restart client, most of these guys have a way to reload a plugin/mod. I guess I'll be brushing up on Java programming and forcing myself to use it more regularly. Many thanks for the replies and pointers!

  • i know its been awhile since anyone posted anything, 2 months exactly, just like to say im looking forward to writing some java plugins. hope the api docs will be more "noob" friendly then the current docs as i do have a learning disability and im sure some scripters here have something similar too.


    Example code is all i need to get going :)

  • The whole "you have to restart the game" thing is void if we're able to attach a remote debugger to the JVM running Rising World.


    Bingo! exactly what i was thinking.
    That in itself is a whole lot of flexibility, on the fly updating and tweaking!



    Once we're able to mod with java, best believe i'm going to be getting my hands real dirty with it!
    OOOOooowww yeahhhhh... :rolleyes: and I bet there would be an explosion of ex-minecraft modders crawling all over RW mod section :thumbsup:

Participate now!

Don’t have an account yet? Create a new account now and be part of our community!