Hace poco me enteré de que el MMO Minecraft funciona con Java a partir de una entrevista reciente en CVG.co.uk sobre una posible colaboración entre dos colegas antiguos y ahora competidores. En la entrevista, dijo sin rodeos que el fundador de Minecraft es un codificador de Java y que es un codificador de C o C ++, por lo que son incompatibles entre sí. Por lo tanto, colaborar en proyectos futuros será difícil.
Esto me hizo pensar, ¿si Java podría hacer eso? ¿Qué depara el futuro para el lenguaje C # muy popular de MS y la plataforma .Net en lo que respecta al desarrollo de juegos o juegos convencionales?
Respuestas:
Deberías revisar XNA . Una plataforma para crear juegos para Windows, Xbox 360 y Windows Mobile 7. Todo en C # y .NET.
fuente
He estado trabajando en el desarrollo profesional de juegos durante más de 5 años. La mayor parte de este tiempo, usé C # casi exclusivamente.
C # y .NET stack en general es realmente genial para la tecnología del lado del servidor. He trabajado en no menos de 4 juegos MMO con servidor escrito en C #. Además, con Unity3D ganando popularidad, muchos navegadores y juegos móviles requieren C #. No olvide el marco XNA: no es el motor de elección para los títulos de consola AAA, pero hay muchos juegos geniales hechos con él, y muchos más en preparación.
En general, C # definitivamente tiene un futuro en el desarrollo de juegos.
fuente
Como se ha mencionado, Mono trae C # a múltiples plataformas. En esa misma área, encontrará Tao , una biblioteca multiplataforma para Mono y .NET que permite el acceso a Cg, DevIL, FreeGLUT, GLFW, GLU, ODE, OpenAl, OpenGL, PhysicsFS, SDL y WGL. Obviamente no es tan robusto cuando se trata de características como XNA (que proporciona componentes fundamentales del motor directamente al desarrollador); pero es bastante poderoso.
Entonces, la plataforma cruzada más allá del sistema operativo y el hardware controlados por Microsoft es definitivamente posible. Simplemente, no tantos juegos independientes populares han utilizado esta habilidad, todavía.
Como también se ha mencionado, XNA junto con C # permite a los desarrolladores independientes publicar en 360, PC y Windows Phone 7.
En general, C # está vivo y bien en el desarrollo de juegos como lenguaje de motor / juego.
Como lenguaje de herramientas, se usa en todas partes. He creado herramientas para EA, THQ y ahora Arkadium, todas con C #.
fuente
C # no solo tiene futuro en el desarrollo de juegos, sino que también tiene un regalo: echa un vistazo a Magicka , un juego lanzado recientemente (y que se vende bien) que se desarrolló con XNA. También eche un vistazo a las entradas ganadoras de Dream.Build.Play . C # es una forma viable de hacer juegos (aunque en este momento no creo que sea la opción correcta para todos los juegos).
A medida que pase el tiempo, lo veremos cada vez más popular en la industria de los juegos de computadora, sin embargo, no espero un cambio repentino a C # en ningún momento.
fuente
Java siempre ha sido un lenguaje muy versátil y siempre ha habido la posibilidad de que la gente codifique juegos en él, desde simples juegos basados en la web (applets de Java / GWT con el complemento de lienzo) hasta bestias en 3D (ver JMonkey ). Así que no diría que el hecho de que Java pueda hacer ese tipo de cosas es un asesino de C #, porque la mayoría de la gente sabe que Java ya puede hacerlo.
Sin embargo, C # seguirá siendo popular, ya que inevitablemente se vincula con Windows, Windows Mobile y Xbox mucho mejor que Java (que, en realidad, todos los desarrolladores de juegos realmente se preocupan por la orientación, por lo que la ventaja multiplataforma que Java tiene se pierde principalmente). También obtuve XNA, que realmente ha despegado en términos de desarrollo de juegos.
Entonces, sí, Java es una plataforma perfectamente buena para el desarrollo de juegos si alguien desea seguir ese camino, pero ciertamente no es un asesino de C # o .NET.
fuente
Echa un vistazo a Unity 3D; C # (y JavaScript, y Boo) scripting en un motor 3D de alto rendimiento.
Agregue XNA a la mezcla y está viendo un par de excelentes plataformas para usar C # para el desarrollo de juegos.
fuente
Sí, C # tiene futuro, con el marco XNA. La mayoría prefiere C ++ debido a la velocidad, pero C # no es que lento ya ...
fuente
Además, MonoDroid puede ser una opción para C #.
fuente
Lo que hizo con Java en este caso fue crear un applet para que pudiera iniciar sesión en el sitio y jugar con un complemento muy común, completamente transparente para el sistema operativo que se estaba utilizando. Me imagino que su pensamiento era que Java era bastante transparente cuando se usaba de esta manera y facilitaría el rápido desarrollo iterativo / prueba que estaba haciendo que los fanáticos hicieran. No creo que puedas hacer esto con XNA porque generalmente el probador debe tener todo instalado, así como el juego y algunos conocimientos generales sobre cómo compilar y ejecutar esto.
Entonces, diría que no hay un cambio de paradigma a partir de esto, simplemente se ajustaba a lo que necesitaba en ese momento y obviamente funcionó bien.
fuente
Claro, muchos lenguajes de programación tienen futuro en el desarrollo de juegos. Es un falso dilema usado a menudo en la prensa informática que solo puede haber una herramienta de tipo X y que todo el mundo quiere que esto ocurra.
Nada podría estar más lejos de la verdad.
C # y Java se han utilizado en juegos durante mucho tiempo. C y C ++ tienen aún más tiempo, y aún lo son. Lua se utiliza como lenguaje de script para algunos juegos increíblemente populares, con el motor escrito en C / C ++.
Claramente, ningún lenguaje de programación está eliminando otros lenguajes de programación como The Game Programming Language. De hecho, vemos una tendencia a que los juegos líderes se compongan de un lenguaje de programación compilado de alto rendimiento para desarrollar los motores y luego un lenguaje de programación dinámico de nivel superior para escribir cómo se comporta la interfaz de usuario y otras cosas.
La clave en este momento es el rendimiento. Si alguno de los lenguajes / bibliotecas de programación utilizados causa pausas impredecibles / incontrolables en la aplicación, entonces, en un juego de acción, eso caerá de bruces. Sin embargo, en un juego de aventuras basado en texto, eso podría estar bien.
fuente