Skip to content

An MUD client for Emacs, with Emacspeak and sound pack support.

Notifications You must be signed in to change notification settings

devinprater/elmud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ElMUD

Accessible MUD client with Emacspeak integration and soundpack support.

Requirements

  • Emacs
  • Emacspeak
  • SoX (play)
  • Git (for automatic soundpack downloads, optional if you use zip fallback)

Install

  1. cd to the directory containing the install script and elmud.el and emacspeak-elmud.el.
  2. Run:
./install-elmud.sh

The installer will:

  • copy files into a user Emacs lisp directory
  • add a setup block to your Emacs init file, for your convenience. Everybody likes convenience right?
  • try to detect Emacspeak from environment variables or common locations

Run

Start Emacs and run:

M-x elmud

Optional overrides for the installer

  • ELMUD_INSTALL_DIR: custom install directory
  • ELMUD_INIT: custom init file
  • EMACSPEAK_DIR / EMACSPEAK_DIRECTORY: Emacspeak install location

Usage

Elmud is pretty simple. M-x elmud, choose an MUD from the minibuffer completions, and press RET. The MUD opens, and if there's a soundpack automatically configured for it, it'll download that soundpack in the background, and will set them up for you. You can also add your own triggers, to gag text or play sounds. Currently, due to the ease of which Elmud can grab the soundpack and install it programatically, Erion MUD and Cosmic Rage both support this automatic sound pack setup.

Elmud is very customizable. See its customization group for all the options. The client supports MSP and other protocols allowing for sound packs and stuff like that. You can turn any of that off through customizing.

Background

I wanted an MUD client for Android that was made with blind people in mind, had a steady speech output system, and, in my wildest dreams, supported sound packs. I tried Fado, didn't feel like dealing with the whole .tts thing, and did deeply despair.

That was until AI helped me make a Termux fork that worked well enough for me to use to install packages and scaffled up a working Emacspeak. And then AI helped me port the DecTalk TTS engine and the dtk-soft Emacspeak speech server to Termux. Then the world will have never seen a more hidious monster than a Devin with Emacs and Emacspeak in his pocket! Well besides Devin because Devin can't see the miasma he's making.

So an idea struck: why not make an Emacs MUD client? That way, I could play MUD's on Linux, Mac (to be tested and if it doesn't work it's Apple's fault), and best of all, Android through Termux. So here it is. It not only can send plain MUD output to Emacspeak, but it can, in some games, automatically download the officially supported sound pack for the game, load the pack, and as a blind person, you could almost believe you're on Windows! And because it's Emacs, you can read the output in the same buffer you write and send input to the game. And, coolest of all, if you use Emacspeak, ANSI colors will be aurally highlighted. Enemies will be spoken in a lower pitched voice and so on. I can't beautify ASCII graphics though, so we try to filter those out.

A note about the source of this project: Elmud was written entirely using a large language model. Specifically, almost all of it was written using OpenAI Codex, and a bit was written using Claude. If you are hesitant to use AI-generated software, please feel free to not use this package. I'm just saying, this took two weeks to build. Without AI, it wouldn't be built, likely ever. Note that, in the spirit of most things these days, it works on my machine. I appologize profoundly if it does not work on yours. However, if you, or your AI, or your cat, have any ideas or features, pull requests or issues are welcome.

About

An MUD client for Emacs, with Emacspeak and sound pack support.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published