![]() |
Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Druckversion +- GridTalk.de (https://www.gridtalk.de) +-- Forum: Showcase (https://www.gridtalk.de/forumdisplay.php?fid=5) +--- Forum: Über den Tellerrand (https://www.gridtalk.de/forumdisplay.php?fid=81) +--- Thema: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot (/showthread.php?tid=3786) |
Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Mareta Dagostino - 13.04.2020 Lange ist es her, im zarten Alter von 15 Jahren programmierte ich eine Art "Asteroids" auf dem vierzeiligen Display eines geliehenen programmierbaren Taschenrechners. Dann folgten ein Labyrinthspiel und Vier Gewinnt auf dem Commodore 64. Auf diese alte Tradition aufbauend dachte ich dieses Jahr, man könnte ja mal wieder nicht nur mit fremder Leute Software Szenen aufbauen, sondern richtig ein Spiel von Grund auf machen. Dies wird aus Zeitgründen natürlich sehr einfach bleiben, aber ich möchte moderne Methoden und Standards verwenden. Und Open Source soll es sein, also konkret mit dem Trio von Gimp (Texturen), Blender (Meshes), Godot (Game-Engine) erstellbar sein. ![]() Heute neu hinzugekommen: Tagesabhängig gefärbter Himmel, einschließlich Sternenhimmel nachts. Nächster Schritt wird sein, die blaue Leere unten durch animiertes Wasser zu ersetzen. Mit etwas Meeresboden wäre dann eine Skybox fertig, die man in der GUI von Godot einfach wie ein beliebiges Objekt in die Szene ziehen kann. Das "Roboter erschießt Roboter" Setting ist durch Nachprogrammieren eines Tutorials entstanden. Das werde ich längerfristig ins Fantasy-Mittelalter verlagern, wo ich halt schon viele Meshes und Texturen für habe. Liebe Grüße, Mareta RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Mareta Dagostino - 23.01.2021 Das nachprogrammierte Tutorial habe ich auf GitHub nun "archiviert", also abgeschlossen. Denn das Ergebnis einiger kontaktloser Wochenenden ist nun ein Multiplayer-First-Person-Online... naja, nicht Shooter. Bisher kann man mit einer roten Wolke herumlaufen und das Wetter einstellen. ![]()
Weil Godot 4.0 wohl recht starke Änderungen beinhalten wird, lege ich nun die nächsten Monate erst mal den Fokus auf Content, also statische Meshes. Meine in Lizenz gekauften Grafikquellen sind leider nicht in glTF 2.0 (gab's damals noch nicht), und sie enthalten auch keine optimierten Physikmeshes. Also erwartet mich viel Handarbeit in Blender zur Überbrückung der Wartezeit... ![]() --------------------------------- EDIT: Server gelöscht, daher Binärversion nicht mehr verfügbar. RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Dorena Verne - 25.01.2021 Habe es mal getestet. Na ist ja noch nicht viel, aber das du das hinbekommen hast, klasse. Bin jedenfalls auf die Fortschritte gespannt. ![]() RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Pius Noel - 26.01.2021 Godot scheint mir recht interessant zu sein und auch ich bin gespannt auf das was noch kommen mag. Ich habe mir den Quellcode mal angeschaut und gesehen, dass du da doch schon recht viel Arbeit reingesteckt hast. Bei mir klappt es nicht so richtig. Der Start-Bildschirm ist perfekt, aber im Game sehe ich keine rote Wolke, sondern nur den blauen Himmel mit den weissen Wolken und ansonsten schwarzen Boden und schwarze Hügel. Es hat aber trotzdem Spass gemacht mit den Einstellungen zu spielen und in einer dazu passenden Stimmung die Blitze blitzen und den Donner so richtig krachen zu lassen. RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Mareta Dagostino - 26.01.2021 Danke, Pius! ![]() Wegen der Grafikfehler kann ich leider nicht viel Tipps geben, außer eben debuggen mit dem Quellcode. Auf meinem Rechner geht es, sowohl unter Windows als auch unter Linux (Geforce 960). Der schwarze Boden hätte mit Sandtextur gerendert werden müssen, die rote Wolke des eigenen Avatars hätte man gut beim Blick nach unten gesehen. Gerade wegen der fehlenden Avatarwolke vermute ich grundsätzlichere Probleme mit Godot, oder den von mir gewählten Minimalanforderungen, weil ich als Avatarersatz momentan nur eingefärbte Partikel aus den godoteigenen Objekten genommen habe - also gar keine eigenen Meshes oder Texturen. https://github.com/MaretaDagostino/Hyperweb-Testgame/tree/master/Godot/level https://github.com/MaretaDagostino/Hyperweb-Testgame/tree/master/Godot/level-assets/terrain https://github.com/MaretaDagostino/Hyperweb-Testgame/tree/master/Godot/internal/player/characters Bei wem die Grafik korrekt angezeigt wird ... Diese verlinkten Dateien wären die primären Anker, um ohne selber zu coden Content aufzustellen. Level.tscn ist die Szene, sozusagen "Sim". Um die Programmlogik und den Spielinhalt zu trennen, sehe ich den Ordner "level-assets" für die Meshes und Texturen vor. Man könnte also einfach weitere Meshes da reinschmeißen und in der grafischen Godot-Entwicklungsumgebung auf Level.tscn platzieren. In "character.tscn" ist derzeit die Wolke modelliert, da könnte man eine Mesh-Figur reinsetzen. Allerdings habe ich noch keinerlei Code implementiert, um Animationen anzusteuern: Außer einer Bewegungs-Endlosschleife könnte eine solche Puppe derzeit nichts. Immerhin würde sie wie eine Brettspielfigur bewegt. Die Drehungen des Gesamtavatars sind bereits implementiert, auch wenn das bei einer Partikelwolke noch nicht viel hermacht. (Wenn der Avatar sich bewegt, dreht sich der Körper in Blickrichtung.) RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Pius Noel - 27.01.2021 Danke für die detaillierten Informationen, Mareta. Wenn ich auf meinem Rechner unter Linux den Sourcecode als Projekt in Godot v3.2.3 importiere und von dort starte, passiert genau dasselbe. Meine GK ist etwas kleiner bemessen. Ich habe eine NVidia Geforce GTX 660, die noch auf der Kepler GPU Architektur basiert. Ich habe auf diesem Rechner in den vergangenen Monaten recht viel mit Graphik-Software herumgespielt und dabei vielleicht wieder einmal etwas zerschossen. Unter anderem hatte ich im Dezember die NVidia Vulkan Beta Driver installiert. Der Trigger ist gesetzt ![]() RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Pius Noel - 27.01.2021 Nachtrag: auf dem gleichen Rechner im Dual Boot unter Windows 10 läuft es. Jetzt weiss ich wenigstens wie es sein sollte und dass es nicht an der Grafikkarte liegt. Meine fehlgeschlagenen Versuche machte ich unter Ubuntu 20.04. RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Pius Noel - 29.01.2021 Das Problem, das ich mit dem Hyperweb-Testgame (Allegria-Game) auf meinem Rechner unter Linux habe, scheint viel komplexer zu sein als ich zunächst erwartet hatte. Nachdem ich mich rund 2 Tage lang damit beschäftigt habe, werde ich es zumindest vorläufig wieder auf Eis legen. Was auch immer die Ursache für das Problem ist, es handelt sich um ein grenzwertiges Problem, denn es ist mir zweimal gelungen, dass ich das Spiel aus dem Godot Editor heraus fehlerfrei durchlaufen lassen konnte. Es ist mir nach dutzenden Versuchen auch zweimal gelungen das fertig compilierte Allegria-Game.x86_64 aus dem Download von Mareta fehlerfrei zu durchlaufen. Das Problem geht aber über das Laufzeitverhalten hinaus, denn es zeigt sich schon wenn ich den Quell-Code im Godot Editor lade. Sobald ich das Projekt Hyperweb-Testgame lade werden im Viewport im Level Node die Skybox, der Ground und das Terrain schwarz angezeigt. Einzig der blaue Himmel mit den Wolken wird in der Perspektive richtig angezeigt. Aber auch im Editor wurden mir bis jetzt nach dem Laden des Projektes die Texturen zweimal richtig angezeigt. Nachdem ich im Ausschlussverfahren mit dem Hyperweb-Testgame Quellcode im Godot Editor verschiedene Versuche durchgeführt habe, kann ich auschliessen, dass das eigentliche Problem im Bereich des Terrain Nodes oder des Avatars, bzw. des Characters (character.tscn) und des Players (Player.tscn) selbst liegt. Diese stellen für sich allein betrachtet kein Problem dar. Meine Recherchen haben ergeben, dass ich nicht der einzige bin, der mit Godot unter Linux schon ähnliche Phänomene erlebt hat. Eine Lösung habe ich aber keine gefunden. Relevante "Issues" wurden von den Entwicklern geschlossen, weil sie nicht reproduziert werden konnten und diesbezügliche Fragen in Foren wurden gar nicht oder nicht abschliessend beantwortet. Beim Start von Allegria-Game.x86_64 aus einem Terminalfenster mit dem Parameter --verbose ist mir noch aufgefallen, dass während des Ladens der Resourcen unmittelbar vor dem Laden des Hauptmenüs ein Fehler angezeigt wird: Code: $ ./Allegria-Game.x86_64 --verbose Da ich die Probleme vor allem im Zusammenhang mit den Shadern für das Wetter und/oder dem Wasser vermute (alles was mit dem Wasser zu tun hat zu entfernen reichte nicht), werde ich mal die Version 4 von Godot abwarten, die, wenn ich es richtig gelesen habe, im Bereich Skybox Neuigkeiten mitbringt. Bis dahin werde ich die Zeit nutzen um mich etwas vertiefter mit Godot zu befassen. Den Einblick, den ich jetzt bekommen konnte, war recht beeindruckend und hat mich auf ein paar Ideen gebracht, die ich unbedingt noch ausloten muss. RE: Ein Computerspiel von der Wurzel an mit Gimp, Blender und Godot - Mareta Dagostino - 29.01.2021 Wow, das nenne ich mal eine Untersuchung! ![]() Godot selber debuggen kann ich leider auch nicht, alleine schon aus Zeitgründen und weil ich werktags nach der Arbeit zu platt bin, mich weiter tiefschürfend durch fremden Code zu graben. Godot 4.0 wird eine dynamische Skybox mitbringen, so dass sich einiges (vermutlich aber nicht alles) aus der derzeitigen Skybox erübrigt. Außerdem wird die Server-Client-Kommunikation geändert. Beides erfordert grundlegende Überarbeitungen, weshalb ich auch vorher nichts mehr am Testgame weiter code. Es fehlt ja noch der komplette Content, so dass ich die Zeit gut sinnvoll mit Blender überbrücken kann. Und die Methode Avatare zu importieren ist bisher nur eine vage Idee, geschweige denn einen Discord Gruppenchat in einem Inworld Chatfenster abzuwickeln. Also genug andere Baustellen... Würde das Programm mal den Level einer Tech-Demo überschreiten, wäre ein richtiges Software-Design nötig, mit UML oder so. Sonst wäre schnell das Chaoslevel "organisch gewachsener Code" erreicht. Und noch eine weitere virtuelle Welt braucht es ja eigentlich auch nicht: Ich sage nur Sinespace (Unity 3D, kommerziell, free to use) oder ViRCadia (Direktimport von Objekten oder Szenen, Open Source, kann selbst gehostet werden), mal sehen wo sich irgendwann mal eine Community bildet. Meins jedenfalls wird eine Tech-Demo bleiben, ich werde nicht versuchen eine weitere Virtuelle-Welten-Software aus dem Boden zu stampfen. ![]() |