I've been blogging here regularly (weekly) for a couple of months now, and I'm starting to run short on server design ideas. Please do suggest topics by commenting below. :)
In the meantime, since I aim to do something useful for the text gaming community, I've decided to go technical with the next few blog entries, to cover the technical topics essential to building a client. I'll then supplement that hand-waving with some solid code samples. You may argue that anyone with moderate programming skills (say your average Computer Science student) could build a basic MUD client by piecing-together sample code and platform (Windows, .NET, Linux, Unix) documentation. I agree, but it's been my experience that information is sometimes difficult to find, especially when one doesn't know the right buzz words or technical terms to search for. Worse, much of the available info is intimidatingly old school - RFCs written in the early 80's, socket code in C, and sample projects that won't build in modern IDE's without some modification. This may mean some potential community contributors could face a lot of challenges just trying to get the basics out of the way, and I don't want anybody's passion for text games to fade on the learning curve.
I've been coding a client in C# on top of .NET (Microsoft's managed code platform) and WPF (Windows Presentation Foundation, designed for building a modern user interface), but I think dumping a giant pile of half-baked code on the internet won't help anybody. Instead, I'm starting a new project at CodeProject.com, where I'll implement only the necessities - managing client/server connections, participating in Telnet handshaking and negotiation, supporting ANSI color, and reading MSDP (MUD Server Data Protocol) messages.
I'll discuss the topics here as I progress, and I hope those of you with motivation to design a modern MUD client will have all the information and sample code you need to start building something amazing.
I don't have much in the way of idea prompts, but I can comment! A few weeks ago, I started on a MU* server/client project myself (working in Java), and came across this blog when doing research towards that end. Although what I'm doing is geared more towards the MUSH/MUX venue than MUDs proper, I do find your posts very helpful in framing considerations that I should and/or want to take into account along the way.
ReplyDeleteThanks Rhapsody, it's great to hear that you appreciate my posting. Thanks for the positive feedback!
ReplyDelete