@ agnasg

agnasg


El almuerzo desnudo

16-04-2008 4:52 PM

Esto debería estar en el tractac, pero lo voy a colocar aquí por ahora, parece que hay una competencia entre mi editorial y mis otros escritos. Como yo no tengo ninguna preferencia particular, lo coloco aquí… sin mayor análisis. Esto es ‘*’, es decir, aplica a todo, incluyendo desarrollo de juegos, amores no correspondidos, novias(os) del pasado, amistades mal entendidas, un sí, un no, un sol arrogante en las montañas, una luna mustia entre las nubes del crepúsculo. O sea, todo.

El almuerzo desnudo

Ese terrible, desconsolador momento en que descubrimos no solamente lo que tenemos en la punta del tenedor [1], sino, peor aún, lo que hay en la punta del tenedor de los otros comensales en la mesa. Ese gélido instante en la medianoche, o quizás, cuando faltan dos o tres horas para el amanecer, cuando un frío te paraliza el ánimo, intentas calentar tus entumecidas manos, te frotas los ojos, tratas de mirar en la oscuridad, y entonces recuerdas… El triste momento en que debes reconocer la realidad. Tus pensamientos recorren todos tus esfuerzos para escapar de ella. Las veces que volteaste la mirada. Todas las veces que cambiaste de conversación. Cuando sacudías el periódico con displicencia como si el mundo fuese un mundo perfecto. Cuando carraspeabas como si los problemas fuesen una simple molestia en la garganta que con un carraspeo, o un vaso de agua desaparece. Cuando hablabas del futuro o del pasado, como si el presente, el presente, el hoy, fuese algo transitorio, como si en realidad todo lo que sucede mientras hablas muy ufano no tuviera importancia, como si todo lo que sucede en tu devenir es irrelevante, es el futuro, es el pasado lo importante, ahí están, dices, casi como si creyeras la patraña, ahí están, repites, el acervo de una vida, la irreverencia del éx
ito logrado a través del esfuerzo que nadie más, ni siquiera tú puedes emular, y ahí están los palacios conquistados y por conquistar, ahí están y queda el desfile triunfal, el cuchicheo entre el público que te observa con admiración y satisfacción por verte caminar la nave central de tu palacio. Triunfante, radiante, un puñado de doncellas rocían pétalos anaranjados y violeta a tu paso. Una guirnalda adorna tu frente, y nadie se atreve a murmurar en tu oído: “recuerda que sólo eres un mortal”. Todo, todo, las doncellas, el palacio, las guirnaldas y los pétalos, todo desaparece ante tus ojos en el estertor repentino de un gas intestinal. Y entonces contemplas una vez más lo que tienes en la punta de tu tenedor. Y te preguntas, perplejo, ¿como he podido pasar tanto tiempo comiendo este estiércol? Es el momento cuando una gota de sudor helada te recorre la espalda: con una resolución implacable debes asumir la tarea de desperezarte, olvidar los pensamientos de grandezas pasadas y futuras y ponerte a trabajar el día. Para que la próxima vez puedas meterte el tenedor en la boca no solamente con tranquilidad, sino con fruición.

Mi Roguelike update:

Esta semana trabajé unas 6 horas. Incluyendo 3 horas esta mañana en el turno 3am 6am. ¿Resultados? Implementé dos comandos: pick a object (recoger un objeto) y drop (tirar un objeto). También eliminé 3 bugs. Me faltan por implementar Quaff a potion (beber una poción), Eat (comer), Read a scroll (leer un pergamino), Wear/Wield an item (ponerse armadura y empuñar un arma). Exchange weapon (intercambiar arma), Take off an item (quitarse una armadura, casco, etc) y Score (Puntaje). Falta implementar dos misiones y un recorrido por un bosque. No salgo de mi asombro por la complejidad de un simple juego como este.
Enlaces

  • ¿Siempre has sospechado que eres un genio pero nadie quiere reconocerlo? Aquí tienes un juego para que afrontes la realidad y te desenga
    ñes de una vez y por todas. Trata de identificar más de 4 patrones por minuto. Decepción garantizada. Enlace.
  • Este es un juego bien divertido para practicar nuestros conocimientos de geografía. Llegué al nivel 7 sin problemas, pero entonces, se pone difícil. ¿Dónde queda Fairbanks?. ¿California? ¿Utah? Nope. Alaska. Enlace.
  • Una de las cosas que más me da risa de internet (la mayoría del tiempo encuentro cosas en internet que son risibles, o patéticas) son los comentarios que la gente coloca en los blogs. En esta página (donde se habla de 6 cultos regularmente desconocidos que podrían ser en realidad bien divertidos) dos idiotas comienzan a ofenderse de una forma tan ridícula que al final lo que ocasiona es hilaridad.
  • El más malvado mecanismo de todo ambiente gráfico para los programadores es copy and paste (copiar y pegar). Errores como Analize (src, src) cuando debería decir Analize (src, dst) son tan comunes que tengo una nota en mi monitor que dice “Revisa el copy-paste que acabas de hacer”. Digo que son malvado porque son errores invisibles. En esa lista está for (j = i… en vez de for (j = 1 y el nefasto j= men en vez de j=mem;
  • Todos los años se venden 75 millones de juegos en USA. De ellos, 28 millones son juegos nuevos, el resto son juegos usados. No importa cómo analizamos estos números, el mercado de los juegos es grande. Gamasutra.
  • Una hermosa respuesta a la pregunta: cuál lenguaje debo aprender, Schema o Lisp.
  • La inflación en Zimbabue llegó a 100.000% (lo que significa que 1 dólar USA cuesta 30.000.000 dólares zimbabuenses) así que desde el momento en que agarras un objeto en un supermercado (si es que eso existe allá) hasta el momento en que lo vas a pagar probablemente ya ha duplicado su precio. Mientras tanto su “presidente” no reconoce los resultados de las elecciones (o mejor dicho sólo él sabe los resultados) y se prepara para declararle la guerra a su propio pueblo. Enlace.
  • Gartner dice que Windows está colapsando, y que la situación es insostenible. Qué sorpresa. (Gartner es una consultora que emite regularmente análisis de mercado, de productos y tendencias, similar a Forrester Research)
  • Por qué usamos C++ para desarrollar juegos. No tiene sustituto (y sustituirlo es costoso y doloroso), es flexible, rápido, puede hacer lo que cualquier otro lenguaje puede hacer, puede comportarse como un lenguaje de alto o bajo nivel. Es sin embargo, un arma peligrosisima en manos de una desarrollador inexperto. C++ es un lenguaje solamente para programadores expertos.

¿Cuáles juegos estoy jugando en este momento?

07-04-2008 5:17 AM
  • Aces High II, un simulador de vuelo ambientado en la segunda guerra mundial. No soy un experto en la materia pero creo que tiene casi todos los modelos de aviones utilizados por los aliados en esa guerra (no tiene los Mitsubishi que usaban los kamikase japoneses). Es bastante fidedigno, le faltan las ayudas de MSFS por lo que es bien dificil de dominar.
  • BatMUD, es un MUD como otros que he jugado en el pasado (Towers of Jadri, aardwolf). Tiene una excelente interfase gráfica que facilita bastante el juego. Lamentablemente está implementada en java y tarda 3 tasas de café en cargar. Casi tanto como Windows. Apenas estoy comenzando así que todavía no puedo dar una opinión. Este tipo de juegos requieren al menos unas 20-30 horas más o menos para formarse una idea de si es bueno o malo. Es como aquéllos libros de James Michener (Chesapeake), que luego de la página 100 es que comenzaban a ponerse interesantes. Según Wikipedia (volviendo al tema) BatMUD tiene 30mil suscripciones, y es, quizás, el MUD más antiguo que continúa vivo, porque anda suelto desde 1990. En este momento, segun el manual “getting started”, tiene 12885 rooms.
  • Dejé de jugar Tribal Wars. No creo que el juego esté desbalanceado, sin
    o que para poder avanzar y llegar a más de 50mil puntos tienes que ser un jugador muy experimentado en los intrilinguis del juego. Es decir, está balanceado para jugadores con mucha experiencia de juego. Un novato eventualmente será conquistado por los jugadores más avanzados. Requiere también bastante dedicación. No es un juego para el jugador casual. requiere mucho más tiempo del que yo le puedo dedicar. Es como World of Warcraft. Es un juego que requiere no menos de 3 horas diarias o 20 horas semanales para jugarlo correctamente.

Enlaces

  • Estamos viviendo es un extraño mundo, donde el Rupee, la moneda de curso legal en Hirule, la tierra de La Leyenda de Zelda, es más sólida que el dólar americano. Los oficiales de la Reserva Federal de US podrían aprender una cosa, o dos, sobre cómo llevar una economía estable, jugando este y otros juegos (Sim City por ejemplo, donde la equivalencia es 1US$=$0.001 Sim City).

Hoy un roguelike… mañana el mundo

01-04-2008 5:55 AM

Mi primer roguelike continúa su avance. La historia está lista, y solo me falta implementar la fase final de la misión. Los elementos básicos del juego, están listos. Esta es la fase más peligrosa del desarrollo de un juego por mí. Cuando veo que está casi listo, normalmente pierdo interés por él y lo abandono. Es algo así como un síndrome patológico de acumular juegos casi terminados. Mi baúl de zombies, como lo llamo yo, está lleno de todo tipo de engendros.

Esta vez, sin embargo, tengo un estrategia para superar mi síndrome. En realidad este roguelike es parte de un desarrollo posterior. Así que, en realidad, no he terminado. Apenas estoy al 40% del desarrollo (¿40%? eso sí es interesante). Todo este desarrollo me va a permitir la generación de niveles y la lógica de npcs, misiones y combate de mi MMORPG. Porque de hecho es lo mismo. Lo que cambiá es la plataforma gráfica y la interfase para el usuario. Todo el motor interno, es el mismo. El sistema de inventario, el módulo de inteligencia artificial, el manejo de misiones. Todo igual. De esta forma la programación se hace paso a paso, logrando lo que en teoría de ventas se llaman victorias tempranas. Este procedimiento de desarrollo oculto e inconsciente me permitirá hacer un desarrollo modular, que es, al fin y al cabo, la forma como se desarrollan sistemas de alta complejidad.

Este es un buen dato. Si quieres programar un juego de ajedrez, comienza programando tic-tac-toe. Si quieres programar un juego de tennis, programa primero un juego de pong. Parecen diferentes, pero desde el punto de vista de programación es lo mismo. Solo que utilizando esta estrategia tienes garantizado el éxito.

Así que aunque mi roguelike está casi listo, no he terminado. No he terminado. No he terminado. No he terminado. No he terminado. No he terminado.
Enlaces

  • Robots… falta poco.
  • El pasado 19 de marzo, mientras organizaba un viaje al centro del país falleció Arthur C. Clarke. Leí todas sus obras de la primera etapa, siendo Cita con Rama la que más me influyó. Notable también es Fuentes del Paraíso donde desarrolla la idea del ascensor espacial.
  • Como mencioné en mi post anterior, he estado trabajando con Flex-ActionScript 3 durante un tiempo para hacer algunos componentes para páginas guep (web en oriental, un dialecto del oriente de venezuela). La experiencia fue aterradora (algo así como que te extraigan una prótesis dental de las que se suponen son para toda la vida). Curiosamente no estoy solo. John Romero (wikipedia) experimentó algo similar al tratar de programar un simple programa en AS. Lamentablemente para él, no leyó en el manual que el nombre del archivo debe ser igual al nombre del clase que contiene, por lo que pasó una hora googleando inútilmente. Yo sí leí eso en el manual a tiempo, así que lo resolví rápidamente. El mensaje de error es inútil, porque dice algo así como “llamada a un objeto posiblemente indefinido”, lo cual puede ser cualquier cosa. Lo mismo hubiese sido “tienes un error en tu programa”. Por mi parte no sé en esto momento si voy a co
    ntinuar con Flex-AS. Me preocuparé de eso mañana.

Algo de historia, sánscrito y Adobe Flex

14-03-2008 8:04 PM

Mi primera computadora fue una Commodore Amiga: la mejor computadora que he tenido en mis manos. Un sistema de ventanas más avanzado que el de WinXP, y estamos hablando de 1988. Multiprocesador. Sí, 1988. Sonido stereo, procesador gráfico dedicado, multitasking real, etc, etc, etc. Era mejor en su momento que la Macintosh, y, por su puesto, que aquél elefante rosado bailando tap llamado IBM PC XT. Sin embargo, nunca llegó a tener más del 1% del mercado, por lo que en cierta forma fuí un paria de la computación durante 9 años. Me convertí en un hacker de su sistema operativo, programaba en assembler 68000, y conocía a fondo su arquitectura. En cierta forma era un experto en sánscrito: realmente admirable, pero inútil.
Esta experiencia con la Amiga me llevó a adoptar una conducta recelosa con las nuevas tecnologías. Normalmente trato de seguir a un mentor. Es decir, no importa cuál es mi decisión respecto a una nueva herramienta, aplicación, equipo: si alguien reconocido y a quien yo considero acertado usa esa tecnología, entonces yo estudio la posibilidad de usarla también. El que Niko (el programador detrás de Irllicht) esté usando Flex, es un buen indicador para mi de que es una tecnología que puedo considerar en utilizar. Además, Sap, Google y HP la están usando para mejorar sus interfases (fuente), lo que es un indicador adicional de que no es solamente propaganda lo que hay detrás de esta tecnología.

Yo me he tomado mi tiempo para comenzar a trabajar con flash. Como programador web flash es mandatory. Sin embargo, yo he estado retrasando su adopción por múltiples motivos. Pero flex resulta tentador. Un SDK. Una consistente plataforma. Y una extensa documentación.

Para alguien que no conoce, o conoce poco la combinación Flex-Flash-ActionScript, tratar de hacer un programa Hello World es como escribir un soneto en sánscrito. Es mollejudamente jodido (es una expresión de la región occidental de venezuela que traducida al español significa que es algo muy difícil. Curiosamente el diccionario de google la acepta como válida). Este tipo de experiencias me recuerdan una presentación a la que asistí donde hablaban de Motif, un ambiente de ventanas. El primer programador que hizo un programa para ese ambiente de ventanas fue el último: el resto lo que hizo fue copiarse. Hay ciertos ambientes que resultan como APL: un lenguaje de programación write only: es imposible entenderlo. Yo todavía no he desistido pero mis experiencias han sido desalentadoras hasta ahora.