EVE Online, ein MMORPG, mit teilweise über 30.000 Spielern gleichzeitig, bietet sie ab und an, die atmosphärischen Momente mitten im Spiel.
Konvertierung der Map von Minecraft 1.12 auf 1.13 durchführen
Vor einigen Wochen erschien Version 1.13 des Open-Word-Spieles Minecraft. Im Zuge dieser Aktualisierung wurden unter anderem die Daten der Blöcke verändert. Beim Erzeugen der Weltkarte über die freie Minecraft-Rendersoftware Mapcrafter traten nach dem Update Probleme auf.
Während der Server ohne Probleme lief, wurden in der Karte nur bestimmte Chunks gerendert. Der Grund hierfür war das nur die Chunks in das neue Format der Version 1.13 konvertiert wurden, die von den Spielern auf dem Server besucht worden waren. Alle anderen Chunks lagen noch im Format der Version 1.12 vor. Eine Lösung für dieses Problem schafft der mit 1.13 neu eingeführte Kommandozeilen-Parameter –forceUpgrade des Minecraft-Servers. Wenn man diesen entsprechend startet:
java -Xmx4096M -Xms2048M -jar minecraft_server.jar nogui --forceUpgrade
beginnt der Server alle Chunks in das neue Format zu überführen:
[06:42:34] [Server thread/INFO]: Starting minecraft server version 1.13.1 ... [06:42:34] [Server thread/INFO]: Forcing world upgrade! [06:42:34] [Server thread/INFO]: Counting chunks... [06:42:48] [Server thread/INFO]: Upgrading structure data... [06:42:48] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)... [06:42:49] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)... .. [08:52:58] [Server thread/INFO]: 99% completed (1629866 / 1630135 chunks)... [08:52:59] [Server thread/INFO]: 99% completed (1630017 / 1630135 chunks)... [08:53:00] [pool-4-thread-1/INFO]: World optimizaton finished after 7812721 ms
Je nach der Größe der eigenen Welt kann dieser Vorgang durchaus einige Stunden in Anspruch nehmen. Nachdem alle Chunks konvertiert wurden, funktioniert das Rendering der Weltkarte wieder wie gewohnt.
libGDX; Multiplattform-Game-Engine für Java
Für ein kleineres Projekt war ich auf der Suche nach einer Game-Engine für Java. Empfohlen wurde mir schlussendlich libGDX. Dabei handelt es sich um eine Game-Engine welche ursprünglich für Android entwickelt wurde. Mario Zechner, der ursprüngliche Entwickler der Engine, baute allerdings nach relativ kurzer Zeit eine Unterstützung für Desktopsysteme ein. Mittlerweile werden als Zielsysteme Linux, macOS, Windows, Android, iOS und der Webbrowser unterstützt.
libGDX eignet sich für 2D- als auch 3D-Spiele und ist relativ einfach strukturiert, so dass man in wenigen Stunden von einer Idee zu einem Ergebnis kommen kann. Die seit mittlerweile 2009 in der Entwicklung befindliche Engine wurde 2010 erstmalig veröffentlicht und hat sich seitdem stetig weiterentwickelt. Technisch basiert die Engine neben Java auf OpenGL, welches zum Rendering der Spieleszenen genutzt wird.
Die Liste der implementierten Features von libGDX ist lang. So wird Audio ebenso unterstützt wie die abstrakte Behandlung von Eingabegeräten, so das ein Spiel auf Touchscreen ebenso läuft wie auf gewöhnlichen Rechnern. Im Bereich der Grafik werden Partikelsyssteme, die Nutzung von Tile-Maps (mit einer nativen Unterstützung des TMX-Dateiformates) und vieles mehr unterstützt. Der Entwickler nutzt dazu die entsprechenden High-Level-APIs und muss sich nicht mit der konkreten Implementierung herumschlagen. Daneben existieren entsprechende Hilfs- bzw. Datenklassen, welche die verwendete Mathematik wie Matrizen, Vektoren und ähnliches abdeckt.
Video-Link: https://www.youtube.com/watch?v=hA2e3xIuNlk
Neben den im Kern vorhandenen Features, existiert ebenfalls eine Unterstützung für zusätzliche Module, so können unter anderem Box2D und das Entity-System Ashley als zusätzliche Module eingebunden werden.
Die offizielle Seite des Projektes ist unter libgdx.badlogicgames.com zu finden. Neben der spartanischen Dokumentation auf der offiziellen Webseite, ist die Wiki des GitHub-Projektes ein guter Einstiegspunkt für den Start mit libGDX. Der Quelltext der Engine ist ebenfalls auf GitHub zu finden. Die Engine ist unter der Apache License in Version 2 lizenziert und somit freie Software.
Karten im RPG Maker MV verknüpfen
Im RPG Maker MV sind Karten die Essenz des Editor. Aus vielen unterschiedlichen Karten wird am Ende ein fertiges Spiel. Damit dies der Fall ist müssen die unterschiedlichen Karten im RPG Maker MV miteinander verknüpft werden. Dies geschieht über entsprechende Ereignisse.
Um mehrere Karten miteinander zu verknüpfen, benötigt man im ersten Schritt mindestens zwei Karten. Anschließend wählt man im RPG Maker MV den Ereigniseditor aus und erstellt mit einem Doppelklick auf dem gewünschten Feld ein neues Ereignis. Unter Inhalte wird nun ein neuer Ereignisbefehl erstellt und dort der Befehl Spieler übertragen… ausgewählt. Zu finden ist dieser Befehl auf der zweiten Seite des sich öffnenden Fensters. Anschließend kann man eine Karte und Position auswählen zu welcher der erstellte Warp führen soll. Als Auslöser für das Event sollte in den meisten Fällen Spielerberührung ausgewählt werden.
Damit ist ein einfacher Übergang von einer Karte zur nächsten Karte geschaffen worden. Für den Rückweg sollte ebenfalls ein entsprechendes Event erstellt werden. Daneben können Warps ebenfalls über die schnelle Ereigniserstellung im Kontextmenü des Ereigniseditors erstellt werden. Neben einfachen Übergängen von einer Karte zur nächsten, lassen sich auch kompliziertere Verknüpfungen zwischen den Karten herstellen. Eine häufig genutzt Variante kommt hierbei bei dem Übergang von der Weltkarte zu einer regulären Karte vor. Eine Stadt kann z.B. von vier Seiten betreten werden. Wenn man die Stadt auf der Weltkarte von links betritt, sollte der Charakter ebenfalls auf der linken Seite der Stadt auftauchen.
Um diesen Fall abzudecken, erzeugt man ein Ereignis mit einer bedingten Verzweigung, welche in der Kategorie Ablaufsteuerung der Ereignisbefehle zu finden ist. Als Bedingung für die Verzweigung kann die Blickrichtung des Charakters genutzt werden. Für jede gewünschte Blickrichtung muss eine bedingte Verzweigung mit dem entsprechenden Warp erstellt werden. So wird der Charakter je nach Blickrichtung an eine andere Position der verknüpften Karte übertragen.
Idle-Game rund um die Stromerzeugung
Idle-Games, also Spiele die man nebenbei ohne ständige Interaktion spielen kann, gibt es eine ganze Menge. Eine besondere Perle unter diesen Spielen ist Reactor Game. Ziel dieses Spieles ist es immer mehr Strom zu produzieren und damit Einnahmen zu generieren. Mit Hilfe dieser Einnahmen können schließlich neue Ländereien gekauft werden und dort ebenfalls die Stromproduktion angekurbelt werden.
Das Spiel reizt durch den Aufbau der Infrastruktur, denn dort gibt es immer wieder Optimierung zu erledigen bis ein Maximum an Ertrag aus der jeweiligen Technologie herausgeholt werden kann. Zu finden ist das Spiel unter reactoridle.com.