Coder Social home page Coder Social logo

gmud's Introduction

GMud

Introduction

Welcome to GMud, a modern take on the classic Multi-User Dungeon (MUD) experience. The 'G' in GMud stands out for several reasons:

  1. gRPC-Based Architecture: At its core, GMud utilizes gRPC, a high-performance, open-source universal RPC framework, to handle network communication. This choice ensures a robust and efficient networking layer.
  2. Inspired by ChatGPT: The design and development of GMud are heavily influenced by ChatGPT. ChatGPT recommended the initial direction of gRPC as the base of GMud and provided guidance for many of the functions.
  3. Authored by 'Gorgar': GMud is a passion project of mine, Gorgar โ€“ a long-time MUD enthusiast and the admin of Dragonfire MUD. My experience and love for MUD games have been the driving force behind this project.

Getting Started

This code was tested in python 3.9 and 3.7.5.

$./server.sh Server started, listening on port 50051.

Start the gRPC client

Project Vision

The purpose of GMud is to craft a MUD library that encapsulates the essence of traditional MUD games while embracing modern technology and security practices. GMud is designed with a clear separation between the core game code and the content creation (building) process.

For Builders

  • Lua Integration: Builders can use Lua, a powerful, efficient, and lightweight scripting language, to create and modify game content. This integration allows for a controlled and secure way to access the underlying mudlib functions, which are written in Python.

For Developers

  • Python and gRPC: The core game logic of GMud is written in Python, leveraging the multi-threading capabilities of the language and gRPC. This combination brings numerous benefits, including:
    • Concurrency and Scalability: Python's multi-threading capabilities, coupled with gRPC's efficient handling of client-server communications, ensure that GMud can handle multiple simultaneous interactions smoothly.
    • Speed: gRPC's use of HTTP/2 brings significant improvements in speed and performance over traditional communication protocols used in MUDs.
    • Security: With gRPC, there is an inherent improvement in security, especially when compared to the unencrypted nature of Telnet, the traditional protocol for MUDs. gRPC allows for secure communication channels, which is a critical aspect of modern online gaming.

Current Project Status

To-Do List for GMud Project

Task ID Description Status Notes
1 Object Save/Restore So we can save players and other information in a standard way
2 Login Procedure Improve the basic login procedure we have today and passwords or equivalent
3 Standard LUA variables/functions Standard way to decide what we expose to LUA and what functions it can call
4 Rooms actions Standard add_action style commands from rooms
5 Task/quest system Procedures a process for performing tasks and completing quests
6 Armor Armor object and wear/remove procedure from player.py
7 Weapon Weapon object and wield/unwield procedure from player.py
8 Races Race definitions for players and npcs. Includes limbs, language, etc
9 Skills/Spells Definitions for skills/spells in a central location
10 Guilds They provide the skills/spells to players
11 Combat Design the combat system

Scoping and Proof of Concept

GMud is currently in the early stages of development, focusing on scoping and creating a proof of concept. Our efforts so far have been towards laying the groundwork for what we believe could be a revolutionary approach to MUD gaming.

Gathering Feedback

One of our immediate priorities is to gather feedback from the community. We are keen on understanding the perspectives and insights of MUD experts and enthusiasts alike. Their feedback is crucial in shaping the future direction of GMud.

Will It Sink or Float?

At this stage, a key question we're exploring is: Will this new approach to MUD gaming sink or float? We're in the process of determining the viability and potential of GMud, and whether it stands up to scrutiny by seasoned MUD players and developers.

Acknowledging the Roots

While GMud is not intended to replace traditional LP-style MUD drivers, it's essential to recognize the added benefits this modern approach brings. GMud bridges the gap between the nostalgic charm of MUDs and the advancements in networking, scripting, and security.

Collaborate and Contribute

GMud is an open project, and collaboration is key to its growth and success. Whether you're a seasoned MUD enthusiast, a developer with an interest in game design, or someone passionate about scripting and world-building, your contributions are welcome. Together, we can continue to evolve GMud and keep the spirit of MUD gaming alive and thriving in the modern era.


For more information, visit GMud Repository.


GMud โ€“ Merging Tradition with Modern Innovation.

gmud's People

Contributors

wedsall avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.