Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

Informe asm86[006]

–3D, Ciencia de Revista y Vividores–

En Noviembre del 2010 escribí el último informe asm86. Había decidido ya no escribirlos para ya no quitarle el tiempo a la gente que lee estos escritos en busca de programación en ensamblador. He decidido retomarlos para mantener informados a los lectores de cambios y demás cosas intrascendentes. Por lo que pueden perfectamente ignorar estas entradas si lo que buscan es programación.


¿Y la serie de Programacion Gráfica?

El tema de hoy es sobre la serie de programación gráfica que inicié desde octubre del 2011. La verdad es que esa serie resultó ser mucho mas extensa de lo que pensaba. Tanto así que una de cada nueve entradas escritas en toda la historia de este blog pertenecen a esa serie. Por si fuera poco, aunque esto no se si es bueno o malo. Muchos estudiantes que por lo que se ve ni siquiera han terminado la secundaria encuentran las explicaciones de esa serie muy útiles para hacer sus tareas de física. Espero que al menos esas entradas les inspiren a estudiar algo con valor científico o por lo menos los interese por las matemáticas. En fin, quiero suspender esa serie y rematarla con unos pocos ejercicios prácticos. De ese modo podrán usarla para sus cursos en las nuevas carreras de desarrollo de videojuegos que tanto están proliferando en latinoamércia. Puede que no sean tan valiosas como la visita anual de un instructor certificado en el uso del último y mas costoso paquete de diseño pero para los 3 o 4 que si quieren programar de verdad y no solamente hacer prácticas profesionales (o internships si no es escuela pública) seguro encontrarán esa serie como algo valioso.

Se lo que muchos de ustedes han de estar pensando. Que esperaban que esa serie les dijera como hacer un videojuego 3D de última generación. Lamento decirles que eso no es algo que se aprenda en unas pocas semanas leyendo unas cuantas docenas de notas en internet. Yo mismo llevo estudiando estas cosas desde 1997. Año en el que una buena parte de los que leen este blog (sobre todo los que vienen para que les ayuden con la tarea) ni siquiera habían nacido. Por si fuera poco, en esa serie no quise incluir nada de código de ningún lenguaje para evitar que se convirtiera en otra colección de llamadas a API y scripts de engine que tanto abundan hoy en internet sobre todo en las páginas de los “profesionales” del videojuegos. Y algunas ni a eso llegan.

El verdadero propósito de la serie de programación gráfica para principiantes fue inducirlos a lo que es en realidad la programación gráfica: Matemáticas. En realidad desde la primera entrada donde decía que solo necesitaban lapiz, papel y calculadora hasta la última en la que se generan vistas arbitrarias de una escena en 3D no necesitamos mas poder que el de una calculadora escolar. O una hoja de cálculo si es que no tienen mucha paciencia. Suponiendo que supieran la suficiente programación para conectar puntos con lineas rectas y conocieran los algoritmos mas elementales de programación de videojuegos lo mas avanzado que podrían hacer sería un videojuego como el de la imagen que acompaña esta entrada. Un juego vectorial de Star Wars creado en 1983. O también pueden tomar un engine y usarlo con un mínimo conocimiento de lo que están haciendo. Pues es para darse un facepalm ver como desarrollladores autodenominados profesionales tienen problemas tan tontos como el de que las unidades terrestres no se quedan pegadas al piso o que las cámaras nunca hacen las tomas que quieren.

En fin, no dejo de sentirme como un troll por este asunto así que les adelantaré que van a necesitar hacer por lo menos una multiplicación de matrices con el lenguaje de programación que ustedes mejor entiendan o que usen una hoja de cálculo porque en las últimas entradas vamos a ver como se diseña una escena vectorial y se le toman “fotografías” en diferentes partes del espacio. Ya en el futuro lejano veré si continuo en una segunda serie donde trate temas como iluminación, detalle de superficie, eliminación de partes ocultas o técnicas de animación. Pero eso será muy en el futuro, pues primero tengo que explicarles conceptos matemáticos que no hemos visto como funciones, cálculo vectorial, derivadas parciales y otras cosas que mejor no les platico para que no se decepcionen desde ahora. Espero que con esta primera serie que está virtualmente terminada (ya no va a haber temas nuevos sino solo practicar lo ya visto) sean por lo menos capaces de entender lo que es la verdadera programación gráfica y desarrollen sus propias cosas. Ahora pasemos con temas menos tecnológicos.

Los Vividores de la Ciencia

Existe la leyenda de cierto ejército cuyo nombre está prohibido mencionar en Internet había logrado increibles avances científicos en un período tan corto que hasta hoy en día hay quien asegura que habían recibido ayuda de los extraterrestres. Cuando les preguntaron a sus ingenieros como habían logrado tanto en tan poco tiempo mencionaban que la única diferencia era que su ciencia era diferente a la que acostumbraban hacer sus enemigos. Y que por desgracia es como se hace la ciencia hoy. Ellos aseguraban que la manera equivocada de hacer ciencia era hacerla demasiado teórica. Cuando la ciencia es demasiado teórica y poco práctica el resultado es que tenemos a un grupo enorme de personas que cuesta mucho mantener y que no producen bienes útiles ni comercializables fuera de unas pocas publicaciones que solo unos pocos intelectuales en el planeta entienden. Ellos decían que no podía invertirse dinero real en una ciencia teórica y que trabajando de este modo podían pasar generaciones antes de obtener verdaderos avances. Tal vez fue por la esperanza de terminar un arma que evitara su inminente derrota o que sus ideas sobre la ciencia fueran ciertas. El asunto es que ese modo parasitario de hacer ciencia, que para evitarme problemas voy a llamar “Ciencia de Revista” parece estarse extendiendo en latinoamérica en eso que ahora llaman desarrollo de videojuegos. Y no parece ser que sea con el inocente fin de “impulsar el conocimiento” que unos pocos académicos persiguen. Mas parece un plan de grupos bien definidos para hacerse de dinero facil y mano de obra barata.

Estos grupos usan las universidades como fuente de mano de obra casi regalada y para ahorrarse obligaciones legales. Esto no es nuevo y lleva haciéndose desde hace bastante. Lo que me entristece es que con ese pretexto se están perdiendo valiosos recursos. De hecho se rumorea que grandes eventos de eso que ahora llaman “geeks” se hacían tan solo para sacarle dinero al gobierno y a los patrocinadores ahora ya no van a ser tan grandes. Creo que alguien ya se está dando cuenta de que las empresas que dicen apoyar a impulsar no están rindiendo como negocios ni pagando los impuestos que deberían de pagar por haber ayudado a su creación. Yo propongo que el conocimiento debe de ser libre y que las empresas de videojuegos en latinoamérica deben de ajustarse a las mismas reglas que el resto de las empresas de la región. Eso de darles dinero del gobierno por proyectos no redituables hechos por adolescentes que se la pasan todo el día chateando en Facebook no es la forma de fomentar el desarrollo tecnológico y mucho menos cuando el salario de estos ‘trabajadores’ no alcanza los niveles mínimos con el pretexto de que se trata de ‘internships’. Estos grupos ni siquiera están fomentando el empleo porque solo contratan a gente de círculos muy pero muy elitistas y no precisamente porque sean los mejores. Y a los pocos que contratan ni siquiera se trata de empleos permanentes pues rara vez trabajan por mas de 2 años seguidos. Espero que si algún funcionario público encargado de darle dinero a estos vividores lee esto recapacite y mejor utilice ese dinero para mejorar la infraestructura de comunicaciones digitales que buena falta hace en latinoamérica. Sobre todo la de las universidades públicas porque es una verguenza que los estudiantes no puedan tener acceso a Internet luego de haberse gastado el cheque de todo un mes en el enganche de sus netbooks a crédito.

Por ahora los dejo y mejor me pongo a programar, que tengo mucho que leer y como recordarán la lectura es la tarea en la que un programador invierte mas horas.

Anuncios

abril 22, 2012 - Posted by | Uncategorized | , , ,

1 comentario »

  1. Que bien encontrar gente con interés en programar en ensamblador.
    Estoy buscando una persona con interés en programar conjuntamente bajo x86, FASM y SDL, sobre cualquier tipo de aplicación. Cualquier contacto en javier.correoe@yahoo.es

    Comentario por Javier | junio 10, 2013 | Responder


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: