Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Háblame al Chile

–La Verdad sobre CASI Todas las Escuelas de Programación de Videojuegos–

La expresión “Háblame al Chile” se usa en México para pedirle a alguien que nos hable con la verdad , de manera directa y sin rodeos. Y de esa manera voy a hablar esta vez sobre uno de los temas que mas se prestan para hacer chistes crueles en este blog: Las “carreras profesionales” en las que te enseñan a hacer videojuegos.
lo que le espera a los egresados
Y si escribí CASI en el subtítulo fue porque aún no he acabado de investigar a TODAS las escuelas de programación de videojuegos a nivel mundial. Esto es únicamente lo que he encontrado en TODAS las escuelas que he investigado mas o menos de cerca.

Hace unas horas estaba hurgando otros post dedicados a la programación y los juegos de video cuando me encontré con una joyita. Se trata de un blog de ¡Una escuela de programación de Videojuegos! Específicamente de un cierto instituto cuyo nombre incluye la frase “Desarrollo de Videojuegos” Esta escuela es originaria de ese peculiar pais enclavado en el cono sur: ¡Chile! De ahí el peculiar nombre de esta entrada.

Como todos sabemos, los blogs que los maestros hacen para apoyar sus materias no son lo que se dice muy elaborados. No pasan de ser mas que un trozo de texto con fechas de exámenes, entrega de tareas y algunos enlaces a trabajos descargables (que en este caso van a ser objeto de mis burlas). Aunque pensándolo bien creo que no tendré que esforzarme demasiado, pues hay situaciones en que las burlas están de mas y lo único que hace falta es hacer que la gente voltee a ver a la víctima.

Al estar escribiendo esta entrada no puedo dejar de pensar en una de las notas mas divertidas de este blog titulada “El Circo de Pulgas” en la que unos autodenomidandos “programadores profesionales” quisieron hacer un clon de un juego y no pasaron de hacerse mierda entre ellos. De hecho la última vez que quise leer su foro de discusión ya no pude encontrarlo. Lo último que alcancé a leer fue de alguien que intentó deshonrar otra leyenda de los videojuegos de los ochentas usando las mismas técnicas de aficionados. Bueno, ahora que investigué un poco mas sobre esta escuela y di con el plan de estudios no pude aguantarme la risa. Pero solo para que se den una idea de la calidad de los profesionales de la industria, aquí va una comparativa entre el grupo mencionado en El Circo de Pulgas y este curso llamado “Programación Gráfica I”:

                        Circo de Pulgas		        Domadores de Pulgas

Lenguaje usado	        C++				C#

API			SDL				XNA

Hecho por:		Ingenieros titulados		Institución de educación superior

Acabó en:               Pelea entre ellos		Todavia falta lo mejor

Hay algo que no alcanzo a entender de estas carreras profesionales donde te enseñan a hacer videojuegos. Por un lado los 10 semestres que toma una de estas carreras me parecen demasiado tiempo y al mismo tiempo al ver el plan de estudios me parece que este es insuficiente. Si lo comparamos con los 3 años de confinamiento solitario como lo que en sus buenos tiempos se hacía en Digipen (una instalación en donde Nintendo entrenaba a una buena parte de sus ingenieros) una de estas carreras no es lo que se dice muy eficiente a la hora de entrenar ‘profesionales de la industria de los videojuegos’. Sin embargo, desde lo acontecido en la entrada “Esto no tiene nombre” me he encontrado con un sinfin de esta clase de cursos en escuelas de todos los niveles. Desde simples diplomados del tipo “Aprende el lenguaje X programando videojuegos” hasta carreras universitarias del tipo “Ingeniería en diseño y desarrollo de videojuegos, multimedia, artes digitales y animación” aunque a veces pienso que esto no es algo nuevo, pues desde hace ya algunos años había rumores de una escuela llamada “Full Sail”(aunque creo que mas bien debería de llamarse Full Sale) que tenía la mala reputación de cobrar cantidades estratosféricas a cambio de una preparación tan mala que muchas desarrolladoras serias como Electronic Arts simplemente rechazaban las solicitudes de empleo de sus egresados. Creo que este tema amerita un análisis mas serio; pero hasta ahora he notado cierto patrón en los planes de estudios de esta clase de “Carreras Profesionales”:

1.- Ninguna lleva tan siquiera una sola materia de matemáticas (vital para entender algoritmos gráficos)

2.- Solo hay uno o dos semestres de programación y apenas se alcanza a estudiar la sintaxis de algún lenguaje de moda

3.- La mayor parte de las herramientas tanto de programación como de diseño son propietarias.

4.- Hay una serie de materias con nombres tan ambiguos como “videojuegos 1, 2 y 3” o “arte” (aunque yo creo que es mas bien “Harte” con H) que no dejan claro que es lo que se estudia

5.- En las materias de programación mas avanzadas lo único que parecen hacer es aprender a hacer llamadas a bibliotecas (APIs, engines, frameworks o como quiera que les llamen) desde el lenguaje de moda.

6.- Las tareas son cosas tan ridículas como “investiga que motor gráfico” fue usado en la creación de X juego o alguna idiotez por el estilo. Las mejores tareas parecen mas notas de una revista de videojuegos que un trabajo de un auténtico desarrollador

7.- Los proyectos mas avanzados no superan ni en lo técnico ni en lo artístico a los juegos de mediados de los ochentas; pero necesitan una computadora de última genaración con una configuración especial para correr, eso en el caso de que funcionen.

8.- La única carrera de estas donde se menciona algo sobre la programación en Ensamblador ya saben cual es y el nivel que tiene.

Bueno, ya eché mucha agresión para una sola nota. Nada mas para rematar quiero mostrar una captura de pantalla de uno de los videojuegos hechos por el maestro que imparte la materia de Programación Gráfica I, en este demo se destacan sus sorprendentes gráficos pero mas que nada su jugabilidad:

pantallazo

Por cierto, si quien lee esta entrada es el mismo maestro que escribió el blog (o algún otro que se sienta aludido al leer esta entrada) le pido por favor que no se la jale y aprenda a programar de verdad. O por lo menos que descargue el SDK oficial de DirectX (pero el que es para C++ que es el bueno, no el de managed code) si no es capaz de programar una computadora como se debe que es en lenguaje de máquina.

Ahora que lo pienso, a lo mas que podrían aspirar los egresados de este tipo de carreras sería de redactores en alguna revista especializada en juegos de video o como empleados de una tienda de estos. Pues al menos estudian quien hizo tal o cual juego y que elementos contiene. La parte que no soporto es que existan escuelas que cobren cantidades estratosféricas por dar una “preparación” que en el fondo saben que no les va a servir para desarrollar un verdadero juego de última generación y que por otro lado existan empresas “Desarrolladoras” que no sean capaces de desarrollar su propia tecnología para sus juegos. A veces pienso que este tipo de empresas tienen mas que ver con una maquiladora o una franquiciataria del grupo que les licenció la tecnología para crear sus juegos. Y pensar que cuando me decidí a ser programador fue porque programar era una actividad muy barata; aunque parece que lo mas caro de pagar para las empresas actuales son precisamente los programadores.

De acuerdo, aquí se termina la nota. Y sin rencores, si algún maestro de alguna de esas carreras de desarrollo de videojuegos lee esto y quiere cambiar con gusto puede acercarse a este blog y aquí hablamos. Excepto si son de la Universidad de la que me expulsaron porque según mis cálculos no podré poner un pie ahí hasta bien entrado el año 2024. Es mejor que hagan algo con esos planes de estudio porque si no, al salir a “la industria” a sus egresados les van a dar puro Chile.

Noviembre 8, 2009 Publicado por asm86 | Uncategorized | , , | Aún no hay comentarios

Regreso a la Tierra

–Y a eso que llaman “vida normal”–

Esta nota habla de lo ocurrido entre el final de la conferencia de Gráficas por Computadora en el Tecnológico de Zitácuaro y mi no tan feliz regreso a la ciudad de Monterrey Nuevo León.

cerro
Luego de dar por terminada la conferencia y escuchar casi un minuto ininterrumpido de aplausos (se que esto a nadie le importa pero solo quería mencionarlo para fastidiar) tuve una interesante charla con algunos académicos de la propia institución, y mientras se hacían los preparativos para mi viaje de regreso a Monterrey se discutieron un par de temas muy interesantes que intentaré resumir a continuación:

Cursos especiales de Ensamblador

Mas de una vez he hablado de la dificultad de aprender a programar en Ensamblador radica en la dificultad de encontrar información que sea completa y a la vez lo suficientemente actualizada; y lo segundo mas dificil de su enseñanza es que como no se parece a ningún otro lenguaje de programación orientado a humanos (detesto los términos como “lenguajes de alto o bajo nivel”) la gente con experiencia previa se pierde por completo al intentar aprenderlo. Por estas y otras razones que seguido se comentan en este blog, así como por la incapacidad de la mayoría de los estudiantes para leer libros de mas de 200 páginas es que se piensa hacer una especie de capacitación para maestros interesados en impartir la materia de Lenguaje Ensamblador. Aunque este asunto sería, si sale todo bien hasta febrero del 2010.

Pero por ahora, si quien lee este blog pertenece al reducidísimo número de maestros que quieren (o tienen que) impartir la clase de Lenguaje Ensamblador pero nada mas no logran que sus alumnos distingan la diferencia entre el acumulador del CPU y el acumulador de un volkswagen o si aún no salen del 8088 con la misma copia pirata de TASM de inicios de los 90’s que ya no corre en las nuevas computadoras mas que por emulación, lo invito a unirse a este esfuerzo. Basta con que comenten en este blog y yo me encargo del resto. Esta invitación va especialmente dedicada a las escuelas pertenecientes a la Dirección General de Educación Superior Tecnológica (DGEST) a la que pertenece el Tecnológico de Zitácuaro, pues si se logra que este plan sea aceptado por todas las escuelas de este grupo puede que se obtengan importante$ apoyo$ para llevar a cabo este plan. Sin embargo, si pertenecen a alguna otra universidad o instituto público o privado también están invitados a unirse.

Desarrollo de Videojuegos

Puede que la cosa que mas me sorprendió en la visita al Tec de Zitácuaro fue la cantidad de gente (¡casi 5!) verdaderamente interesada en el desarrollo de videojuegos, eso sin contar a los maestros y autoridades que parecen tomar el tema en serio. Entre los que destacan por supuesto el Profesor Mauricio Delgado Pichardo. Si las cosas salen como espero, puede que se abra un “chapter” de la IGDA en ese lugar. Para quienes esta es la primera vez que escuchan este término, la IGDA es la International Game Developers Association y agrupa a las mas importantes (y muchas otras mas o menos desconocidas) empresas de videojuegos a nivel mundial. Desde hace ya años que he intentado entrar a esta asociación pero para empezar el lider del “chapter” mexicano no es lo que se dice el mejor lider y ya dejó morir a la IGDA de México en 2 ocasiones. Además de que para abrir una orgarnización estudiantil necesito de la colaboración de director y maestros. No creo que esto sea demasiado dificil, pues según el sitio de la IGDA de México hay por lo menos ¡22 universidades que cuentan con uno de estos! Mas otras mas que he encontrado investigando y que no aparecen registradas en este sitio. De hecho ya hay una escuela de este grupo que cuenta con un grupo estudiantil registrado ante la IGDA: El Instituto Tecnológico de La Piedad.

hijos de la InGaDA
Sin embargo la situación de la IGDA en México no es lo que se dice muy buena, pues hasta ahora los grupos que he encontrado o no son mas que grupos ya muertos en el mejor de los casos o peor aún, asociados con gente con la que no me llevo muy bien. Creo que si esto se hace habrá de crearse un nuevo “chapter” independiente del de la ciudad de México. Afortunadamente puede haber mas de un grupo por país, o eso creo. Esto necesita mas investigación, aunque no creo que haga falta estar asociados con la IGDA para comenzar a programar. Al final lo que vale es hacer buenos juegos y esos van a hacerse con o sin el apoyo de grupos externos.

De acuerdo, cuando todos esos planes terminaron y el festejo acabó, me preparé para abandonar la ciudad y recorrer el largo camino al aeropuerto. El viaje fue rápido y mas o menos frío. La parte mas triste es que sabía que al pisar suelo regiomontano volvería a ser el mismo perdedor de siempre. De nuevo a levantarme cada mañana y escuchar los reclamos de que deje de programar en ensamblador y obtenga un ‘empleo seguro’ administrando bases de datos, a escuchar como otros hacen felices sus vidas mientras yo me pudro en ese limbo entre el desempleo, el rechazo humano, la ansiedad perpetua y las peleas en los foros de Internet.

En verdad que estoy muy agradecido con todos aquellos que colaboraron para que este evento fuera posible, para mi fue como una de esas historias fantásticas en las que el protagonista encuentra un portal que lo conduce a una dimensión llena de magia y aventuras. Por unas pocas horas fui el personaje que toda mi vida (de programador) quise ser y voy a guardar el reconocimiento que me dieron como uno de mis tesoros, pues este me recordará al verlo en la pared que eso que viví en realidad ocurrió y no fue solo un sueño o una alucinación mía. Supongo que mañana que despierte volveré al mismo horror diario de todos los días pero no me voy a rendir pues dentro de mi sabré que en algún lugar del mundo realmente hay gente que aprecia mis investigaciones sobre la Programación en Lenguaje Ensamblador.

Noviembre 8, 2009 Publicado por asm86 | Uncategorized | , , | Aún no hay comentarios