J'ai récemment appris que le MMO Minecraft est propulsé par Java à partir d'une récente interview sur CVG.co.uk sur une éventuelle collaboration entre deux anciens et maintenant concurrents. Dans l'interview, il a dit sans détour que le fondateur de Minecraft est un codeur Java et qu'il est un codeur C ou C ++, ils sont donc incompatibles les uns avec les autres. Il sera donc difficile de collaborer sur de futurs projets.
Cela m'a fait penser, si Java pouvait le faire? Quel avenir pour le langage C # et la plateforme .Net très populaires de MS en ce qui concerne les jeux ou le développement de jeux grand public?
c#
software-engineering
game-industry
.net
le chaos
la source
la source
Réponses:
Vous devriez vérifier XNA . Une plate-forme pour créer des jeux pour Windows, Xbox 360 et Windows Mobile 7. Tout en C # et .NET.
la source
Je travaille dans le développement de jeux professionnels depuis plus de 5 ans. La plupart du temps, j'ai utilisé C # presque exclusivement.
La pile C # et .NET en général est vraiment géniale pour la technologie côté serveur. J'ai travaillé sur pas moins de 4 jeux MMO avec un serveur écrit en C #. De plus, avec Unity3D qui gagne en popularité, de nombreux navigateurs ET jeux mobiles nécessitent C #. N'oubliez pas le framework XNA: ce n'est pas le moteur de choix pour les titres de console AAA, mais il y a beaucoup de grands jeux créés avec, et beaucoup plus en cours de création.
Dans l'ensemble, C # a définitivement un avenir dans le développement de jeux.
la source
Comme cela a été mentionné, Mono apporte C # à plusieurs plates-formes. Dans cette même zone, vous trouverez Tao , une bibliothèque multiplateforme pour Mono et .NET qui permet d'accéder à Cg, DevIL, FreeGLUT, GLFW, GLU, ODE, OpenAl, OpenGL, PhysicsFS, SDL et WGL. Ce n'est évidemment pas aussi robuste quand il s'agit de fonctionnalités que XNA (qui fournit des composants de moteur fondamentaux directement au développeur); mais c'est très puissant.
Ainsi, une plate-forme croisée au-delà des OS et du matériel contrôlés par Microsoft est certainement possible. Mais pas autant de jeux indépendants populaires n'ont encore utilisé cette capacité.
Comme cela a également été mentionné, XNA couplé à C # permet aux développeurs indépendants de publier sur le 360, le PC et Windows Phone 7.
Dans l'ensemble, C # est bien vivant dans le développement de jeux en tant que moteur / langage de jeu.
En tant que langage d'outils, il est utilisé partout. J'ai construit des outils pour EA, THQ et maintenant Arkadium utilisant tous C #.
la source
Non seulement C # a un avenir dans le développement de jeux, mais il a aussi un cadeau - Découvrez Magicka , un jeu récemment sorti (et qui se vend bien) qui a été développé avec XNA. Jetez également un œil aux entrées gagnantes de Dream.Build.Play . C # est un moyen viable de créer des jeux (bien que pour l'instant je ne pense pas que ce soit le bon choix pour tous les jeux).
Au fil du temps, nous le verrons devenir de plus en plus populaire dans l'industrie des jeux informatiques, mais je ne m'attends pas à un passage soudain à C # à aucun moment.
la source
Java a toujours été un langage très polyvalent et il y a toujours eu la possibilité pour les gens de coder des jeux, des jeux simples sur le Web (applets Java / GWT avec le plugin canvas) aux bêtes 3D complètes (checkout JMonkey ). Je ne dirais donc pas que le fait que Java puisse faire ce genre de choses est un tueur en C #, car la plupart des gens savent que Java peut déjà le faire.
C # restera toujours populaire, car puisqu'il est inévitablement lié à Windows, Windows mobile et la Xbox bien mieux que Java (qui, en réalité, tous les développeurs de jeux se soucient vraiment du ciblage, donc l'avantage multiplateforme de Java est principalement perdu.) a également obtenu XNA qui a vraiment décollé en termes de développement de jeux.
Alors oui, Java est une plate-forme parfaitement adaptée au développement de jeux si quelqu'un souhaite emprunter cette voie, mais ce n'est certainement pas un tueur en C # ou .NET.
la source
Découvrez Unity 3D; Script C # (et JavaScript et Boo) dans un moteur 3D hautes performances.
Ajoutez XNA au mélange et vous regardez quelques excellentes plateformes pour utiliser C # pour le développement de jeux.
la source
Oui, C # a un avenir, avec le framework XNA. La plupart préfèrent C ++ à cause de la vitesse, mais C # n'est plus si lent ...
la source
Aussi - MonoDroid peut être une option pour C #.
la source
Ce qu'il a fait avec Java dans ce cas, c'est de créer une applet pour que vous puissiez simplement vous connecter au site et jouer avec un plugin très courant, complètement transparent sur le système d'exploitation utilisé. J'imagine que sa pensée était que Java était assez transparent lorsqu'il était utilisé de cette façon et que cela faciliterait le développement / test itératif rapide qu'il faisait faire aux fans. Je ne pense pas que vous puissiez le faire avec XNA car généralement le testeur doit avoir tout installé ainsi que le jeu et quelques connaissances générales sur la façon de compiler et d'exécuter cela.
Je dirais donc qu'il n'y a pas de changement de paradigme à partir de cela, cela correspondait juste à ce dont il avait besoin à l'époque et a évidemment bien fonctionné.
la source
Bien sûr, de nombreux langages de programmation ont un avenir dans le développement de jeux. C'est un faux dilemme souvent utilisé dans la presse informatique qu'il ne peut y avoir qu'un seul outil de type X et que tout le monde veut que cela se produise.
Rien ne pourrait être plus éloigné de la vérité.
C # et Java sont utilisés depuis longtemps dans les jeux. C et C ++ ont encore plus longtemps, et le sont toujours. Lua est utilisé comme langage de script pour certains jeux incroyablement populaires, avec le moteur écrit en C / C ++.
Il est donc clair qu'aucun langage de programmation ne fait exploser d'autres langages de programmation comme le Game Programming Language. En fait, nous voyons une tendance à ce que les principaux jeux soient composés d'un langage de programmation compilé de haute performance pour développer le ou les moteurs en.
La clé pour le moment est la performance. Si l'un des langages de programmation / bibliothèques utilisés provoque des pauses imprévisibles / incontrôlables dans l'application, puis dans un jeu d'action, cela tombera à plat sur le visage. Dans un jeu d'aventure basé sur du texte, cela pourrait être correct cependant.
la source