ECG / Expressive Character Graphics
███████  ██████  ███████
██      ██       ██
█████   ██       ██  ███
██      ██       ██   ██
███████  ██████  ███████

Un motor donde el gráfico es el carácter.

No es un filtro ASCII sobre polígonos: el frame es una matriz de caracteres con z-buffer. Ciudades, rutas, montañas y interiores caminables, dibujados con #, =, % y &.

Descargar para Windows

Buscando la última versión…

Cuatro mundos, un solo motor

Ninguno está hardcodeado: cada uno es un pack de datos sobre el mismo núcleo. El motor no sabe qué es una ciudad ni qué es una ruta.

Cruce de una ciudad nocturna dibujada íntegramente con caracteres de colores
metro — ciudad de noche. Fachadas con basamento, cuerpo y remate; vidrio que deja ver el interior del local; carteles legibles a cualquier distancia.
Avenida en perspectiva con torres de caracteres a ambos lados
metro — la avenida en perspectiva real. Las verticales caen en una sola columna de celdas: por eso la grilla de ventanas no se tuerce.
Ruta vacía de noche vista en primera persona
station — Ruta 7, KM 412. Primera persona, mouse-look, y una gasolinera a la que se entra caminando.
Interior de la tienda de la gasolinera
station — adentro de la tienda. Los interiores no son una textura: son volumen, y se recortan al plano cercano cuando entrás.

Cómo funciona

El cliente es un runtime

Lo que bajás no es un juego: es el motor. Se actualiza poco y avisa cuando hay versión nueva. Sin internet sigue andando: tus mundos son tuyos y están en tu disco.

Los juegos son datos

Un juego es un paquete .ecgpkg: tipos, reglas, mundo y scripts. Se descarga desde el portal y se actualiza solo, sin volver a bajar el motor.

Todo pasa por comandos

La consola, el editor gráfico y los scripts emiten los mismos comandos. Una sola fuente de verdad: lo que se puede hacer a mano se puede automatizar.

Para el que crea

El motor no conoce géneros. Un RTS, una carrera y un sandbox son el mismo núcleo con distintos datos. Definís los tipos, poblás el mundo y lo jugás — sin recompilar nada.

ecg> tiletype asfalto char=# color=60,60,64 solid=0
ecg> tiletype vereda  char=: color=110,110,105
ecg> fill 0 0 64 8 asfalto
ecg> entitytype auto char== color=255,80,60 behavior=wander
ecg> spawn auto 12 4
// lo mismo que hace el editor cuando pintás con el mouse
ecg> save mi_ciudad.ecgsave

Cuando el juego está listo, se empaqueta y se publica. Los jugadores lo ven aparecer en su portal la próxima vez que lo abren.

Descargalo y abrilo. Son dos clics y no pide nada.

Descargar para Windows