Die neue Go-Sprache von Google steckt noch in den Kinderschuhen und wird in der Praxis noch nicht in großem Umfang eingesetzt oder unterstützt. Trotzdem scheint es ein vielversprechendes Experiment zu sein, und ich frage mich, ob es in der Spieleentwicklung eine Zukunft haben könnte. Ich konnte nicht viel spielspezifisches über Go anderswo finden, und eine CW-Diskussion könnte angebracht sein.
Einige Gedanken:
- Laut golang.org laufen Go-Programme "fast so schnell wie vergleichbarer C- oder C ++ - Code" - schnell genug?
- Ist Go's Müllsammlung gut für Spiele geeignet?
- Wie viel mentales Umrüsten ist erforderlich, um Spiele im Land der gleichzeitigen Goroutinen zu erstellen?
- Go wird häufig als "Systems" -Level-Sprache bezeichnet. Ein Beispiel hierfür ist die Server-Software. Es ist schwer, an Multiplayer-Game-Server zu denken, wenn man das hört.
Ihre Gedanken?
Antworten:
Meine Antwort auf Ihre Fragen:
Wenn Sie meiner Meinung nach den Drang haben, Spiele in einer Sprache zu schreiben, dann versuchen Sie es. Wenn Sie darüber nachdenken, haben Sie natürlich eine Leidenschaft dafür, und warum nicht dieser Leidenschaft folgen, anstatt sich zu zwingen, sich der Norm anzupassen? Ich könnte noch viel mehr sagen, aber ich habe bereits viel in meiner Antwort auf die Frage gesagt : "Ist Ruby eine geeignete Sprache für die Spieleentwicklung?"
quelle
Ich habe eine kleine Engine in Go für OSX geschrieben (mit OpenGl für das Grafikfenster). Ich habe einige Erfahrungen mit C ++ - Spiele-Engines ( http://morganjeff.weebly.com/ ) und habe beschlossen, Go auszuprobieren, nachdem ich einige der darin enthaltenen Funktionen gelesen hatte.
Ab der Go 1.1-Version unterstützt go die meisten Funktionen, die ich zum Schreiben einer Game-Engine benötigte (wirklich ein Game-Core, wie eine Engine Editoren vorschlägt, und was nicht), einschließlich:
Einige der Vorteile von Go (für ein großes Projekt):
Einige Vorteile von Go im Allgemeinen:
Einige Nachteile der Verwendung von Go:
Es gibt Möglichkeiten, Rohspeicher in go zu bekommen ("unsicher" importieren), und ich werde einen Artikel verlinken, der zeigt, wie ein go-Programm hinsichtlich Speicher und Geschwindigkeit profiliert werden kann. Alles in allem scheint Go's Behauptung, dass es ein modernes C ist, sehr wahr zu sein. Ich denke, es ist "intelligent" gestaltet (aus viel mehr Gründen als ich erwähnt habe) und, was noch wichtiger ist, es ist gut dokumentiert. Eine in Go entwickelte Engine wird sich ein wenig von einer in C ++ entwickelten Engine unterscheiden (etwas, an das ich mich immer noch gewöhnt habe), aber die Go-Engine löst viele Probleme, die in C ++ nicht wirklich gelöst sind (nämlich Parallelität, die Komplexität der Sprache von C ++ und der Missbrauch der Vererbung).
Hier ist der Artikel, den ich versprochen habe: http://blog.golang.org/2011/06/profiling-go-programs.html
-Jeff
quelle
Da Go noch relativ neu ist, gibt es möglicherweise noch keine Bindungen für viele der gängigen Bibliotheken, die in der Spieleentwicklung verwendet werden.
quelle
Verwenden Sie Go nicht, um ein Spiel zu entwickeln, es wird nur ein Albatros um Ihren Hals sein. Die Toolchain für die Spieleentwicklung geht so weit über die Sprache hinaus, dass Sie Dinge schreiben, bei denen Sie auf Schritt und Tritt auf Hindernisse stoßen, die einfach nicht vorhanden sind, wenn Sie nur mit etwas Bestimmtem arbeiten.
Versteht mich nicht falsch, ich liebe es, mit neuen Sprachen zu spielen, aber wenn Sie versuchen, Spiele dazu zu bringen, eine Sprache zu wählen, die eine Community und Unterstützung hat, werden Sie viel besser dran sein.
quelle