5 de Febrero, 2021

»Haskell · En el trabajo hay una plataforma en la que podemos acceder a recursos de formación. Como por ejemplo: comprar libros. Estoy intentando mejorar mis conceptos de programación funcional (FP, de functional programming), además con Scala; lo que deja el tema un poco limitado en cuanto a literatura. Así que me he pedido un libro de Haskell, que me dicen que está muy bien. La idea es que muchos de los conceptos de FP que se pueden aprender con Haskell son portables a otros lenguajes (además el ecosistema FP de Scala toma mucho de Haskell). Ya veremos si estoy intentando abarcar demasiado.

Hay 1 comentario, anotación clasificada en: programming, scala.

3 de Febrero, 2021

»Otro blog · No es el primer blog que tengo en inglés, pero sí es la primera vez que es parte de usebox.net. Se trata de Personal Log, donde voy a substituir un poco lo que venía haciendo en Twitter, pero en mi blog. ¿Por qué no en esta bitácora? No me convence escribir en inglés por aquí, y tampoco sé cuánto tiempo va a durar la idea. Así que por ahora van a ser dos cosas independientes.

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

31 de Enero, 2021

»Hola, markdown · Señal de que me estoy haciendo viejo: estoy harto de escribir anotaciones en HTML en esta bitácora, así que le he dedicado una media hora al tema y, si todo va bien, está anotación ya está escrita en markdown. Espero no haber roto nada, porque el código que mueve este sitio viene de principios del 2010 cuando estaba aprendiendo Python :D.

Actualización: pues parece que funciona perfecto. Aunque me ha tocado buscar una librería que funcione en Python 2. Eso ya no tiene arreglo, no me veo portando el código a Python 3. Imagino que será hora de ir prensando cómo pasar todo esto a algo estático como ya hice con la web de usebox. Pero, por ahora, como mínimo me va a dar menos pereza escribir por aquí ;).

Hay 5 comentarios, anotación clasificada en: blog.

27 de Enero, 2021

Oh, Twitter

Es cierto aquello que dice que el que no conoce su historia está condenado a repetirla, o algo así.

Desde que empezara a usar Twitter con una buena excusa, pasamos a frustraciones donde dejé de usarlo por temas técnicos, para retomarlo como una herramienta social.

Ha sido, y sigue siendo, útil. Por una parte para promocionar mis juegos (tengo más de 2400 seguidores), y también por las interacciones con personas que comparten aficiones y pasiones. Esta última parte es siempre agridulce, porque hay gente que ya no está en la plataforma y les echo de menos, aunque hayan amigos nuevos; porque aunque no sigo a 2400 personas, sí tengo suficiente contenido para estar entretenido.

Y ahí es quizás donde empiezan los problemas, porque es mucho contenido, que se ha convertido en nada positivo en los últimos tiempos debido a dos eventos: Brexit y COVID. No porque me dedique a hacer doomscrolling, pero sí es cierto que acabas expuesto a mucha información negativa, en un ambiente tóxico (aún cuando no participo en discusiones). Yo creo que me gustaba más la época de los blogs y el RSS, ¿verdad? :)

Al final Twitter requiere mucho tiempo y tu atención; algo que ahora mismo no quiero invertir él. Igual por lockdowns por COVID, o por trabajar desde casa; pero poder desconectar es cada vez más importante, y Twitter está diseñado para que no desconectes.

Así que he puesto la pausa, e imagino que puedo hacer anuncios de nuevos juegos/proyectos, pero creo que tengo que desintoxicarme; por mucho que lamente perder la otra parte positiva, que son los amigos.

Siempre se me puede contactar por aquí, preferencia al correo electrónico (para ciertas cosas Telegram), y seguiré escribiendo de vez en cuando en esta bitácora (aunque no en inglés, que es el idioma que venía usando en Twitter y con el que he hecho muchos amigos).

Curioso que todo esto me lo haya planteado por probar Mastodon, y de golpe no tener nadie a quien seguir, nadie a quien contar nada. Cuánto tiempo para hacer otras cosas :D.

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

23 de Enero, 2021

»7DRL · Este Marzo, del 6 al 14, será la 7DRL; que se trata de hacer un juego al estilo de Rogue en 7 días. Es un género complicado, porque tiene muchas características que no son fáciles de programar (diseño de niveles aleatorio, fog of war, todo lo que rodea a un RPG), pero esta competición no se trata de eso sino de acabar un juego (vaaale, que tenga algunas características de un rogue-like es importante). Me pregunto si podría hacer algo completo, pero prototipo de otra cosa. A fin de cuentas me gustaría programar un RPG en algún momento, y todavía tengo mi experimento con Scala y Canvas 2D que no he hecho nada con él. Ya veremos.

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

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.

Entradas antiguas