Curso de Juegos (3)

Curso “Programación de Juegos”

Curso Gratuito.
Entrega 3.


Temario del curso de programación de juegos

Vas a tener que tener paciencia, porque:

a. Este curso es gratuito, así es que le dedico solamente una parte de mi tiempo LIBRE. Lo subiré al momento que considere que la clase está lista. No antes. No después. Espero hacerlo a un ritmo de una clase cada 15 dias.

b. Responderé si tengo tiempo ¿ok? Generalmente tengo poco tiempo, pero te aseguro que la programación me apasiona, así es que si preguntas algo importante, lo más seguro es que te conteste. Si preguntas cuestiones básicas, simplemente te ignoraré.


c. A este mini-curso lo voy desarrollando a medida que escribo sobre las técnicas de programación y es muy probable que vaya mutando con respecto al temario y orden original. A medida que escribo, voy desarrollando los juegos que alcanzarás a ver terminados y descriptos al 100%. Hasta ahora (4 de Mayo de 2016) está escrita toda la Etapa 1 y cerca del 50% de la Etapa 2. Ya tengo bastante código desarrollado.

Temáticamente lo he dividido en estas etapas:






Desde el punto de vista de la programación, las etapas 3 y 4 son las menos interesantes, porque hay una gran cantidad de material sobre graficos 2D y 3D que se puede encontrar en internet.

Como ven, las primeras 3 etapas tienen  la base de programación más interesante desde el punto de vista de la creación de “motores de juegos”, y es allí en donde este curso hará más énfasis.

Herramientas

Nuestra herramienta Basic de primera elección será el viejo Qbasic de Microsoft, elegido por su calidad y difusión masiva. Hay una inmensa cantidad de bibliografía sobre el lenguaje y se conocen en su totalidad las particularidades y bugs.

Personalmente prefiero Basic’s más potentes como TurboBasic o su sucesor PowerBasic (con ensamblador integrado) en cualquiera de sus versiones (consola y GUI), pero para la implementación de las rutinas básicas que usaremos, Qbasic está bien. Pierde un poco de efectividad cuando entramos en entornos gráficos, pero en las Etapas 1, 2 y 3 trabajaremos principalmente en modo texto para no ensuciar didácticamente las clases y mantener el foco en las técnicas de programación.

Qbasic es un intérprete y no linkea ni compila, pero puede ejecutar en tiempo real, así es que es más que suficiente para lo que  nos proponemos.  El único problema es que el entorno ASCII que provee genera textos que no son 100%  compatibles con los entornos visuales actuales, lo que nos llleva a prescindir de acentos y eñes en los fuentes. Algunos caracteres escritos en el IDE Qbasic se alteran si los ves en un editor de textos GUI de windows o linux. Fuera de eso, no hay otro problema.

Si no te gusta el IDE de Qbasic, no hay problema tampoco. Puedes escribir el código en cualquier Procesador / IDE que genere texto ASCII puro y lo grabe con la extensión .BAS, sólo tienes que recordar que algunos caracteres ASCII no se verán exactamente igual en el IDE Qbasic.

Si no te gusta Qbasic en sí mismo, debes saber que trataré de escribir compatibilizando con la mayor cantidad de dialectos basic, usando comandos que tengan equivalencia en otros lenguajes, así te será posible traducirlo rápidamente.

Hoy en dia los lenguajes son muy similares. En la era de la computación hogareña, habían muchas diferencias e incompatibilidades entre los basic, pero eso actualmente ha desaparecido.

Como dije antes, Qbasic no genera .EXE’s. Si deseas compilar los programas que crearemos, puedes usar el hermano mayor QuickBasic 4.5. El exitoso compilador de Microsoft, cuyo original aún atesoro en mi biblioteca junto a otros originales de lenguajes en los que sigo programando. (He dejado de programar profesionalmente, pero aún soy un fanático del codigo)

Con respecto a Qbasic o QuickBasic, debo decirte que el primer impulso de los programadores jóvenes o nóveles es “modernizarse” usando un compilador moderno compatible, y eso los lleva a tratar de usar QB64.

No me malinterpretes. QB64 es un EXCELENTE compilador basic compatible con Qbasic. En realidad lo consideraría más un intérprete que un compilador. Pero lo importante ahora para nosotros es esto: su comportamiento no es 100% igual a Qbasic para ciertos comandos e instrucciones.

Si usas algunas rutinas de este curso en QB64 verás que los programas se comportarán de modo diferente y deberás hacer correcciones para ajustar esos comportamientos indeseados.

Si no quieres perder tiempo, no lo uses. La idea es que no te “distraigas” re-escribiendo código porque lo que quiero es que te concentres en lo que irás aprendiendo clase a clase, sin pérdidas de tiempo extras.

También es importante para el aprendizaje que veas exactamente lo que yo veo en la pantalla para que comprendas todos los razonamientos que haremos juntos en el paso a paso de cada clase.

Te preparé un DosBox con el intérprete Qbasic ya listo para que lo ejecutes desde tu PC. Baja el comprimido .RAR, se descomprimirá dentro de una carpeta llamada Basic que dentro contendrá una sub-carpeta llama FUENTES, en donde econtrarás el intérprete y el archivo de ayuda del lenguaje. Allí podrás grabar los fuentes que te entregaré en cada clase para dar seguimiento a las lecciones.

Cuando descomprimas el paquete, ejecuta el archivo QBasic.cmd que iniciará DosBox y automáticamente arrancará el IDE Qbasic.

Descarga Qbasic+DosBox desde aquí.


----------------------------------------------------------------------


Share:

Curso de juegos (2)

Curso “Programación de Juegos”

Curso Gratuito.
Entrega 2.


 

Método de enseñanza de este curso. ¿A quiénes va dirigido este curso?

En este curso vamos a asumir que ya eres PROGRAMADOR BASICO.

No vamos a hablar de tipos de variables, no explicaremos que diferencia una rutina de una función, porqué una variable se declara local o global, que es un array de datos uni o multidimensional, cuáles son los modos de pantalla soportados por los lenguajes, como funcionan los bucles, para que sirve una estructura de selección ni lo que es una herencia o una clase. No explicaré qué es un intérprete o un compilador ni para qué sirve un run-time o un framework.

Nada de eso. Si no lo sabes, aprende por tus medios y regresa cuando estés preparado. Nada de eso será explicado porque en estas notas eso se da por sabido.

Este curso es SOLO PARA PROGRAMADORES.

Si necesitas aprender a programar Y SER UN PROGRAMADOR COMPLETO, te aconsejo empezar con PSEINT, seguir con algún Basic (cualquiera), escalar a Java empezando desde NetBeans y siguiendo por Android Estudio, darte una pasada por C++ (Pelles C++ es mi preferido) y terminar en MASM32.

EN ESE ORDEN. Puedes alterarlo, claro, pero te será más difícil si alteras el orden. No me explayaré en explicarte la necesidad de aprender TODOS esos lenguajes ni porqué el orden adecuado es importante.

Descarta cualquier RAD. Desecha VisualBasic, Visual.Net, C# y Azure. No te aportarán NADA y sólo te harán DEPENDIENTE DE LOS CAPRICHOS DE Microsoft. Considéralos sólo si quieres crear aplicaciones empresariales en la nube que dependan de Microsoft. Si no es de tu interés, descártalos hasta que los necesites. Son lenguajes de aprendizaje rápido muy sencillos de aprender para un PROGRAMADOR BASICO y en EXTREMO DEPENDIENTES DE API’s y Run-Times.

¿ Cuál es el mejor lenguaje para programar juegos ?

La pregunta del millón.

Esto es parecido al fanatismo propio de los que dicen “Linux es el mejor sistema operativo porque es más seguro” o “Windows es el sistema operativo adoptado por millones y tiene fallas”

Gran error por ignorancia. Si a Linux lo programa un inútil tendrá miles de agujeros de seguridad. Si a Windows lo programa un experto en seguridad será prácticamente invulnerable.

No hay un lenguaje mejor o peor que otro. El programador debe elegir el lenguaje de acuerdo al proyecto que pretenda programar.

Hay lenguajes que se llevan mejor con el bajo nivel, hay proyectos que no necesitan bajo nivel. Hay juegos que necesitan gráficos de alta resolución y gran frecuencia de refrescos de pantalla, hay juegos que no necesitan refrescos ni gráficos.

Pero sí hay programadores malos y programadores buenos. Y la inteligencia debe estar del lado del programador, no del lenguaje ni del equipo. O por lo menos, debería estarlo.
En este mini-curso, usaremos básicamente cualquier lenguaje requerido para mostrar la técnica que se pretende enseñar. Es decir, usaremos lo mejor que podamos de acuerdo a lo que pretendemos lograr.

----------------------------------------------------------------------
Curso Gratuito de Programación de VideoJuegos

  1. Introducción

  2. A quienes va dirigido el curso
  3.Temario del curso / Herramientas
  4.Primer programa (codigo fuente) 
 
  ----------------------------------------------------------------------

Share:

Buscar

Popular

Vistas de página en total