Die D-Programmiersprache für die Spieleentwicklung
Vor kurzem habe ich wurde gestört, weil ich einen Punkt erreicht, in dem C++ (auch 0x), fühlte sich sehr beschränkt, und so begann ich nach alternativen zu suchen.
Vergessen, Java, C#, Python oder Ruby. Ich mag die low-level-Natur von C++ und ich bin kein Freund von virtuellen Maschinen. Weiter bin ich ein game-engine Entwickler, so habe ich zu entwickeln, die Kern-Routinen, die müssen wirklich schnell sein, und in letzter Zeit habe ich schon Hunger für code Ausdruckskraft. C++ ist eine fast-es Sprache für mich, aber es gibt viele Ausnahmen, wie die Verwendung von Vorlagen und GCC ist nicht die Optimierung Zeug so gut wie ich gehofft hatte, es würde.
Also ich überlege mir, mit dem lernen zu beginnen D.
Glaubst du, es wird genügen, meine Bedürfnisse als game developer? Ich bin vorsichtig, weil ich habe noch nie gehört, D verwendet wird.
Dank!
InformationsquelleAutor der Frage Guilherme Vieira | 2010-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe viel gelernt von D selbst in letzter Zeit, obwohl da noch mehr gehen. Von dem, was ich bisher gelernt, würde ich sagen, dass, während die Sprache ist ideal für praktisch alles, das Compiler und Bibliothekendie da draußen sind jetzt nicht die besten sind, und so kann man nicht immer sicher sein, dass der compiler ist bug-frei (es ist nicht). Für das Spiel Programmieren, müssten Sie sich verdammt sicher, dass die garbage collection ist passiert, richtig, zum Beispiel, und dass der compiler nicht falsch Optimierung entfernt wichtig-code... Dinge wie diese machen wollen, die Sie neu denken, mit der Sprache. Aber ich denke mir, dass die Sprache selbst ist das beste da draußen (das ist völlig subjektiv), und ich denke, das einzige Hindernis für seine Verwendung ist das fehlen eines perfekten Umsetzung, als vielmehr der Sprache selbst.
InformationsquelleAutor der Antwort Mehrdad
Ich verwendet, D 1.x tut für Spiele und demos, einige von Ihnen sind public domain, open source (EinBCDE).
D geben Sie die Produktivität unbekannt in C++-land, wenn Sie zu zahlen bereit sind den hohen Preis lässt sich streiten, mit jedem über warum verwenden Sie D.
Wenn Sie diesen Weg gehen, empfehle ich Ihnen zu wählen D-2.x, Verlassenen und Visual D (Hinweis für zukünftige Leser: es ist 2011).
Als für die Spiele-Entwicklung :
den D GC ist nicht das eigentliche problem. Es ist, wenn Sie reservieren, zu viel in einem frame, aber das ist über es. Die klassischen Methoden der Bündelung, Wiederverwendung, etc... arbeiten.
können Sie schreiben, x86 assembly tragbar über Linux, Mac & Windows. Auch statisch ist, wenn Sie können ziemlich lustige Vorlagen nackt Montage-Funktionen.
inlining über Modul-Grenzen arbeiten, ohne einen "link time optimization" - Schalter
Ich finde es einfacher zu pflegen, debug-und release-version (im Vergleich zu C++)
vermeiden, dass neue features und wählen Sie " Compiler konservativ... genau wie in C++
InformationsquelleAutor der Antwort ponce
Kenta Cho verwendet D und Simple DirectMedia Layer(SDL) zu entwickeln, seine Windows-Spiele. Sie sind eine Menge Spaß. Schauen Sie für inspiration und Quelle:
InformationsquelleAutor der Antwort Corbin March
Gut, es ist nicht so, wenn Sie mit D zu bauen, alles komplett neu. Zum Beispiel können Sie verwenden:
Ich bin mir nicht sicher über overlays obwohl. Es ist eine ziemlich solide Basis, die hoffentlich für mich arbeiten 🙂
Glück Mann!
InformationsquelleAutor der Antwort shd
D ist eine großartige Sprache für video-Spiele, es hat alle Funktionen, die für die schnelle Entwicklung eines performant ausführbar:
Brauchen Sie nicht ein separates Skript-Sprache, keine zusätzliche Zusammenstellung Schritte, um code zu generieren, Sie sind nicht beschränkt auf die memory-Modell einer virtuellen Maschine, wenn es um performance geht für low-level-Systeme, die man aber alle, die die Produktivität und Sicherheit scripting und verwalteten Sprachen für die Spiel-Logik. Sie sind sogar frei wählen zwischen prozeduralen, objektorientierten, funktionalen, generische und meta-Programmierung-Paradigmen für das problem zur hand.
InformationsquelleAutor der Antwort Jeremie Pelletier
In D proramming Sie sind:
meist in einer Sprache, die die Programmierung von opengl 3 und 4 wird nicht unterstützt
Ein kleines how-to: http://blog.fedora-fr.org/bioinfornatics/post/D-programming-OpenGL-and-MVC-Pattern
Für den Einsatz RAII in D sind Sie die keyword-Bereich ist es sehr mächtig,
InformationsquelleAutor der Antwort bioinfornatics
Willkommen in 2014!
Die neueste version von D ist 2.067 als zu schreiben. D ist etwas instabil in Bezug auf
auto
aber anders als das, ich sehe nicht ein, warum Sie nicht zu verwenden, D. Die Verfasser sind, was haben sich stark verbessert.D meiner Meinung nach leichter zu Lesen ist als C++, und leichter zu erlernen. Es enthält eine Schnittstelle zu C und eine teilweise Schnittstelle zu C++. Es erlaubt sogar die inline-assembly, die Interaktion mit Ihren Variablen. Der D-standard-Bibliothek heißt Phobos.
Ich sehr empfehlen, D. D wurde für Effizienz. Nach Adam D. Ruppe, "[C] gleich schnell". Und C ist eine der schnellsten Sprachen, die es gibt. Also, wenn Sie wollen, entwickeln Sie ein Spiel mit der Geschwindigkeit C und der high-level-Funktionen von C++, D sitzt genau dort dazwischen. Wenn Sie irgendwelche Fragen haben, fühlen Sie sich frei zu verbinden irc.freenode.net #d....
Zusammenfassend, D im Grunde ist die sichere version von C++. Während die Sprache ist multi-Paradigma, einschließlich OOP, wurde viel Wert gelegt auf der FP-Paradigma, mit
pure
Funktionen und der Unveränderlichkeit. Alle Objekte haben eineinit
Eigenschaft, so dass, wenn Sie erklären 'int foo;", es wird initialisiertint.init
. Ja, es sind noch Zeiger. Zeiger in D sind sogenannte lvalue und Werte sind sogenannte rvalue. Ein lvalue deutet immer auf einen rvalue.Weitere Informationen, besuchen Sie die offizielle E-Standort, http://www.dlang.org/ .
InformationsquelleAutor der Antwort AMDG
Die Leute nennen sich selbst "team0xf" hast diese ganz in D1.
InformationsquelleAutor der Antwort Baxissimo
Remedy (Max Payne, Alan Wake, Quantum Break) sind mit D : http://dconf.org/2013/talks/evans_1.html
InformationsquelleAutor der Antwort Denis Gladkiy
Ich freue mich auf das lernen D Sprache irgendwann auch 🙂
Aber es ist eine Sache zu erinnern: gut, Sprache ist gut, aber Sie, als game-Entwickler, müssen sich auch tools (wie z.B. Bibliotheken) zu Ihren Diensten. Und ein paar gute Bibliotheken haben derzeit Bindungen bis D. Allerdings weiß ich von einem, dass die meisten wahrscheinlich (aber nicht sicher) hat:
Oger - einer der führenden, wenn nicht der führende, frei-wie-in-Freiheit-Bibliothek für alle Ihre tragbaren 3D-Grafik braucht.
Brauchst du natürlich mehr, aber das ist ziemlich viel, hängt von Ihrem Spiel.
Ich bin mir nicht bewusst, wie einfach oder schwer ist es, Bindungen zu D für eine C++ - Bibliothek. Es kann schwierig sein, kann einfach sein und wenig automatisiert. Letzteres wäre ziemlich viel möglich, da, wie ich es nehmen, Sprachen sind einander sehr nahe, und D, die Entwickler hatten wohl C++ im Verstand eine Menge von der Zeit.
Hoffe, das hilft.
InformationsquelleAutor der Antwort Septagram
Aus einer anderen Perspektive, D stellt Sie in die gleiche Objekt-Dateien (wenn auch OMF-format) als C/C++. Würde man davon ausgehen, D die Optimierung der Montage ist vergleichbar mit C/C++, egal, die Montage ist immer von hand optimieren, wenn Sie wollen.
InformationsquelleAutor der Antwort ste3e