• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Making a MUD
#1
We've discussed this several times in the past, so I figured this would be a good place to document our findings and maybe actually start doing things.

In the meantime I'll edit the OP with details as we get them:

Info:

Server: mud.bigpete.net
Port: 4000

You can now access the MUD via a webclient: http://mud.bigpete.net:4001/webclient/

Proposal:

Protocols: TCP/IP, GMCP, MSSP
Codebase: evennia - https://github.com/evennia/evennia
Setting:
Plot synopsis:
Systems Overview:


Personnel/Roles: (I'm assuming for now)
[USER=4840]@BigPete[/USER] - Coding, Server Admin, ???
[USER=28507]@Digital Prophet[/USER] - design, systems, ???
[USER=28508]@Jim Rockford[/USER] - Coding, design, ???


To Do:

configure server (decide on self host or vps)
Spin up an install of evennia as a PoC
Install tutorial game
Set up web client

Read Documentation
game design and planning
  Reply
#2
This seems like a good place to start:

https://github.com/mudcoders/awesome-mud
  Reply
#3
Last time we discussed MUDs we also found this:

https://www.mudlet.org/
  Reply
#4
https://mudcoders.com/
  Reply
#5
Reading through the evennia documentation now.
  Reply
#6
I'm interested in this subject, but I've tried to do it myself several times in the past in VB using tcp/ip and always failed. I could never get the client to reliably talk to the server and could never really figure out why, but I Am Not A Networking Guy™ and I don't really understand how the shit works.

I would love to build the world/content out, but i'm not really interested in the programming of it. I just basically want a tool I can use to build shit, which is pretty much where I am with everything these days, and part of the reason I have been hesitant to switch to linux. I guess im now part of the "I JUST WANT IT TO WORK" generation.

That being said, when I was trying to make my own mud thing, I wasn't trying to interface with the terminal or anything. I was making a text-based game engine server that you would have to use my client to connect to. And the reason for that is that I wanted to be able to do shit that the terminal wouldn't let you do, such as display real images, and play sound effects, and maybe have a separate window for a mapper, etc.
  Reply
#7
I also experimented with just running somebody else's codebase like circlemud or whatever, and that was fine, but there were always things that annoyed me, usually with the builder interface. Like, we are in 2026 (well it was probably 2020 or something at the time) and there is no goddamn reason I should have to use a terminal interface to build rooms. If your client is just reading and presenting room descriptions to the player why can't I just use a real goddamn text editor to write the shit and save it to the database that lives on my computer? I have to use the terminal, connect to the server, and then use goofy control+key shortcuts for operational commands? MUD designers have an obsession with 1980s interfaces. NO BUTTONS ONLY KEYBOARD SHORTCUTS WOZNIAK COMMANDS IT TO BE SO. NO SPELLCHECK SPELLCHECK IS FOR THE WEAK.
  Reply
#8
well if this ever actually happens, I will be happy to write you a native client in .NET so you can drag and drop to your hearts content. I won't add a single keyboard shortcut, everything will be a button or menu item.
  Reply
#9
On the non-.NET side of things, I have about as much experience with Python as you have [USER=4840]@BigPete[/USER], but I think I'm more comfortable with writing a mud backend on a pre-existing platform than I am trying to figure out how to host shit over ssh.
  Reply
#10
My experience with Python is that it does multidimensional arrays weird and the whole line spacing thing is obnoxious for somebody like me who typically uses arbitrary spacing. I got a book and messed with it for a few weeks and it is pretty easy, at least for the intro level shit I was doing.

edit:
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

edit:
import numpy
numpy.zeros((5, 5))
array([[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0.]])

Here it is importing numPy which you basically have to do for anything remotely complicated. since this is how you do 2d maps and location pretty much in any language, multidimensional arrays is the first thing I look at when im looking at any new language.
  Reply




Users browsing this thread: 1 Guest(s)
test
.tcat example
.trow1 example
.trow2 example
.trow_sep example
.trow1 example
.trow2 example
.tfoot example
Recent Posts
Not much progress. The vps is very...
BigPete — 07:25 PM
7670193074886200589 View:
BigPete — 02:28 AM
Digital Prophet — 07:45 PM
I’m still working on this, but got ...
BigPete — 02:36 AM
7dR1c65Elfk View:
BigPete — 02:53 PM
forum statistics
  • Members: 11
  • Latest member: Admin
  • Forum threads: 72
  • Forum posts: 433