Ir al contenido principal

Escoger un lenguaje de programación

Una de las primeras preguntas que se hacen los que quieren iniciarse en la programación de juegos es qué lenguaje es el más adecuado. Un consejo, si aún no has aprendido un lenguaje, para empezer no deberías estar pensando en programar juegos. Pero como sé que van a ignorar esta advertencia pues seguimos adelante. En realidad puedes hacer un juego en casi cualquier lenguaje, hasta en ensamblador. Pero hay varias opciones que son más adecuadas que las demás.
La elección de las mayorías es C/C++. C genera un código bien optimizado, lo que se traduce en ejecutables muy rápidos. Es portable, hay compiladores de C para cualquier plataforma que te puedas imaginar. La mayoría de las bibliotecas están hechas en C, aunque los proyectos más importantes siempre cuentan con enlaces a otros lenguajes. Su mayor desventaja es que es más molesto de aprender que los demás lenguajes, pero hay un detalle y es que no necesitas conocer a fondo todos los puntos oscuros de C para poder desarrollar con cierta eficiencia. Es el camino largo y difícil, pero vale la pena al final. Además, suena muy bien decir "programo en C". Es como decir que hablas chino o eres maestro de kung fu.
Otra opción es Java. Pero Java es ejecutado por una máquina virtual y puede ser lento. Mis experiencias como usuario de aplicaciones Java no ha sido muy gratificante, sin mencionar que no es parte de un sistema estándar, ni windows ni de la mayoría de las distros linux (luego hablaré acerca de por qué debes evitar las dependencias exóticas). Es recomendable si quieres hacer algo basado en web. Al igual que C, es muy portable.
Ultimamente Python se está haciendo muy popular. Su mayor desventaja es ser interpretado. En Windows puede compilarse a ejecutable. Es más fácil de aprender que C y el tiempo de desarrollo es menor, lo que lo hace muy atractivo. Posee sus propias bibliotecas como PyGame y Soya3d. En general es la mejor opción si quieres partir de cero y llegar a algo rápido.
Estos tres lenguajes disponen de un buen arsenal de bibliotecas, ya sean orientadas a la creación de juegos o auxiliares, y cumplen la condición de permitir desarrollo multiplataforma. Mi elección personal es C/C++, pero siempre es bueno probar varios lenguajes y ver con cuál nos va mejor.
Es muy importante además familiarizarnos con algún lenguaje adicional que sirva para hacer scripting incrustado. Yo uso Lua, Python es nuevamente una opción en esta categoría, aunque algunos (yo incluido) lo consideran un poco pesado.

Tags: ,

Comentarios

Entradas populares de este blog

Un poco de nostalgia: juegos retro

El Laberinto del Saber es un juego desarrollaod en Cuba a finales de los 80 o algo así, para MS-DOS. Aquí pueden verlo en acción:

Desde hace un buen tiempo que quiero hacer un remake moderno orientado principalmente a plataformas móviles, al principio lo intenté con SDL 2, pero luego decidí usar un motor decente. Entre Godot y Unity3d me decanté por el último, para no invertir tiempo en aprender una herramienta que no me serviría para hacer más juegos.
Sin embargo, el proyecto ya acumula unos seis meses de atraso por diversas razones, y ni siquiera tengo una imagen para mostrar. Así queni hablar de fecha de lanzamiento.

Unity 5.4 está aquí

Y no trae la herramienta de edición de cinemáticas, como esperaba. Al menos, no se hace referencia a ella en las notas de lanzamiento.
Justamente acabo de lograr descargar la 5.3.5, la cual ha sido bastante decepcionante. El MonoDevelop que incluye ha dejado de sugerir el autocompletado para los miembros de algunas clases (me queda por definir cuándo lo hace y cuándo no) y además el precalculado de la iluminación global me suelta una docena de advertencias, aparte de que me ha obligado a recalcular las luces dos veces. Y eso toma bastante tiempo.
Aún no sé si podré echarle el guante a la 5.4, y tampoco es que tenga mucho interés. Aunque supongo que peor no va a ponerse, y quizás hasta se arreglen las cosas.
Por suerte, no estoy programando mucho. Las últimas páginas de la cuarta novela me tienen  bastante ocupado, y también le estoy echando un vistazo a la historia del juego. Sin embargo, eso no será para siempre, en algún momento de esta semana tengo que seguir puliendo el sistema …

Leyendo a Sapkowsky

Este es uno de mis escritores favoritos y es lamentable que haya tan poco de él en español. Aunque hay que reconocer que Andrzej Sapkowsky no ha sido tan prolífico.
A Sapkowsky le basta con su saga de Geralt de Rivia para ser una figura de renombre en la literatura fantástica. La fama de los juegos basados en el personaje del brujo Geralt, me parece, no le han acarreado una fama enorme, porque muchos olvidan (o simplemente no se interesan en averiguar) que el Wiedźmin no fue creado por CD Projekt RED.Por suerte, como les decía, entre los lectores ya Sapkowsky era un referente aún antes de que salieran los juegos.
Tenía entendido que estaba trabajando otra serie de libros, basados en las Guerras Husitas, así que hace poco decidí buscar si ya estaban disponibles en español. Y resulta, que además de los dos libros de dicha saga, me encontré Víbora, un tercero completamente distinto, ambientado en Afganistán durante la invasión soviética.
No obstante, no es de eso que quiero hablarles, sin…