Frage: Gibt es eine Möglichkeit, GUI-Designs für ein C++/SDL2-Spiel, das nicht in einer Spiel-Engine entwickelt wird, schnell und einfach zu iterieren und zu integrieren?
Ich mache ein Spiel in C++/SDL2. Da es sich um ein textbasiertes Rollenspiel handelt, ist es nicht besonders leistungsstark, aber ich verwende seit der Einführung des Spiels ein C++-Open-Source-Projekt als Grundlage, und die Portierung von Zehntausenden Codezeilen in eine andere Sprache ist kein Problem. Keine realistische Option. Ich nähere mich dem Punkt, an dem ich die bestehende GUI des Spiels überarbeiten muss: Menüs ändern und überarbeiten, Symbole zu Spielrändern hinzufügen und so weiter. Die alten Menüs sind zahlreich, fest codiert und sehen größtenteils schlecht aus. Ich möchte, dass mein Spiel eine bessere GUI hat, aber ich weiß bereits, dass das Schreiben jeder Zeile jedes Menüs im Code sehr zeitaufwändig sein und wahrscheinlich zu schlechten Ergebnissen führen wird.
Viele moderne Spieleentwickler scheinen ihre Benutzeroberfläche parallel zu ihrem Spiel innerhalb einer etablierten Spiel-Engine zu erstellen, entweder so etwas wie Unity oder ihre eigene maßgeschneiderte Lösung. Die vollständige Portierung meines Projekts auf eine Engine wäre jedoch ziemlich zeitaufwändig und schwer zu rechtfertigen, wenn der einzige Vorteil in einer einfacheren GUI-Entwicklung bestünde.
Hier sind einige der Dinge, mit denen ich zuvor experimentiert habe.
Ich habe versucht herauszufinden, ob ich Menüs in Godot erstellen und sie dann exportieren kann. Es ist mir nicht gelungen, das zum Laufen zu bringen, aber das war vor etwas mehr als einem Jahr, daher sind mir die Details unklar. ChatGPT scheint recht optimistisch zu sein, dass dies funktionieren könnte, aber nachdem ich mir die Dokumentation gerade noch einmal angesehen habe, glaube ich nicht, dass ich damit einverstanden bin.
Ich habe es auch versucht Sehen Sie, ob ich GUI-Elemente innerhalb eines Godot-Projekts ausführen und eine Verknüpfung zu meinem Game-Engine-Code herstellen könnte, wobei letzterer als Bibliothek verfügbar gemacht wird. Ich denke, das sollte möglich sein, aber ich kannte Godot wahrscheinlich nicht gut genug, um es zum Laufen zu bringen, als ich es versuchte.
ImGui ist ein schöne GUI-Bibliothek mit viel Beispielcode. Ich habe es geschafft, es in meinen Rendering-Code zu integrieren, musste jedoch feststellen, dass mein gesamtes Spiel auf dem Rendering im beibehaltenen Modus basiert und daher nicht mit ImGuis Ansatz für den unmittelbaren Modus kompatibel ist. Ich wage zu behaupten, dass ich den Code meines Spiels überarbeiten könnte, aber es wäre die Mühe vielleicht nicht wert. Es scheint ein breiter Konsens darüber zu bestehen, dass ImGui zwar fantastische Bearbeitungstools und Game-Engine-Schnittstellen erstellen kann, bei der Erstellung von Endbenutzer-GUIs, wie sie beispielsweise in Spielen zu finden sind, jedoch nicht funktioniert.
Qt und wxWidgets kamen nie von der Startrampe – zu schwierig einzurichten und in mein eigenes Projekt zu integrieren. Die scheinbar endlosen Abhängigkeiten und Fehlermeldungen wurden mir zu viel.
Einige Dinge werde ich in den nächsten paar Jahren ausprobieren Wochen.
Mir wurde von einem Web-App-Entwickler gesagt, dass Claude AI Menümodelle als Eingabe verwenden und Code generieren kann (Java, C++, was auch immer) als Ausgabe. Ehrlich gesagt klingt das zu schön, um wahr zu sein, aber er schwört, dass er es selbst tut. Ich werde es in ein paar Wochen selbst herausfinden, wenn ich in ein Land zurückkomme, in dem ich mein eigenes Konto einrichten kann (ich muss in der Lage sein, SMS zu empfangen).
Es gibt eine App namens Rive (https://rive.app), mit der Sie Benutzeroberflächen und Grafiken erstellen und exportieren können. Es scheint keinen Grund zu geben, warum das nicht funktionieren sollte, aber ich war schon zu oft so, also mache ich mir keine großen Hoffnungen.
BEARBEITEN: Natürlich erfordert die Verwendung von Rive eine Laufzeitbibliothek, und obwohl es Laufzeiten für verschiedene Kombinationen von Plattform und Renderer gibt, ist kein Backend C++/ vorgesehen. SDL2-Anwendung, die ohne Renderer ausgeführt wird. Ich müsste etwas wie OpenGL 4.2 verwenden, um Rive nutzen zu können.
[b]Frage: Gibt es eine Möglichkeit, GUI-Designs für ein C++/SDL2-Spiel, das nicht in einer Spiel-Engine entwickelt wird, schnell und einfach zu iterieren und zu integrieren?[/b] Ich mache ein Spiel in C++/SDL2. Da es sich um ein textbasiertes Rollenspiel handelt, ist es nicht besonders leistungsstark, aber ich verwende seit der Einführung des Spiels ein C++-Open-Source-Projekt als Grundlage, und die Portierung von Zehntausenden Codezeilen in eine andere Sprache ist kein Problem. Keine realistische Option. Ich nähere mich dem Punkt, an dem ich die bestehende GUI des Spiels überarbeiten muss: Menüs ändern und überarbeiten, Symbole zu Spielrändern hinzufügen und so weiter. Die alten Menüs sind zahlreich, fest codiert und sehen größtenteils schlecht aus. Ich möchte, dass mein Spiel eine bessere GUI hat, aber ich weiß bereits, dass das Schreiben jeder Zeile jedes Menüs im Code sehr zeitaufwändig sein und wahrscheinlich zu schlechten Ergebnissen führen wird. Viele moderne Spieleentwickler scheinen ihre Benutzeroberfläche parallel zu ihrem Spiel innerhalb einer etablierten Spiel-Engine zu erstellen, entweder so etwas wie Unity oder ihre eigene maßgeschneiderte Lösung. Die vollständige Portierung meines Projekts auf eine Engine wäre jedoch ziemlich zeitaufwändig und schwer zu rechtfertigen, wenn der einzige Vorteil in einer einfacheren GUI-Entwicklung bestünde. Hier sind einige der Dinge, mit denen ich zuvor experimentiert habe. [list] [*]Ich habe versucht herauszufinden, ob ich Menüs in Godot erstellen und sie dann exportieren kann. Es ist mir nicht gelungen, das zum Laufen zu bringen, aber das war vor etwas mehr als einem Jahr, daher sind mir die Details unklar. ChatGPT scheint recht optimistisch zu sein, dass dies funktionieren könnte, aber nachdem ich mir die Dokumentation gerade noch einmal angesehen habe, glaube ich nicht, dass ich damit einverstanden bin.
[*]Ich habe es auch versucht Sehen Sie, ob ich GUI-Elemente innerhalb eines Godot-Projekts ausführen und eine Verknüpfung zu meinem Game-Engine-Code herstellen könnte, wobei letzterer als Bibliothek verfügbar gemacht wird. Ich denke, das sollte möglich sein, aber ich kannte Godot wahrscheinlich nicht gut genug, um es zum Laufen zu bringen, als ich es versuchte.
[*]ImGui ist ein schöne GUI-Bibliothek mit viel Beispielcode. Ich habe es geschafft, es in meinen Rendering-Code zu integrieren, musste jedoch feststellen, dass mein gesamtes Spiel auf dem Rendering im beibehaltenen Modus basiert und daher nicht mit ImGuis Ansatz für den unmittelbaren Modus kompatibel ist. Ich wage zu behaupten, dass ich den Code meines Spiels überarbeiten könnte, aber es wäre die Mühe vielleicht nicht wert. Es scheint ein breiter Konsens darüber zu bestehen, dass ImGui zwar fantastische Bearbeitungstools und Game-Engine-Schnittstellen erstellen kann, bei der Erstellung von Endbenutzer-GUIs, wie sie beispielsweise in Spielen zu finden sind, jedoch nicht funktioniert.
Qt und wxWidgets kamen nie von der Startrampe – zu schwierig einzurichten und in mein eigenes Projekt zu integrieren. Die scheinbar endlosen Abhängigkeiten und Fehlermeldungen wurden mir zu viel.
[/list] Einige Dinge werde ich in den nächsten paar Jahren ausprobieren Wochen. [list] [*]Mir wurde von einem Web-App-Entwickler gesagt, dass Claude AI Menümodelle als Eingabe verwenden und Code generieren kann (Java, C++, was auch immer) als Ausgabe. Ehrlich gesagt klingt das zu schön, um wahr zu sein, aber er schwört, dass er es selbst tut. Ich werde es in ein paar Wochen selbst herausfinden, wenn ich in ein Land zurückkomme, in dem ich mein eigenes Konto einrichten kann (ich muss in der Lage sein, SMS zu empfangen).
[*]Es gibt eine App namens Rive (https://rive.app), mit der Sie Benutzeroberflächen und Grafiken erstellen und exportieren können. Es scheint keinen Grund zu geben, warum das nicht funktionieren sollte, aber ich war schon zu oft so, also mache ich mir keine großen Hoffnungen. [/list] BEARBEITEN: Natürlich erfordert die Verwendung von Rive eine Laufzeitbibliothek, und obwohl es Laufzeiten für verschiedene Kombinationen von Plattform und Renderer gibt, ist kein Backend C++/ vorgesehen. SDL2-Anwendung, die ohne Renderer ausgeführt wird. Ich müsste etwas wie OpenGL 4.2 verwenden, um Rive nutzen zu können.
Ich bin sehr verblüfft und ist ein wenig besorgt, um das folgende Verhalten zu entdecken, bei dem ich zwei Tests und zwei Vorrichtungen habe. import pytest
Nachdem ich meinen Code für ein Magic Square Puzzle -Spiel beendet hatte, bittet es mich immer wieder, einen Schritt zu machen und den Platz nicht zu aktualisieren. Hier ist der Code:
import...
Derzeit beginne ich als Android -Entwicklerpraktikant in einem kleinen Startup. Ich werde in 2 Monaten ohnmächtig werden, sobald das Praktikum fast endet. Jemand, bitte, sagen Sie mir, wie ich im...
Ich bin ein Webentwickler, der Webanwendungslösungen in unterschiedlichem Geschäftsworkflow im Unternehmen vorschlägt. Das Unternehmen ist neu in der Technologie und möchte auch technische Lösungen...