54 votes

Le langage de programmation D pour le développement de jeux

Récemment, j'ai été gêné parce que j'ai atteint un point où C++ (même 0x) se sentait très limité, j'ai donc commencé à chercher des alternatives.

Oubliez Java, C#, Python ou Ruby. J'aime toujours le faible niveau de la nature de C++ et je ne suis pas fan de machines virtuelles. De plus, je suis un moteur de jeu développeur, j'ai donc de développer les principales routines qui doit être vraiment rapide, et dernièrement j'ai eu faim pour le code de l'expressivité. C++ est un presque-il de la langue pour moi, mais il y a de nombreuses exceptions sur la façon d'utiliser des modèles, et GCC n'est pas de l'optimisation de stuff ainsi que je l'avais espéré qu'il le ferait.

Donc j'envisage de commencer l'apprentissage de D.

Pensez vous qu'il suffit à mes besoins en tant que développeur de jeu? Je suis circonspect parce que je n'ai jamais entendu parler D être utilisé pour cela.

Merci!

39voto

Mehrdad Points 70493

J'ai appris pas mal de D moi-même ces derniers temps, bien qu'il y a encore plus à venir. De ce que j'ai appris jusqu'à présent, je dirais que, si la langue est idéal pour pratiquement n'importe quoi, les compilateurs et bibliothèques qui sont actuellement sur le marché ne sont pas les meilleurs, et donc, vous ne pouvez jamais être sûr que le compilateur est sans bug (il n'est pas). Pour la partie programmation, vous devez être sacrément sûr que la collecte des ordures se passe correctement, par exemple, et que le compilateur n'est pas incorrecte de l'optimisation de l'écart important de code... des choses comme cela pourrait vous faire repenser à l'aide de la langue. Cependant, je pense moi-même que la langue elle-même est le meilleur là-bas (c'est totalement subjectif), et je pense que le seul obstacle à l'utilisation, c'est l'absence d'une mise en œuvre parfaite, plutôt que la langue elle-même.

24voto

ponce Points 703

J'ai utilisé D 1.x pour faire des jeux et des démos, certains d'entre eux sont du domaine public open source (A, B, C, D, E).

D peut vous donner la productivité du jamais vu dans C++-terre si vous êtes prêt à payer les prix élevés de discuter avec tout le monde au sujet de pourquoi utilisez-vous D.

Si vous aller dans cette voie, je vous conseille de choisir D 2.x, de l'Épave et Visuel D (conseil pour les futurs lecteurs: ce n'est qu'en 2011).

Comme pour le développement d'un jeu :

  • le D GC n'est pas un réel problème. Il est si vous allouer trop dans un cadre, mais c'est tout. Les méthodes classiques de mise en commun, de la réutilisation, etc... travail.

  • vous pouvez écrire x86 assemblée de façon portable à travers Linux, Mac Et Windows. Aussi statique si permet assez amusant basé sur un modèle nu assemblée des fonctions.

  • inline travers le module de limites est de travailler sans un "lien à l'optimisation du temps de commutation"

  • Je le trouve plus facile à maintenir debug et release de la version (par rapport à C++)

  • éviter de nouvelles fonctionnalités et de choisir les compilateurs de façon conservatrice... tout comme en C++

14voto

Corbin March Points 18522

Kenta Cho utilise D et Simple DirectMedia Layer(SDL) pour développer ses jeux Windows. Ils sont beaucoup de plaisir. Prendre un coup d'oeil pour l'inspiration et la source:

8voto

JoeCoder Points 989

J'utilise D pour mon passe-temps, le moteur de jeu sans but lucratif, Yage

7voto

shd Points 83

Eh bien, ce n’est pas comme si vous utilisiez D, vous deviez tout construire à partir de rien. Par exemple, vous pouvez utiliser:

  • GLFW pour entrée / sortie
  • Horde3D comme moteur de rendu
  • OpenAL pour le son
  • Bullet pour la physique
  • Lua pour le script
  • lzo pour décompression rapide
  • peut-être Orange pour la sérialisation

Cependant, je ne suis pas sûr des superpositions. C'est une base assez solide qui, espérons-le, fonctionnera pour moi :)

Bonne chance, mec!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X