Calaverd

Construyo cosas que se pueden abrir por dentro.

Cosas chicas que hice por gusto. Un editor de pixel art para la terminal, un motor 3D sobre LÖVE2D, una biblioteca de pathfinding en Lua y este sitio. Nada del otro mundo, pero casi todo se puede abrir para ver cómo está hecho.

[1] La rama es un sistema de Lindenmayer. Se genera una vez y se detiene.

axioma X X -> F+[[X]-X]-F[-FX]+X F -> FF ángulo 22.5° profundidad 4

axioma X X -> F+[[X]-X]-F[-FX]+X F -> FF ángulo 22.5° profundidad 4

amberglyf — ficha

Amberglyf corriendo en una terminal. Video de 30 segundos, sin audio.

Amberglyf es un editor de pixel art que vive en la terminal. Lo hice para mí: dibujar sprites sin salir de donde ya estoy, con las teclas donde ya las tengo. Es dogfooding y es para presumir, las dos cosas.

Todavía no lo publico; lo veo verde. Pero funciona y lo uso, y el selector de color que trae salió de necesitarlo aquí.2

La tabla desborda a la derecha en pantallas angostas — arrástrala.

lenguajePython 3.12Textual para la interfaz, Pillow para las imágenes
controlesestilo vimmano derecha: r t y u i o p arriba, f g h j k l en medio
animacióncuadros con duración propiacapa cebolla, reproducción en el sitio
exportaPNG · formato propiola hoja de sprites también es un PNG; importa PNG y GIF
estado0.1.0 · privadosin publicar todavía; en uso diario

Cómo hice el selector de color

[2] Necesitaba elegir colores sin salir de la terminal y terminé dibujando el gamut OKLCH con puntos braille.

lo demás que he construido

Pajarito calculando el área de movimiento sobre una cuadrícula con terreno de costo distinto.

Pajarito Pathfinder

lualöve2d2023

Inspirado en los Fire Emblem de antes: un pathfinder amable con ese tipo de juego, donde el pantano y el camino no cuestan lo mismo. El juego nunca salió; la biblioteca sí, y ahí la dejo para quien la quiera.3

Demo jugableCódigo en GitHub

Modelo low poly girando en Zapote3D con el shader de cavidad.

Zapote3D

lualöve2d2025

Un motor 3D personal encima de LÖVE2D, armado con lo aprendido en otros game jams: esqueletos, gltf y glb, cámaras. Es experimento y dogfooding a la vez. Le faltan assets para el juego que lo luzca.4

Notas del motor

Pantalla de título de John Huesos.

John Huesos

lualöve2d2019

Una entrada solitaria a un game jam del Centro de Cultura Digital.5 Diseño, código y assets, en el plazo que había.

Jugar en el navegador

Este sitio

htmxnode2025

Composición funcional para armar páginas anidadas, respuestas condicionales según quién pregunta, y enrutamiento por árbol. Navega como una SPA y pesa 14kb en vez de 200. Inspecciona el fuente si no me crees: es el argumento entero.6

Cómo está hecho

Todos los proyectos

[3] Los ejemplos viven en su propio repo, para no ensuciar la biblioteca.

[4] Lo último que le puse fue un shader de cavidad en GLSL, para que el low poly se lea mejor.

[5] Me divertí mucho mostrándolo, con sus defectos y todo.

[6] En 2024 se mudó de GitHub Pages a un VPS propio. Desde entonces también es servidor.

en obra

Últimas actualizaciones

He estado trabajando en un shader en glsl de cavidad al engine en love2d para poder mostrar mejor este modelo lowpoly

El otro día vi algo sobre usar una textura con transparencia para los ojos en modelos low poly y tuve que hacer una pequeña prueba. 🙂

Compositor de sprites

python · qt · gimp

Un armador de sprites vista superior, de uso en casa: compone las cuatro direcciones a partir de piezas y se recarga solo cada vez que guardo en GIMP. Borrador, sin nombre todavía.

Lo que le falta a amberglyf

python · textual
  • varita mágica
  • zoom
  • reordenar cuadros
  • exportar GIF
  • capas, a propósito para después

Todas las actualizaciones

[7] Casi todo esto lo hago porque quiero tenerlo hecho, aunque el mundo no necesite otro de estos. Yo sí.

pásate al blog

Todo el blog

[8] Por tema, no por fecha. Una nota de 2020 y una de este año van juntas si hablan de lo mismo.