avatar_chat_universal
Plug it in to Synchronet, Mystic, ENiGMA½ or whatever. Drop file in, native binary out. Your users land in the same channels as everyone running the existing JS avatar_chat door on Synchronet, because the wire protocol is the same and it talks to the same chat server. Nothing forks.
Here's what that gets you on screen, in roughly the order I like them.
A 10×6 CP437 avatar in a gutter next to every message a user sends. They pick from bundled sets — corporate logos, sci-fi heads, eighties stuff, futureland originals — or they upload their own .bin over honest-to-god Zmodem, or they sketch one out in the door's pixel editor. Their avatar travels with their messages everywhere. You get to know people by their faces.
Messages in colored bubbles, side-aligned by speaker. Above each one: their name, a relative timestamp that ages in place ("just now", "5m ago", "yesterday 14:30"), then their BBS hostname in magenta. You can tell at a glance who's local and who dialed in from where without thinking about it.
When everybody goes quiet, the transcript area gives way. Fifteen procedural animations — starfield, plasma, aurora, matrix rain, fireworks, Life, lightning, fire-and-smoke — cycle through. Or, if a sysop drops a folder of SAUCE-tagged .ans files in (point it at the sixteencolors archive and you've got decades of scene art on tap), the door interleaves a single piece between each procedural anim. Scrolls up from the bottom, off the top, picks another. Wide pieces — 132 or 160 column — clip the right edge cleanly without distorting alignment.
Messages keep arriving the whole time. They don't kill the screensaver. They slide along as a small ticker on the bottom row for six seconds and then fade, so you see activity without losing the background.
For sysops: themes live in themes/<name>.ini, where the color palette and the idle-animation profile both sit. Ship a "cyberpunk" theme that pins the rotation to matrix_rain + lightning + plasma; ship a "forest" theme that runs aurora + fireflies + ocean ripples. Whatever feels right.
Splash screen on entry. Drop a SAUCE-tagged .ans in and that's what users see while the chat connects. Easy to turn off.
There's a self-hostable chat server in the box. Same wire protocol as futureland.today. If you want a private deployment, or you just don't want to depend on someone else's uptime, run the bundled avatar_chat_server next to the door and point at it. JS-door users join too — same protocol.
Standalone CLI mode for when you don't have a BBS handy: ./avatar_chat_universal -user yourname puts your terminal into raw mode and connects you straight to the chat.
Pre-built binaries for linux/amd64, linux/arm64, linux/386, windows/amd64, windows/386, darwin/amd64, darwin/arm64. MIT.
Pre-1.0, and the in-door pixel editor is labeled BETA in the UI because Moebius or Pablo Draw plus uploading the .bin is honestly a nicer experience for real avatar work. Everything else is solid daily-driver material.
Repo:
https://github.com/hmderdoc/avatar_chat_universal
Releases:
https://github.com/hmderdoc/avatar_chat_universal/releases
If you run it on something other than Synchronet, I'd love to hear how it goes.
If you run it already on Synchronet - you may prefer this version, it's a bit zippier, more configurable and has more graphical accents. The downside is it doesn't not currently automatically detect your avatar from synchronetso you must set it on entry to the app for the first time.
\ >== HM Derdoc ==< /
/ @futureland.today \
\ >== HM Derdoc ==< /
/ @futureland.today \
---
■ Synchronet ■ telnet/
ssh://futureland.today https://blockbra.in