Hallo Zusammen,
ich erinnere mich, dass man hier unfertige Dinge postet, ich dachte ich trage mal was bei:
Animiert durch das Buch "Game engine Black Book: Doom" habe ich mich inspirieren lassen etwas Ähnliches in meiner doch mittlerweile recht eingeschränkten Freizeit zu bauen: Ein ASCII-RPG, welches sich hoffentlich leicht auf verschiedene Betriebssysteme und auch ggf. sogar mit WebAssembly im Browser portieren lässt. Hier schonmal ein Screenshot wie es aktuell aussieht:
Aktuell hat man ein Hauptmenü und zwei Karten zwischen denen man sich bewegen kann Ich habe einen recht "doofen" NPC, den ich demnächst Wegpunkte ablaufen lassen werde und man ansprechen kann. Danach wäre vielleicht ein Menü mit Inventar und einer Aufgabenliste das Nächste.
Ein paar Eckdaten:
IDE: Visual Studio Code + Dev Containers
Sprache: C++, CMake
VCS: Git (Gitlab)
Ich entwickle auf meinem MacBook Pro M1 mit VSCode und Docker Containern damit ich ein leichtgewichtiges Setup habe und mittlerweile Visual Studio gar nicht mehr so gern benutze. Ich bin in der Regel unter Windows/Mac und Linux unterwegs und mag portable, leichtgewichtige Setups deutlich lieber. Hier habe ich das für C++ ausprobiert und bin sehr zufrieden.
Technisch habe ich mich so gut es geht an Simplizität gehalten: Bilder, maps und Skripte sind json Dateien die ich mit nlohmann::json lade und fürs Speichern eines Spielstandes würde ich das genau so machen. Architekturmäßíg ist mir nur die Abtrennung des plattformspezifischen Codes in separate Libraries wichtig, so dass ich eigentlich nur ne andere Platform-lib linken muss. Aktuell gibt es nur eine Linux-Implementierung auf Basis von nCurses, aber es spricht ja nichts dagegen unter Windows conio oder eine SFML Implementierung zu verwenden.