Introducing Graphic MUD
Bringing tile-graphics to MUDs - this claim already describes what this project aims to do, but let me explain a bit more what this means exactly.
Text Adventuresโ
If you somehow managed to find your way here and read this post, you likely already know what a MUD is. Those text-based predecessors of todays MMORPGs, where you read text-descriptions and enter text commands for your actions, have been originally played on terminal devices like the DEC VT100 or VT220 and later from any computer using a telnet connection.
MUDs grew in popularity as one of the first online multiplayer RPGs and their prime in the 90s, but even if technology evolved, they had one fundamental cornerstone that applies to the majority of them: They are still playable via a telnet connection and use ANSI codes for basic text format control (like color).
Tile Graphicโ
Describing your world with text gives you ultimate freedom for your creation and there still is a community of players who prefer roleplaying by reading descriptions and expressing using text. The idea of this project is to add 2D maps to the mix, so you can "see" your surrounding by looking at a map and not only at the text. Each map coordinate is rendered as a single tile graphic, like for example in the old Ultima 5 game.
The main issues in bringing tile maps to the player are:
- How can 2D maps and classic "rooms" in MUDs be combined on the server side?
- How to visualize maps for the player?
Visualizing maps and roomsโ
There is more than one way to visualize the map alongside the room description, depending on the capabilities of the client used to play. It all evolves around the following questions:
- Does the client have support for protocols that transmit tilemaps? (e.g. BeipMu)
- Does the client have a full blown terminal emulation or just ANSI color codes?
- Does the client terminal support inline images?
- (Only related for control:) Does the client support character mode (meaning: transmitting key presses instead of complete command lines)?
GraphicMUD has the following output modes:
- Completely disable map presentation (used for visually impaired players with screen reader)
- ANSI maps in normal text flow (e.g. in Mudlet)
- ANSI maps in a specific area of the terminal screen
- Graphic maps in a specific area of the terminal screen
- Graphic maps outside the terminal screen
Detecting client capabilities and picking the best output mode (or a user configured one) is a key feature of this project.
So, what does this project do?
GraphicMUD is a generic MUD engine written in Java, that provides tilemap handling. It does not come with any kind of game rules, but aims to be customizable by means outside the engines code.