Posts by red51

    Wie schaut es mit Errungenschaften für Steam aus ? Gibt es evtl ein Contest für die Grafiken ?

    Wir haben schon damit begonnen, an Achievements und Statistiken zu arbeiten - zumindest steht die technische Seite schonmal ;) Jetzt fehlen noch passende Achievements, Texte und Bilder. Viel mehr aber ist das Spiel noch nicht ganz so weit, Achievements und Statistiken mit den richtigen Stellen zu verknüpfen (weil die meisten Spielmechaniken einfach noch fehlen).


    Eine Art Contest für Achievements wäre keine schlechte Idee :thumbup: Ich würde damit aber noch ein klein wenig warten, zumindest solange, bis die Grundmechaniken im Spiel sind. Denn dann kann man wesentlich einfacher beurteilen, was für Achievements man generell braucht.


    Von Anfang an werden aber auf jeden Fall Statistiken (also zB zurückgelegte Kilometer, gefällte Bäume usw) in der neuen Version sein (was ja auch die Grundlage für Achievements ist).

    Im letzten Abschnitt schreibst du das es generell keinen msql Support mehr geben wird. Ist dies jetzt nur auf die Plugin bezogen ( so würde ich es jetzt verstehen) oder auch generell für den mp Server ?

    Das gilt generell für den MP Server. In der neuen Version haben wir eine wesentlich schlankere SQLite Implementation, die keinen unnötigen Overhead mit sich bringt und spürbar schneller arbeitet als die alte Java Integration - insgesamt sollte das den Geschwindigkeitsvorteil von MySQL schon weitestgehend aufwiegen können. Optional wird es voraussichtlich auch die Möglichkeit geben, Memory-Datenbanken zu erstellen (daran arbeiten wir noch) - diese dürften noch schneller als MySQL sein. Dadurch, dass wir uns nur auf SQLite konzentrieren, können wir auch direkt ein paar Zusatzfeatures bieten wie zB automatische Welt-Backups.


    Wir halten uns die Option mit MySQL aber offen - wenn wir feststellen, dass es wider Erwarten doch zu Performanceproblemen kommt, werden wir eine MySQL Integration hinzufügen. Aber wie gesagt, es sieht momentan stark danach aus, dass die neue SQLite Integration schneller als die alte Java MySQL Integration sein wird ;)

    SEVERE: Invalid GlobalItemID for player S.(ItemID: 523)

    Even though the message states "severe", it's not a big issue at all ;) Unless the log gets spammed with this...
    Basically it indicates that a player interacted with an item which does no longer exist in the world. In most cases, this is caused by desync. It can also happen if two players try to pick up the same item at the same time, for example. If you just see this message sporadically, it's safe to ignore it :)


    com.codedisaster.steamworks.SteamException: InvalidTicket

    This is actually a different problem: It indicates that Steam could not authenticate the ticket of a player. Either the player sent an invalid ticket (this can happen sometimes if Steam was running a long time without restart for example), or if there is an issue with the Steam servers (in fact some Steam services are unavailable sporadically).


    Apart from that, the log looks ok so far.

    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.