14 de Enero, 2021

»Ratón vertical · Resulta que en el evento social (remoto, vía internet) de mi squad estas navidades hubo un pequeño concurso de preguntas y respuestas, y mi equipo ganó; con lo que me he visto con una tarjeta de regalo de Amazon de 25£, y sin saber qué hacer con ella. No se me ocurría nada que necesitara, pero al final he decidido probar un ratón vertical inalámbrico (con wireless, porque mi experiencia con bluetooth no ha sido muy buena), y para mi sorpresa resulta que me hacía falta. Tampoco es que tuviera dolor en la muñeca (creo), pero ha sido empezar al usarlo y la postura en la mano es mucho más cómoda. No me ha costado nada acostumbrarme, pero le daré más tiempo antes de sacar conclusiones definitivas.

Hay 0 comentarios

30 de Diciembre, 2020

»ubox MSX lib · Mira por donde, este año igual me he adelantado un poco con el balance, y aún he publicado algo más. Se trata de ubox MSX lib, o unas librerías que hice cuando programe Night Knight y Uchusen Gamma. Empecé las navidades pasadas a preparar el tema, pero se enfrió un poco :(. Bueno, ahí está por fin, ¡con juego de ejemplo y todo!

Hay 0 comentarios, anotación clasificada en: msx, open source.

22 de Diciembre, 2020

Se acaba el 2020

Se puede decir que el 2020 ha sido un año muy difícil, pero aún así creo que merece la pena continuar con la revisión del 2019; aunque sea una respuesta un poco descafeinada, ¿qué tal ha ido el 2020?

Está claro todo lo que ha pasado (y está pasando), con COVID-19 y Brexit, que tampoco voy a contar nada nuevo por aquí, y estas anotaciones tampoco van de eso.

No hemos tenido grandes cambios, ni donde vivimos, ni en lo laboral; ¡y no era el momento! Además, dado que la empresa para la que trabajo tiene un componente tecnológico muy fuerte, fue muy sencilla la transición a trabajar desde casa; y ahí hemos estado desde Marzo.

No ha sido siempre fácil, porque cuando alquilamos el piso donde vivimos no tuvimos en cuenta que íbamos a tener que estar encerrados en casa durante semanas :S.

Pero bueno, no ha ido del todo mal; al menos tengo un espacio cómodo donde trabajar (si no dedicado), pero todo ha sido muy flexible y la cultura de mi empresa ha encajado muy bien con la nueva normalidad. Por una parte me ahorro tener que desplazarme a la oficina, ganando una hora larga de paseo (y perdiendo en ejercicio), a cambio de algo más de estrés y dificultad para cambiar de contexto (como decía alguien: no recuerdo si trabajo desde casa o si vivo en la oficina).

Al perder ese tiempo muerto en desplazamientos, he consumido muchos menos podcasts, y a cambio estoy mucho más con mis hijos; que yo creo que lo agradecen (y yo también :D).

La bitácora, la verdad es que no estoy seguro. Digamos que un poco parada, como es la norma de los últimos años (o más bien, yo diría que lleva más tiempo así ya que activa); aunque tengo la impresión de que he escrito algo más.

He seguido programando cuando había tiempo, y he publicado dos juegos (¡otra vez!). Además muy satisfecho con el resultado porque retomar y terminar Kitsune's Curse no ha sido fácil, y luego, quizás siguiendo el ejemplo del 2016, haciendo otro Magica, aunque ya comenté por aquí que Brick Rick y Magica no son tan parecidos.

Los dos con edición física con Poly Play, pese a todos los problemas de COVID; aunque tengo que decir que estoy algo cansado de esa parte. Acabar el juego es complicado, luego prepararlo para publicar es mucho más trabajo, y sacar edición física es aún más trabajo.

Es cierto que sigue proporcionarme satisfacción tener el juego físico en mis manos, pero no sé si puedo justificar tanto esfuerzo extra cuando luego parece que interés no acompaña (que yo no quiero beneficios, pero el editor va a pérdidas, y eso ya no me convence tanto). Veremos qué hago de aquí en adelante.

Así que en tema juegos no ha sido un mal año, con una secuela de Golden Tail, mejorando muchas cosas y añadiendo a la fórmula; y Brick Rick en cierto modo mejorando lo que ya conseguí con Magica, incluso con un motor nuevo.

Además he estado trabajando un poco para el ZX Spectrum. Con la experiencia del motor de Brick Rick para Amstrad CPC tan fresca, decidí tirar a la basura lo que tenía escrito para speccy y hacer un motor siguiendo la misma filosofía, incluyendo soporte para sprites, y ¡estoy encantado! Muy divertido de programar, y Brick Rick tendrá un spin-off en Spectrum de 128K; ya para el 2021 (el juego está 80% acabado).

La famosa lista de cosas pendientes sigue reduciéndose, aunque algún juego ha salido que no estaba en la lista :D. Tengo que revisar qué queda pendiente, porque para el 2021 quiero sacar un juego para MSX2 (que ya tengo la tecnología, me falta dar con el juego que quiero hacer).

Aunque está claro, nada de hardware; aunque le tengo ganas, sigo sin tiempo (claro, porque estoy con otras cosas) ni espacio (esto sí es cierto :D). Me he comprado una FPGA para emular máquinas clásicas, y es lo más cercano a cacharrear con hardware que he hecho en el 2020.

En temas Open Source, poca cosa. Parece que he encontrado a alguien que puede hacerse cargo de los proyectos que iba manteniendo en Python relacionados con OpenStack, pero aún falta por concretar (y la cosa se ha enfriado un poco). Cada vez hago más Scala y me cuesta mucho volver a Python, lo cual todavía no sé si es bueno o no :P.

Así que ha sido un año curioso. Con muchas preocupaciones y cambios, con subidas y bajadas; y en realidad dispuesto a darlo por acabado de una vez, aunque ya sabemos que cambiar de año en el calendario no significa gran cosa la mayoría de las veces (aunque también está Brexit, y ahí sí cuenta), pero hay que ser optimista a ver qué nos depara el 2021.

Hay 0 comentarios

2 de Diciembre, 2020

Advent of Code 2020

Un calendario de Adviento (osea Advent Calendar), es un calendario de cuenta atrás desde el 1 de diciembre hasta el 24 de diciembre.

El origen de esta tradición viene de la Alemania protestante del siglo XIX, y en la actualidad se ha convertido es una forma de contar los días que faltan hasta Navidad (por ejemplo, con una caja de chocolates :D).

El tema es que también hay un Advent of Code, que se trata un juego en el que hay que resolver un puzzle de programación al día, y ya hay dos puzzles (porque estamos a 2 de diciembre, claro), y anoche hice el primero.

Es muy entretenido, pero hace falta tiempo para dedicarle cada día (aunque imagino que siempre es posible acabar los puzzles en cualquier otro momento, incluso pasada la Navidad), y los puzzles se van a complicar más adelante.

Estos ejercicios suelen ser ideales para practicar un lenguaje que no conoces muy bien, aunque no sé si lo recomiendo si estás aprendiendo y no tienes soltura, porque entonces te tienes que enfrentar a dos problemas: el puzzle y ¿cómo lo hago en este lenguaje?

Por curiosidad, esta es mi solución en Scala para la segunda parte:

// in es Seq[Int] con la entrada del problema
(for {
  a <- in
  b <- in
  c <- in
  if a != b && a != c && b != c && a + b + c == 2020
} yield a * b * c).headOption.map(println)

También se pueden ver los puzzles de años anteriores, como por ejemplo los ejercicios del 2019.

Actualización: estoy subiendo mis soluciones a este repositorio. Estoy usando Scala, con un estilo funcional. No sé hasta donde llegaré, todo depende de las ganas :D.

Hay 0 comentarios, anotación clasificada en: programming, scala.

13 de Noviembre, 2020

Graveyard Shift

Después de terminar Brick Rick no estaba seguro de querer volver al proyecto para MSX2, más que nada porque no hay juego, así que no era tanto programar como pensar qué hacer.

Lo que me llevó a mi lista de proyectos pendientes, que aunque Brick Rick no estaba en los planes, ¡ya han caído dos de la lista!

Pero bueno, no eso a lo que voy; el tema es que mirando a esa lista, hay algo que voy posponiendo, y es que sigo sin resolver en el ZX Spectrum, que desde Castaway no saco nada (y este quedó muy pequeño, pese a todo el trabajo).

Así que me puse a ver cómo iba Starblind (de la lista), y me di cuenta que es el mismo problema de MSX2: no hay juego (al final parece que voy a encauzar esta anotación :D).

Otra cosa que me llamó la atención es que, pese a haberme decidido a hacer un juego para las máquinas de 128K, el motor era muy complicado... por haber evolucionado desde una idea para 48K.

Así que me puse a reescribir y, en cierto modo, replicar la funcionalidad de la librería que hice para Brick Rick. Básicamente: si voy a trabajar en 128K, es mejor simplificar todo y usar la funcionalidad de la máquina al 100%.

Una vez hecho eso, y haber programado mis propias funciones de sprites (complicado, no lo había hecho nunca y ha resultado ser muy satisfactorio), me he puesto a trabajar en un spin-off de Brick Rick.

El juego en pausa
Una pantalla de Graveyard Shift

La mecánica principal es la misma que en el juego de Amstrad CPC, gráficos re-hechos, en un ambiente temático alrededor de la noche de Halloween, y sacándole máximo partido a las máquinas de 128K (dentro de mis habilidades, ojo).

Estoy muy contento con la librería y cómo va evolucionando el proyecto (muy avanzado ya), sin ser un port del juego para CPC, el espíritu es el mismo, y me evito tener que buscar una nueva idea para centrarme básicamente en... hacer el juego.

Es cierto que sé mucho más que sabía en 2016, claro; pero con lo mal que lo he pasado intentando sacarle punta a la librería SP2 (que es lo que venía usando en estas máquinas) y lo fácil que ha sido programar una librería sencilla y con un rendimiento más que decente, ¡tenía que haberlo hecho antes!

Además tengo una versión de la librería (bueno, es lo mismo; se trata de cambiar la configuración), que se puede usar con algunas limitaciones (por ejemplo sprites sin máscara, sin buffer doble y dibujando menos cosas por actualización), así que no descarto hacer algo para 48K en algún momento. Parece que todo pinta bien para quitarme la espinita del ZX Spectrum.

Así que ahí estamos. Va a haber un Brick Rick para Spectrum (aunque insisto que no es un port), y según tenga tiempo, me gustaría hacer algún juego más para este sistema.

Mientras tanto, Brick Rick ha salido en un vídeo de ChinnyVision, que es uno de los youtubers más grandes de la comunidad CPC ;).

Hay 0 comentarios, anotación clasificada en: speccy.

25 de Octubre, 2020

»Recepción de Brick Rick · Parece que Brick Rick está gustando, y yo creo que al margen de que esté bien hecho (aunque lo diga yo :D), es sobretodo porque los juegos tipo arcade son muy asequibles. La edición física no está funcionando muy bien, incluso para lo que suele ser CPC. Parece que la situación general con COVID está teniendo impacto en todo :(. Algunas reacciones:

Hay 0 comentarios, anotación clasificada en: cpc.

23 de Septiembre, 2020

Brick Rick y Magica

Brick Rick está listo y, si no pasa nada, estará disponible para descarga este viernes, con una edición para coleccionistas por parte de Poly Play (que tardará mes o mes y medio en llegar a la gente; ¡paciencia!).

Está claro que cuando se juega a Brick Rick se pueden ver muchas similitudes con Magica (publicado en 2016), más que nada porque la mecánica principal es parecida: aturdir a los enemigos con nuestro disparo y luego golpearles.

Magica
Magica en acción

En Magica además era necesario recoger las pócimas que aparecían una vez eliminábamos a los enemigos, que igual no parece una gran diferencia, pero cambia la jugabilidad de forma significativa. Tener que recoger las pócimas en Magica (y salir por la puerta), junto al diseño de los niveles y el hecho de que las plataformas no se pueden cruzar hacia abajo, hacía que el principal enemigo era... el tiempo.

El número de enemigos era constante, y el límite de tiempo bastante ajustado; de forma que una vez eliminados los enemigos, muchas veces había que recorrer la pantalla a toda prisa para coger las pócimas y salir por la puerta antes de que se nos acabaran los 50 segundos (y perder una vida).

Aunque existía la opción de eliminar a las hadas para conseguir tiempo extra, era básicamente el tiempo lo que nos obligaba a hacer las cosas rápidamente, y eso nos llevaba a cometer errores y a perder vidas.

En Brick Rick se trata de eliminar a todos los enemigos, sin tener que recoger nada ni salir por una puerta; pero los enemigos pueden ser mucho más de los 6 que nos presentaba Magica en cada nivel.

Brick Rick
Brick Rick en acción

Al final el resultado es mucho más frenético e intenso, porque hay que despachar a muchos más enemigos por nivel (sin preocuparse demasiado por el plataformeo, aunque también hay algunos niveles en esa linea). Además con el añadido de que nuevos enemigos caen desde la parte superior de la pantalla, con lo que hay que llevar cuidado de que no nos caigan encima.

No es que el tiempo no sea un problema, que lo es, pero si no nos damos prisa en completar la pantalla, en lugar de perder una vida, he añadido un monstruo del tiempo (clásico :D). Aunque es invulnerable, tampoco significa una muerte segura, porque desaparece en cuanto conseguimos tiempo extra o eliminamos a todos los enemigos.

Otro cambio en Brick Rick son los distintos ítems a recoger: dado que los enemigos no nos dan una pócima que hay que recoger obligatoriamente, es posible que haya más variedad: puntos, tiempo extra, o dinamita. Todos opcionales, pero al final importantes, ya sea por que hay una vida extra a los 10,000 puntos, o porque nos facilitan completar el nivel.

Luego el diseño de enemigos es bastante diferente. Hay algunos patrones similares a los que vemos en Magica (sobretodo los más básicos), pero en mi opinión, estos enemigos están más cerca de los que vemos en Night Knight. Aunque igual es más fácil de ver para mi que lo he programado :D.

Técnicamente además hay muchas diferencias. Ya no es solo que el motor que mueve el juego es diferente, sino que los sprites de Brick Rick son más grandes (8x24 en lugar de 8x16). Aunque parezca poco, es importante en la cantidad de pixeles que hay que dibujar cuando muchas cosas pasan a la vez. Y bueno, en general creo que es más rápido que Magica; que tiene sentido: sé más hoy que sabía hace 4 años.

En resumen: ha quedado bien, y espero que le guste a los fans de Magica. Centrarse más en despachar enemigos que en correr contra el tiempo, creo que han resultado en una experiencia mucho más arcade, que es lo que buscaba en este juego :).

Hay 1 comentario, anotación clasificada en: cpc.

12 de Septiembre, 2020

»Brick Rick acabado · Bueno, anoche mandé la primera versión candidata a ser final para que los probadores le den una última vuelta, aunque creo que a estas alturas el juego está más que probado. Ya se sabe cuál es la web, ahora solo falta decidir la fecha a finales de este mes para publicar. Depende de que el arte de la edición física esté acabado y que se pueda abrir reservas, porque eso ayuda mucho al editor.

Hay 0 comentarios, anotación clasificada en: cpc.

30 de Agosto, 2020

»Cuenta de Flickr borrada · Suelo revisar cada año todas mis cuentas en servicios en Internet, y borro lo que no esté usando. Principalmente por motivos de seguridad, y prácticos. Una de esas cuentas que no usaba pero había pospuesto eliminar es Flickr, porque es algo que usaba mucho, antes de Yahoo!; y ahora que SmugMug ha comprado el servicio, es incluso más importante borrar todo si realmente no lo uso (que además parece que hay que ir Pro para sacarle punta). Una pena, pero así es la vida (y casi no uso la reflex).

Hay 0 comentarios

30 de Agosto, 2020

»Brick Rick tiene web · He publicado la web de Brick Rick, mi próximo juego para CPC, que empezara no hace tanto (no hay proyecto que sea pequeño, pero este es de los menos grandes). Al juego aún le faltan unas semanas, pero por ahora se puede leer un poco de qué va toda la historia, y esa será la página donde estará la descarga gratuita.

Hay 0 comentarios, anotación clasificada en: cpc.

Entradas antiguas