Posts by red51

A small new update is available now!

    Hehe, sehr aufmerksam beobachtet ;)


    Tatsächlich war die Formulierung in der Roadmap etwas irreführend... ich habe das jetzt abgeändert, damit sollte es eigentlich keine Unklarheiten mehr geben ^^


    Grundsätzlich wird Java weiterhin die Programmiersprache für Plugins bleiben. Ggf. werden wir langfristig noch JavaScript hinzufügen, aber das steht noch nicht ganz fest. Andere Sprachen wie C# werden leider nicht unterstützt (die neue Version des Spiels wird zwar überwiegend in C# geschrieben, aber der fertige Code wird durch IL2CPP in C++ umgewandelt)


    Die neue Plugin API wird in weiten Teilen identisch zur bisherigen API bleiben, es wird aber aus technischen Gründen ein paar kleinere notwendige Änderungen geben (zB wird der Zugriff auf die Server und World Klassen statisch sein [d.h. z.B. nicht mehr getServer().getPlayer(); sondern direkt Server.getPlayer();], Events sind nur noch innerhalb der Eventfunktion gültig [d.h. Events können leider nicht in Listen gespeichert oder an andere Threads übergeben werden - in dem Fall müsste man sich die Daten aus einem Event vorher selber rauskopieren], EventMethod.Threaded wird entfernt [ich glaube das wurde eh nicht so oft verwendet, und ist in den meisten Fällen auch gar nicht nötig] und noch ein paar kleinere Syntaxänderungen). D.h. Plugins können zwar leider nicht 1:1 übernommen werden, doch die nötigen Anpassungen durch den Pluginersteller werden insgesamt überschaubar bleiben. Etwas größere Änderungen *könnten* lediglich bei der GUI stattfinden, da kann ich leider noch nicht ganz so viel zu sagen... auch kann es sein, dass sich der Workflow für Custom Items und so etwas ändert. Auch bei der WorldDatabase kann es sein, dass es etwas Probleme gibt.


    Ich werde demnächst noch einen Thread erstellen, der die Änderungen an der API etwas genauer beleuchtet (zumindest die Änderungen, die nach jetzigem Stand feststehen). Generell spricht nichts dagegen, weiterhin Plugins zu schreiben, denn die später notwendigen Anpassungen sollten in den meisten Fällen recht zügig vonstatten gehen (lediglich in puncto GUI wäre es vll ratsam, sich vorerst aufs Wesentliche zu beschränken).


    Also kurz gefasst könnte man folgendes schonmal berücksichtigen:

    • Events nur innerhalb der Event Funktion nutzen (wenn sie getriggert werden), niemals in eine Liste reinschreiben oder an einen anderen Thread übergeben. An Funktionen übergeben ist hingegen ok, sofern diese sich an die selben Regeln hält
    • EventMethod.Threaded sollte nicht mehr verwendet werden, da es wie gesagt rausfliegt. Meistens ist es eh nicht so sinnvoll, diesen Modus zu verwenden, da die meisten Events ohnehin aus verschiedenen Threads getriggert werden
    • Man sollte vermeiden, zu viele Threads zu erzeugen. In den meisten Fällen sind Threads ohnehin nicht nötig, da der Server die API-Aufrufe bereits aus verschiedenen Threads tätigt. Wenn man wirklich eigene Threads braucht, sollte man vorsichtig sein wenn API Funktionen aus diesen Threads aufgerufen werden: Jeder erstmalige Aufruf einer API Funktion aus einem neuen Thread sorgt für viel Overhead! Wenn man nun zB einen Executer bzw. Scheduler verwendet, der unter der Haube immer wieder einen neuen Thread spawnt, kann das schon sehr ins Gewicht fallen
    • Evtl. wäre es ratsam, die WorldDatabase erstmal nicht zu benutzen. Hier kann es sein, dass es einige Änderungen gibt (muss aber nicht). Das Problem ist, dass die Datenbank bereits vom Spiel gelocked wird, und der Zugriff über Java dann nicht mehr so einfach ist. Normale SQLite Datenbanken (also von Plugins erstellte Datenbanken) sind aber kein Problem
    • Es wird vom Spiel generell keinen MySQL Support mehr geben. Dadurch werden möglicherweise auch die MySQL Funktionen aus der API entfallen. In Java gibts aber natürlich andere Lösungen dafür, d.h. wenn ein Plugin unbedingt MySQL Zugriff braucht, muss es notfalls selber den JDBC Treiber als Lib laden

    why not Vulkan on Windows too?

    It's very likely that we add optional Vulkan support on Windows too, but we still want to stick to DX11/12 as primary APIs for the time being. The reason is that DX11 and 12 are more battle-proven and usually these APIs (at least DX11) are better supported by graphics drivers in general.


    Actually we had a lot of trouble in the past with broken OpenGL drivers. If a new graphics driver comes out, there is always a chance that it has some bugs. However, since the majority of games out there is using DirectX, most bugs in DirectX drivers were discovered and fixed in no time. In case of OpenGL, it usually took a lot longer until the graphics manufacturers fixed these issues (if at all), resulting in a lot of trouble for Rising World...


    But we will definitely keep a close eye on Vulkan. It's still too early to perform solid tests, but if we find out that Vulkan provides better performance than DirectX, we will think about using Vulkan as primary API on Windows :)

    Thanks for pointing that out! I agree this can be confusing... Basically it just means the plugins can either be installed in the game directory OR the server directory (for multiplayer servers), but I've updated the pinned topic to clarify this.


    Nevertheless, I'm glad to hear you have it working now :)

    The plugins instructions is using different terminology than the folders in the English language folder systems

    Hmm... can you tell me which part of the instructions is confusing (or differs from standard teminology)? Basically all plugins belong into the "plugins" folder in the game directory (if this folder does not exist, just create it). So plugins are not installed per world.
    If you want to install the plugins on a server instead, just put them into the "plugins" folder in your server directory accordingly.


    You always have to unzip the plugin zip, but make sure that every plugin still has a separate subfolder. E.g. if a plugin is called "MyPlugin" and has a few files in it (like "myplugin.jar", "config.txt" etc), make sure the plugin folder "MyPlugin" goes into the "plugins" folder. Most plugin creators zip their plugins with an appropriate folder already, so you just have to unzip the file, but if a zip file just contains a "myplugin.jar" file, for example, you have to create the "MyPlugin" folder yourself.


    Example: If you want to install the ChickenCoops plugin (this is really just an example), you just have to unzip the "ChickenCoop" folder from the zip file in the plugins folder.


    Your game directory could look like this:



    Hope that helps :)

    Happy new year :) And thanks for the log! Actually the overflow exception isn't caused by a plugin directly, instead it occurs when the game tries to save the player inventories - which indicates that one (or more) players have broken items in their inventory. It's very likely that the invalid item was added by a plugin, but unfortunately the log provides no information about the plugin which is responsible for this :(


    The error is indeed a big problem, on the one hand, it has a big impact on the server performance, on the other hand, player inventories are no longer saved properly... Does the error still occur after restarting the server? What happens if you remove the plugins and restart the server? If the error is still there in this case, this would indicate that the inventories are also broken in the database.

    Internally the plugin API uses an int to store the ID of an area, which enables us to have more than 4 billion unique areas in theory - so this doesn't seem to be the issue here. Unfortunately I can't say much about the WorldProtection plugin, since I don't have source code access, but it looks like this issue is caused by the way how the plugin calculates its own area ID - the ID the plugin calculates is prone to collisions. I'm afraid only @yahgiggle can fix this issue... :/

    For the new version we will drop OpenGL support. Instead we will use DirectX 11/12 on Windows, Metal on Mac, and Vulkan on Linux.


    While Metal and Vulkan will certainly result in better performance on Mac and Linux, older hardware may not support these APIs. On Mac, you need at least MacOS High Sierra 10.13 (which should be supported by all post-2010 Macs), and on Linux, you need a graphics adapter which is compatible with Vulkan (e.g. NVIDIA GeForce GTX 650 or higher, AMD Radeon R9 series, Intel HD 4000/5000 or higher etc).


    On Windows, you need at least a DirectX 11 compatible graphics card.


    Please let us know if your hardware does not meet these new minimum requirements.

    Hmm... does it only happen after playing some time, or is the red dot missing from the beginning? Do you play via P2P (the green "Play with friends" button), or on a public multiplayer server?

    Die neue Version wird keinen OpenGL-Support mehr haben. Stattdessen werden wir DirectX 11/12 für Windows, Metal für Mac sowie Vulkan für Linux verwenden.


    Während Metal und Vulkan unter Mac und Linux bessere Leistung mit sich bringen werden, wird ältere Hardware leider nicht unterstützt. Unter Mac wird mindestens MacOS High Sierra 10.13 benötigt (welches von allen Macs nach 2010 unterstützt wird), und unter Linux eine Vulkan-kompatible Grafikkarte (z.B. NVIDIA GeForce GTX 650 oder höher, AMD Radeon R9 Serie, Intel HD 4000/5000 oder höher etc).


    Unter Windows wird mindestens eine DirectX 11 kompatible Grafikkarte benötigt.


    Lasst es uns bitte wissen falls ihr Hardware verwendet, die diese neuen Mindestanforderungen nicht erfüllt.

    Wie werden die getriggert? Ist es nur die Entfernung? Eigentlich müsste in Deckung und Schleichmodus die Entfernung geringer werden.

    Also grundsätzlich hat jeder Npc einen "Aggro-Radius", innerhalb dessen der Spieler überhaupt wahrgenommen oder gesehen werden kann. Generell werden Npcs nur aggro, wenn sich keine Wand o.ä. zwischen euch befindet. Wenn der Spieler sichtbar ist (du dich innerhalb des Sichtkegels des Npcs und innerhalb des Aggro-Radius befindest), wird der Npc aggro. Ansonsten wenn du nicht im Sichtkegel befindest, aber du dich auf 20% des max. Aggro-Radius annäherst und nicht geduckt bist, wird der Npc ebenfalls aggro. Selbiges wenn du innerhalb von 50% Aggro-Radius bist und normal läufst. Beim Sprinten bereits innerhalb von 85% des Aggro-Radius.


    Ich denke es wäre sinnvoll, wenn wir die jeweiligen Aggro-Bereiche etwas anpassen.


    Ansonsten ist die Sichtbarkeitsprüfung leider auch etwas eingeschränkt. Gras verdeckt den Spieler nicht für Npcs, wodurch man sich im hohen Gras zwar gut getarnt fühlt, Npcs einen aber trotzdem sehen :S


    Kann man die Banditen "wegsnipern" oder einzeln weglocken?

    Grundsätzlich ja - allerdings ist bei allen Npcs, die sich in eine Gruppe bewegen, so, dass alle Gruppenmitglieder alarmiert werden, wenn ein Npc der Gruppe aggro wird. Wenn du aber weit genug weg bist, verlieren sie den Aggro recht schnell wieder.


    Die beste Nahkampfwaffe scheint für mich im Moment die Stahlspitzhacke zu sein [...] Gibt es bessere?

    Also rein vom Schaden her sind die zweihändigen Schwerter sowie Streitäxte, Streitkolben, Kriegshammer und Morgensterne am besten. Hier dann natürlich jeweils die "besseren" Varianten.


    Sollten NPCs/ Banditen nicht auch von Bären, ... angefallen werden können?

    Ja auf jeden Fall, aber leider ist das noch nicht implementiert. Das wird in der neuen Version aber früher oder später berücksichtigt ;)


    Rot wurde es beim Treffer, vielleicht sollte die Trefferseite rot werden, die andere fast nicht

    Das wäre vielleicht keine schlechte Idee!

    Thank you very much! :)


    So you were able to build that in the new version already?

    Well, the cabin and fireplace were made out of construction elements, but there are still no proper building mechanics implemented ^^ We have a lot of plans regarding the building mechanics (and there are so many things that could be improved compared to the old Rising World building mechanics) so it will probably take some time until that's ready (but actually that doesn't necessarily delay the release of the tech demo) ;)


    If I had to ask anything about the demo it would have to be about the new computer specifications for the gameplay?

    Unfortunately I can't say much about the hardware requirements yet... but if you're able to play Rising World now, you will also be able to play the new version ;)


    But of course the new effects (shadows etc) will have an impact on performance. Depending on the hardware, you will have to disable these effects in the worst case :| Although when playing on minimum settings, the new version will still look better compared to the old one (on min settings)^^


    I Imagine alot of this would be able to be changed in the configuration files.

    Oh yes, there will be lots of setting in the config file. This time the config file will also have comments for most settings, this makes it easier to determine what a particular setting actually does ^^

    Unfortunately water is indeed quite limited right now. It's still static so it doesn't flow, and "placing" water is kinda broken sometimes...


    But dynamic/flowing water is definitely planned and will be available in the new version of the game. Of course there will always be limitations, since we cannot implement fully accurate physical water where every single drop is simulated (computers are by far not powerful enough to handle that), so water will basically flow "block by block", but still a huge improvement compared to the current situation ;)

    Wenn ich auf den Trello Link klicke öffnet sich nur eine leere Seite Funktioniert die Roadmap nicht mehr?

    Das ist merkwürdig... eigentlich sollte der Link normal aufrufbar sein 8| Kannst du denn andere Trello-Boards besuchen? Welchen Browser verwendest du (bzw. kannst du es evtl. einmal mit einem anderen Browser versuchen)?



    Verwendest du ggf. ein Antiviren-Programm mit Browser-Erweiterung? Das kann manchmal auch bestimmte Seiten blockieren.

    Hmm... welches Problem tritt denn bei der Universalversion genau auf? Bricht der Download ab, oder bekommst du eine Fehlermeldung?
    Standardmäßig startet Java meist mit nur sehr wenig RAM (meist nur ~ 256 MB), das kann bereits zu Problemen führen. Vielleicht könntest du einmal probieren, die .jar über Terminal zu starten mit diesem Befehl: java -Xmx2048m -XX:MaxDirectMemorySize=2048m -jar risingworld.jar


    Ansonsten könntest du evtl. mal probieren, die neueste Java Version für Mac OS X hier herunterzuladen und zu installieren: https://www.java.com/de/download/manual.jsp


    Alternativ kann ich dir aber auch einen Steam-Key anbieten, womit du Rising World in Steam aktivieren und dort herunterladen und starten kannst :)

    @red51 would you mind making a video of the games progress so far?!

    We will definitely share some videos as soon as we have something suitable to be presented :D We still spent a lot of time recently for things where it's difficult to show the progress (e.g. integration of audio engine) :saint: Actually it's unfortunately still too early to have some actual gameplay, but this will definitely change in the next weeks and months :)

    Sorry für die späte Antwort! :S Der Fehler ist leider der selbe wie in den vorherigen Reports und steht im Zusammenhang mit der Physik-Engine... ich fürchte das ist etwas, was wir in der aktuellen RW Version wohl nicht mehr beheben können :(
    Normalerweise sollte dieser Fehler nur äußerst selten auftreten (und die meisten Spieler sollten genau diesen Fehler eigentlich nie zu Gesicht bekommen), aber wenn viel gebaut wurde (oder mit Blueprints hantiert wird, die viele Bauelemente enthalten), erhöht sich leider die Chance, dass dieser Fehler ausgelöst wird.


    Mit der neuen Version wird es zumindest diesen Fehler nicht mehr geben ;)