La Semana en Adrianistán (IV)

Con un día de retraso llega una nueva entrada de La Semana en Adrianistán. Empecemos:

  • GAJSE ha añadido soporte para eventos cuando el usuario choque con un objeto.
  • DivCity ha mejorado en lo relativo al display de las Cells e incluye un nuevo concepto para modificar las Cells, las Tools.
  • DivPacker, un nuevo proyecto, que espero que sea simple y divertido
  • Tengo nueva página oficial. Mi nueva página pasa a estar disponible en http://adrianarroyocalle.github.io Basada en una temática de una ciudad, es muy colorida.

La Semana en Adrianistán III

Esta semana me ha dejado poco tiempo, pero hemos podido avanzar en algunos aspectos. Primero, he de decir que he creado una máquina virtual en C++ que ejecuta el bytecode. La he llamado FlopFlip, en contraposición al típico FlipFlop. De momento solo soporta un set de instrucciones básico. En segundo lugar he mejorado un poco el webapp de La Maquinaria de Videojuegos. Todavía no hace nada útil pero ya soporta sesiones y puedo generar CSS desde LESS. Para ello he preferido usar Node.js porque me parece que se ajustaba bastante mejor a Java EE. Voy a usar Express, un framework magnífico por su sencillez y MongoDB para los datos. Por otro lado GAJSE ha recibido una nueva versión en NPM que incluye soporte para preguntas y respuestas en el ScriptedText. Me estoy planteando la pregunta de si debo hacer una interfaz al estilo de FileText que cargue los fichero JavaScript, pero soy un poco reacio. Primero por el poco control que tendría si lo hago con el mismo mecanismo que las escenas y segundo porque los eval() y los new Function() están desactivados en algunos entornos como las Chrome Web Apps.De momento la única implementación de Text va a ser ScriptedText y puede que lo mantenga hasta la salida de la 1.0.0.

La semana en Adrianistán II

Esta semana ha sido movidita. Primero he recibido un Arduino UNO. Por supuesto he mirado un montón de cosas como por ejemplo esta:

Un sencillo juego que nos muestra al principio un número de 0 a 9 durante un segundo. Después empiezan a pasar los números en orden y tenemos que pulsar el botón cuando estemos en el número del principio. Si acertamos, lucecita verde, si no lucecita roja. Además he incluido sonido con el zumbador.

También se han producido avances en DivCity que ahora luce un nuevo sistema de clases para los edificios. Poco visible por el momento, pero bastante código potencialmente útil. Además se ha añadido un curioso script que mejorará la distribución del TAR.GZ binario en Linux. Como medida de seguridad, ahora DivCity guarda todo el código de las librerías en las que depende. Ahora mismo estoy trabajando en el sistema para detectar los edificios seleccionados con el ratón.

La semana en Adrianistán I

Esta nueva sección que voy a llamar “La semana en Adrianistán”. Comenzamos con la semana en Adrianistán I.
El proyecto GAJSE se ha llevado la mayor parte de mis esfuerzos. He añadido a GAJSE las siguientes funcionalidades:

  •  Audio posicional. Basándome en Geometría Analítica básica y el Gain Node de la API WebAudio he conseguido crear un audio posicional que depende de donde estes situado. Funciona bastante bien.
  • Sistema de iluminación. No ha supuesto mucho esfuerzo pues simplemente llamamos a Three.js con los mismos parámetros
  • Sistema básico de personajes. Ya se permite la creación de personajes en una escena, pero faltan muchas cosas. Ha sido necesario para implementar lo siguiente:
  • Guiones hablados. Ahora ya se pueden hacer conversaciones basadas en ScriptedText. En este método las conversaciones son un callback de una función. Me ha parecido que era la más fácil de implementar y funciona bastante bien. Sin embargo para ello he tenido que modificar el módulo de mensajes y hacer uno basado en un Stack de mensajes (debido a que JavaScript es asíncrono). Todavía no se permiten elecciones basadas en el texto, pero trabajaré en ello.

Y esta ha sido la primera semana en Adrianistán. La próxima semana contaré más novedades.

    Introducción a la orientación

    La Orientación es un deporte que practico bastante a menudo y me gustaría enseñaros un poco más sobre este deporte desconocido.

    ¿Qué es la Orientación?

    La Orientación (o deporte de orientación) es un deporte en el que varias personas deben llegar cuanto antes a  la meta pasando por una serie de puntos marcados. Estos puntos no están unidos entre sí y para llegar a ellos se te proporciona un mapa y una brújula. Los puntos por los que se debe pasar se llaman balizas y son como en la foto inferior.

    Una baliza suele ser de color naranja y lleva un número. Este número es el identificador de la baliza. Arriba tenemos dos sistemas diferentes de comprobar que has pasado por allí, una pinza roja que taladra un dibujo sobre el papel, y una baliza SportIdent, un sistema más moderno y usado que permite guardar tiempos y parciales. El número de balizas en una carrerar puede variar, pero suele haber más de 10. El mapa que nos dan en la salida (normalmente la carrear es cronometrada, se sale escalonadamente) está dibujado siguiendo unas normas. Aquí tenemos un trozo del tramo de una baliza en un mapa:

    El mapa que se nos da viene todo el terreno (bosque, pradera, ciudad, etc) por el que se corre. Este recorrido nos indica el camino para la baliza 10. He aquí una pequeña tabla de colores para empezar:

    Color Significado
    Blanco Bosque de penetrabilidad media
    Verde Bosque denso (hay niveles)
    Naranja Claro, no hay bosque
    Líneas marrones Nos indica la altura de una zona, son las curvas de nivel
    Azul Agua
    Negro Piedra o artificial
    Marrón Tierra

    Estos colores tiene a su vez símbolos más concretos (la V es hoyo, puede ser negra o marrón; el “peine” es un cortado, puede ser negro o marrón).

    Suena bien, ¿dónde puedo ir?

    Para empezar deberías a ir a un club de orientación, allí te enseñarán y te llevarán a mapas reales, primero en categorías pequeñas, después mejorarás. Hay clubes por todo el mundo, pero es cierto que si vivieses en Finlandia conocerías más este deporte.