Ha pasado, ya, una semana del concurso que comenté en la anterior entrada.  Todavía no he empezado a codificar nada, pero eso no quiere decir que no haya empezado.

Esta semana, aparte de pensar cómo será el juego, he estado planificando, escribiendo y haciendo esquemas y diagramas.  Mirad, mirad:


Mi mesa hace unos minutos.

Planificar es algo que debería hacerse siempre antes de empezar a programar, pero por desgracia no puedo hacerlo en el trabajo casi nunca porque dice mi jefe que tardo mucho.  Y es verdad que se tarda más, pero es que a la larga ahorra mucho trabajo.  Perder el tiempo haciendo y repitiendo esquemas permite darse cuenta de dónde van a estar los problemas antes de toparse con ellos, y casi siempre ayuda a encontrar la solución mucho antes de escribir una línea.

Por ejemplo, si os fijáis en la foto que he puesto (pulsad encima para verla más grande, incluso la tecla "Ctrl" y, sin soltar, la tecla "más (+)") veréis que en las dos hojas de arriba a la izquierda hay dibujado un monigote de palos.  Esto es porque estudiando cómo dibujar y manejar los personajes, el primer sistema que pensé no me convenció y según lo he cambiado he ido encontrando problemas o cosas que luego me darían problemas.  Si hubiera empezado a programar sin hacer esos esquemas me hubiera encontrado inconvenientes a la hora de comprobar las colisiones del jugador y los enemigos con las armas, entre ellos y con el entorno (paredes, muebles, etc.).  Hubiera encontrado una solución, sí, pero es que la mejor que he encontrado me hubiera obligado a reescribir prácticamente todo el sistema de dibujado y de colisiones, lo que hubiera sido tiempo perdido.

En definitiva:  procurad dedicar un tiempo a la planificación antes de hacer cualquier cosa, no sólo programar.  Os facilitará la vida.

Por cierto:  El juego se titulará Duke of Dragonfear: Deathland, como homenaje a un juego escrito en BASIC por Tim Hartnell, con cuyos libros aprendí mucho de programación.  A ver si en lo próximo que escriba os puedo enseñar ya algo.

Vaya, pues sí hace tiempo que no escribo.  Estos dos meses han sido un poco locura, principalmente por temas de trabajo, y no me apetecía escribir. Y ahora no me apetece hablar de ello sino de otra cosa

La web Pascal Game Development convocó el concurso 1st PGD Challenge: Simple Controller, y he pensado en participar.  Hay que hacer un juego en tres semanas y la norma es que el juego ha de usar un "mando clásico", es decir, cuatro direcciones y cuatro botones.  Así que nada de ratones, pantallas táctiles, potenciómetros, giroscopios, detectores de movimiento ni cosas raras.  Personalmente me encanta la idea porque me recuerda a los juegos de los salones recreativos de mi época de jugón.

Sin embargo, en los tres días que llevamos de concurso (empezó el viernes) no se me ha ocurrido nada lo suficientemente simple como para hacerlo en tres semanas.  Así que he echado mano del Spin-o-matic que usan en el concurso SpeedHack, un programa que da ideas para videojuegos, y me ha salido lo siguiente:

  • Fear:  Inspirar temor ha de ser clave en tu juego.  Bien puede ser temor al jugador, a los enemigos, a ambos...
  • Second Person Sh... What?  El juego ha de estar en segunda persona -- esto es, ves la acción a través de los ojos de un personaje que no controlas del todo, o controlas a un personaje que indirectamente controla al personaje principal.
  • Boom, Boom, BOOM!  Debe haber muchas explosiones, con o sin una buena razón.

Las dos primeras ideas me gustan bastante, y además creo que están relacionadas entre sí.  Y la tercera siempre está bien, porque cualquier videojuego mejora con unas cuantas explosiones, y si no lo creéis es que no habéis jugado a Tetris Queen.  Todavía no estoy seguro de qué voy a hacer, pero creo que todo apunta a un horror survival de esos con zombis, oscuro y tal.

Bueno, os dejo, que me voy a pasar por OpenGameArt a ver si encuentro algo que me inspire. Hasta otro día.

Estaba repasando el foro de Club Delphi cuando llegué, de nuevo, a un artículo de Jon L. Aasenden, un programador con ideas bastante afines a las mías.

El artículo en cuestión habla sobre las posibilidades que tendría poder traducir programas de Pascal a JavaScript.  Alguna vez había pensado yo en ello, y de hecho ya existen cosas similares como Morfik y ExtPascal.

Una de las cosas que menos me gustan de JavaScript (y de PHP) es su poco control sobre los datos.  No me refiero a que no pueda obtenerse información acerca de su tipo y naturaleza, que se puede, sino a que las variables no tienen por qué ser declaradas antes de usarlas y que estas no tengan un tipo concreto, lo cual me ha generado no pocos dolores de cabeza.  Esta característica me hace perder un tiempo precioso intentando descubrir por qué el cálculo no se realiza correctamente o por qué cierto campo se obceca en permanecer vacío; y todo porque obvié incorrectamente el tipo de dato o porque escribí mal el nombre de una variable.  Con Pascal esto no pasa, ya que al tener que declarar las variables y disponer estas de un tipo determinado, si comentes un error al escribir el nombre o asignas un dato de tipo no compatible el sistema te avisa rápidamente y rápidamente corriges el error.  Combinar, por tanto, ambos mundos es una idea que me atrae mucho:  por un lado tienes la universalidad de JavaScript, y por otro la estabilidad y potencia de un lenguaje estructurado como Pascal.

Además de esto, otra cosa que me ha llamado la atención son los varios enlaces que el señor Aasenden coloca al final de su artículo, entre los que hay varios ejemplos de gráficos 3D, con modelos complejos, texturas y materiales, completamente escritos para HTML5; es decir, que se ejecutan en el navegador web sin necesidad de instalar ninguna extensión como Flash o similares. Y me ha llamado la atención porque el pasado noviembre escribí un diminuto programa para HTML5 en 3D, y tenía la intención de publicarlo, pero entre pitos, flautas y que no me centro, lo olvidé. Seguro que si lo hubiera hecho en noviembre, nada más terminarlo, hubiera ganado muchos puntos, pero ese tren ya partió.

En fin: aquí tenéis el nada espectacular ejemplo de gráficos 3D en HTML5 que escribí entonces.  Que conste que no funciona con Internet Explorer, al menos hasta la versión 8 (gracias a Theck, de GAS, por comprobarlo).  El código fuente tiene asociada la licencia zlib/libpng, utiliza conceptos básicos y está profusamente comentado, así que podéis echarle un vistazo sin problemas.

Como casi siempre, voy con retraso.

El Domingo pasado finalizó el plazo para entregar trabajos al concurso de Radioficción de RTVE.  Entregué el mio justo a tiempo; a ver si hay suerte.  No es que esté excesivamente orgulloso de mi guión, principalmente porque he tenido que recortar salvajemente la historia que ideé, pero siempre reconforta terminar algo.  Claro que hay quien dice que las obras no se terminan, sino que se abandonan.  Quizá algún día añada lo que tuve que quitarle.

La cosa es que he estado pensando que estaría bien que subiese mis obras literarias a la web, tal como ha hecho mi padre con "El Fémur de San Bandrán".  No es que tenga mucho, pero hace pocos meses terminé un guión para títeres, ahora este para el concurso y espero terminar una novelilla antes de fin de año.  Dudo que tenga el éxito de Gómez Jurado, pero quizá dé suficiente como para subir mi autoestima y alimentar mi ego.

No voy a prometer fechas, porque tengo dos compromisos, pero en cuanto pueda daré un repaso a la web, que falta le hace, y hago las modificaciones necesarias.

Por fin regresa el Hermano Bandrán.  Esta vez arremete contra el Museo de la Evolución Humana1, inaugurado hace pocos meses en Burgos.  Recomiendo su visita, que incluyen un viaje a los yacimientos arqueológicos a la Sierra de Atapuerca, y de paso que visitéis el resto de la ciudad porque merece la pena.

Sin embargo, y sin que sirva de precedente, hoy tengo que dar un poco la razón a Bandrán:  el Museo de la Evolución Humana sí es una respuesta al Museo de la Creación, y sí es verdad que hay cierto paralelismo entre ambos, aunque dudo que se trate de un plagio.

Bandrán cae en algunos de los errores típicos de quien defiende el Creacionismo.  Por un lado, cree que la evolución es una idea de Darwin ignorando que antes otros naturistas y filósofos ya propusieron diversas teorías más o menos verosímiles al respecto.  Incluso algún filósofo de la Grecia Clásica ya propuso la idea de que las especies animales hubieran cambiado a lo largo del tiempo, y eso fue hace unos dos mil quinientos años, lustro más o menos.

Otro error común es no tener claro el significado de teoría, al tomar únicamente la primera acepción del Diccionario de la Real Academia Española ("Conocimiento especulativo considerado con independencia de toda aplicación."), mientras que su uso en Ciencia se corresponde más con la primera acepción del diccionario de María Moliner, que es "Conjunto organizado de ideas referentes a cierta cosa o que tratan de explicar un fenómeno".

Por cierto, parece que el Hermano Bandrán "no se ha dado cuenta" de la intención de John Scalzi al publicar sus fotos.  Será que su inglés es peor que el mio.

Nada más que decir.  Sólo repetir mi recomendación de visitar Burgos, no sólo por el MEH sino por toda su Historia y Arte.


1 Me gustaría poner un enlace a su web oficial, ¡pero está caída en este momento!

Categorías: Babilonia