Skip to content

GoMudEngine/GodotClient

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🕹️ GoMudEngine / GodotClient

A Godot-based MUD Client for the GoMud Server

A lightweight, extensible, and fully Unicode-compatible client built with Godot 4.x, designed for connecting to and interacting with GoMud (and other compatible MUD servers).


✨ Overview

GoMudEngine / GodotClient provides a flexible and modular interface for real-time text-based worlds. It’s written entirely in GDScript, with clean scene separation and built-in support for color-coded text, UI modularity, and cross-platform exports (including HTML5).


📦 Features

  • Real-time text interaction with MUD servers
  • 💬 Command input and output parsing with BBCode color rendering
  • 🧩 Modular scene structure — easy to extend or replace (input, map, mobs, containers, etc.)
  • 🌍 UTF-8 / Unicode support for multilingual text and symbols
  • 🪶 Lightweight & fast — pure GDScript, no external dependencies
  • 🌐 Cross-platform ready — works on desktop and web (HTML5 export supported)

🚀 Getting Started

🔧 Prerequisites

  • Godot Engine v4.0 or later
  • Basic understanding of Godot scenes, signals, and resources

📥 Installation

git clone https://github.com/GoMudEngine/GodotClient.git
cd GodotClient
  1. Open the project in Godot → project.godot
  2. Run the main scenemain.tscn (entry point)
  3. Configure your connection → edit connection.gd (host, port, protocol) or use the in-game UI

🛠️ Project Structure

File / SceneDescription
main.tscn / main.gdEntry point — orchestrates UI and manages the client lifecycle
Connection.tscn / connection.gdHandles WebSocket / socket communication
TextProcessor.tscn / text_processor.gdParses incoming text, applies colors and formatting
Input.tscn / input.gdCommand line input, history navigation
Containers, Mobs, Map, StatusModules for inventory, NPCs, world map, player stats
fonts/Contains main and fallback fonts (e.g., Noto Sans + Unifont)
export_presets.cfgExport settings for desktop and HTML5 builds

🧠 Each module is independent — you can easily extend, replace, or restyle any system without breaking the others.


⚙️ Customization

  • 🎨 Themes & Fonts – Use your own color palette or UI skin in the Theme resource
  • 🧮 Protocol adapters – Extend the Connection class for custom Telnet / WebSocket protocols
  • ⚔️ Macros & Aliases – Add local command automation or key bindings
  • 📜 Logging / Transcript – Implement chat logging for debugging or story replay
  • 🔔 Audio / Visual Feedback – Integrate sound cues or animations for events

🧾 Example Session

> connect mud.example.com 4000
[Connected successfully!]

< The MUD server says: “Welcome, adventurer.” >
> look
You are in a small forest glade. Paths lead north and east.
> go north

Text input is handled by Input.gd, output is processed via TextProcessor.gd, and displayed in a RichTextLabel with BBCode formatting.


🧰 Tech Stack

  • Engine: Godot 4.x
  • Language: GDScript
  • Networking: WebSocket / TCP Socket (customizable)
  • License: MIT License

    Copyright (c) 2025 GoMudEngine

    Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


🤝 Contributing

Contributions, suggestions, and pull requests are welcome! If you’d like to collaborate, please follow these steps:

  1. Fork the repository
  2. Create a feature branch
  3. Submit a pull request with a clear description

💡 For major changes, please open an issue first to discuss what you’d like to improve.


📬 Contact

About

GoDot Mud Client for GoMud

Resources

Stars

Watchers

Forks

Packages

No packages published