¿Cuál es el mejor lenguaje de programación utilizado para hacer un videojuego RTS (Real Time Strategy) o cualquier juego?

La respuesta general de la industria en general es C ++ para cualquier cosa grande o intensiva en rendimiento, y para cualquier cosa que no sea, lo que mejor se adapte a su plataforma (Flash / JS / Unity, etc.).

Hay algunas advertencias basadas en lo que es el juego y dónde se jugará, porque los móviles no tienen directX y las consolas tienen sus propios requisitos especiales que no te permiten ser muy original en lo que haces para ellos.

C ++ es un compromiso porque escribir ensamblador o C llevaría demasiado tiempo. Aquí hay una charla sobre esto exactamente de Mike Acton: Director del motor, Insomniac Games. No está solo. La opinión de que C ++ es la mejor solución actual a un problema molesto se repite entre los desarrolladores que conozco en estudios como Frontier, Rare, Codemaster y Ubisoft. Hay muchos a los que no les gusta ese hecho y están trabajando activamente para tratar de resolverlo, Jonathan Blow, creador de Braid and the Witness, está construyendo activamente un nuevo lenguaje dirigido al juego (Jai) que está diseñado para lidiar primero con los juegos.

C ++ es portátil y se ejecuta en casi todas partes lo suficientemente bien como para que su compatibilidad con el hardware no sea el problema. le permite escribir ensamblador y otras cosas locas a medida que avanza con pocos costos. No es lento cuando se hace correctamente, y es mucho más rápido que la mayoría de las otras opciones. Los problemas de rendimiento en los juegos de gama alta eclipsan a los de la mayoría de los demás campos, ya que están sucediendo muchas cosas, desde la compensación de la red hasta las simulaciones físicas, desde la búsqueda de rutas de IA hasta la descompresión de la textura y la deformación de la malla. Todo esto debe suceder en menos de 16 ms para 60FPS … Este es el tipo de rendimiento que requiere saber por qué te encantan los prefetchers y la recolección automática de basura.

Hay muchas opciones para el idioma en el que escribir los juegos, mientras menos cosas quieras que el juego muestre en tiempo real, más opciones tienes sobre lo que puedes usar. C ++ es la mejor herramienta que tenemos en este momento que cuenta con suficientes personas capacitadas para usar.

No hay mejor idioma. Período.

Si tienes una idea de juego específica con características específicas, entonces probablemente haya un lenguaje ideal y algunas opciones más ideales.

Y, sinceramente, ¿importaría? Lo más probable es que no tenga el conjunto de habilidades para hacer funcionar su propio motor o no estaría preguntando si estaría haciendo. Vas a elegir un motor, lo que significa que estarás limitado en tu elección de idioma. Lo más probable es que vayas a Unity, especialmente si es multiplataforma, por lo que harás C # para el cliente.

Si es un jugador único o un multijugador de nivel LAN (menos de 8 usuarios), entonces tendrá un cliente autorizado y eso será el final.

Si desea escalar más grande, necesitará un servidor dedicado, y eso inicia una pregunta de idioma diferente. Nuevamente, depende de los detalles de lo que está tratando de hacer. ¿Hay un metajuego con un mapa mundial y toneladas de zonas de combate instanciadas? ¿Es solo un gran mapa de 100 personas? Diseños totalmente diferentes.

Sería mejor simplemente hacer algo. Coge Unity y crea un RTS para un solo jugador. Descubre todas las cosas que no sabes para que puedas hacer mejores preguntas para el próximo juego.

La respuesta a su pregunta es … esta es la pregunta incorrecta. La respuesta a su pregunta exacta es que muchos juegos están escritos en una mezcla de C y C ++, pero eso no es lo que necesita saber.

Es completamente raro construir algo en estos días desde cero. En cambio, es común usar bibliotecas y principios que ya están bien establecidos. Por ejemplo, Minecraft está escrito en Java y usa LWJGL. Dependiendo de las bibliotecas (al menos) es bastante estándar de la industria y no usarlas pone un obstáculo frente a usted. ¿Fue Java el idioma correcto para Minecraft? No importa: fue un gran éxito.

Si recién está comenzando, tiene más sentido hacer esto con frameworks; suites de software que están diseñadas en torno a la idea de que vas a producir un juego. Tomemos por ejemplo la plataforma Unity. No digo que sea lo mejor, solo digo que estoy más familiarizado con Pokémon Go. En la plataforma Unity, lo configura, programa en C # y un lenguaje de secuencias de comandos Unity, y luego emite programas en Java para Android, código compilado para iOS y también puede emitir programas de escritorio.

Tiene sentido como nuevo programador comenzar donde los problemas difíciles ya están resueltos para usted.

Entonces, preguntar cuál es el lenguaje de programación correcto es el detalle incorrecto para comenzar su viaje de “programar un videojuego”.

Puedes usar LITERALMENTE CUALQUIER lenguaje de programación. Todos tienen sus propias fortalezas.

Un lenguaje de programación como python es realmente fácil de programar, aunque probablemente sea mucho más lento que las otras opciones.

JavaScript es altamente portátil porque funciona en el sitio web, pero a algunas personas les resulta difícil programar (personalmente me gusta).

Java, C # y la mayoría de los demás lenguajes de código de bytes son más fáciles de programar que C / C ++, pero son más difíciles que los lenguajes de nivel superior como python y JavaScript. También son realmente rápidos y son lo que recomendaría para este proyecto.

C / C ++ son extremadamente rápidos y mucho más difíciles de programar que otros. Si tiene experiencia en programación, podría usar uno de estos, pero aún así le recomendaría que use Java o C #.

Todos estos tienen ventajas y desventajas. Tengo mis propias preferencias pero tú puedes tener las tuyas. ¡Buena suerte!

La respuesta depende en gran medida del juego. La mayoría de los juegos aún están vinculados a recursos, por lo que los lenguajes de bajo nivel como C ++ son comunes. Un juego destinado a admitir una gran cantidad de jugadores concurrentes podría beneficiarse del uso de algo como Erlang (o Erlang combinado con algo de nivel inferior para renderizar, etc.). Me temo que la pregunta realmente no tiene una sola respuesta significativa en su forma general.

Para hacer cualquier juego, el lenguaje más utilizado es C y C ++. Para los juegos móviles pequeños , Java es el más utilizado.

La popularidad de C ++ en la industria de desarrollo de juegos se debe a factores como API, grandes bibliotecas como OpenGL (para 3D) o Allegro, etc. para satisfacer la demanda de su proyecto.

  • Dado que la demanda de juegos 3D está creciendo, C ++ hace frente a estas demandas.
  • Para un control superior sobre hardware, gráficos, dinámica, etc. C ++ sigue siendo ventajoso.
  • Es uno de los lenguajes más flexibles que jamás haya encontrado para el desarrollo de videojuegos.

Para su pregunta

C ++ será el lenguaje de programación más adecuado para RTS o cualquier juego al menos por ahora.

Para libros haga clic aquí.

En mi opinión, debes aprender c ++. Pero no es necesario programar todo el juego en este idioma, puedes usar motores de juego como Unity.

Si quieres hacer un juego desde cero solo en c ++, será un trabajo duro. Usando Unity simplificaste el código.

Buena suerte.