Looking for information on CLOK's codebase and design

Discussion of different MUD clients, plugins, etc. as well as technical help.
Post Reply
Sadi
Member
Posts: 10
Joined: Thu Nov 13, 2014 1:26 am

Looking for information on CLOK's codebase and design

Post by Sadi »

Continuing from chat:

I'm writing a paper on the history of MUDs and the evolution of MUD design, and after having played here for a while I think it'd be good to include CLOK in the design discussion. As such, I'm interested in learning more about the history of CLOK, with a specific focus on anything that inspired its world, lore, gameplay, and code design. Specific sources are best-- what I'd really like to be able to do is compare and contrast CLOK with the sources it draws from so that I can show what CLOK has improved on and how it has done so. Any and all help is welcome!
User avatar
Jaster
Member
Posts: 777
Joined: Thu Sep 01, 2011 10:06 pm
Location: Eastern U.S.

Re: Looking for information on CLOK's codebase and design

Post by Jaster »

Rias said, "Let there be CLOK." And there was CLOK. And he saw that it was good.
User avatar
baerden
Member
Posts: 181
Joined: Tue Apr 02, 2013 6:35 pm

Re: Looking for information on CLOK's codebase and design

Post by baerden »

"If you want something done right, do it yourself."

Iirc.
User avatar
Jirato
GM
Posts: 3049
Joined: Sat Apr 14, 2012 12:17 pm

Re: Looking for information on CLOK's codebase and design

Post by Jirato »

I haven't really responded with anything since I feel it's kinda Rias' decision to share this info or not. I will say that CLOK is a from-scratch project written in Python and utilizing the Twisted network application framework.
[GMCHAT Uyoku]: Octum is when the octumbunny comes around and lays pumpkins everywhere right?
[GMCHAT Rias]: Dimmes says "oh hai :) u need healz? ill get u dont worry thaum lasers pew pew pew lol"
[CHAT - GameMaster Rias would totally nuke Rooks]: Here's how elemancy works: The freeblegreeble and the zippoflasm have to be combined with the correct ration of himbleplimp, then you add the gargenheimer and adjust the froopulon for the pattern you want, apply some tarratarrtarr, yibble the wantaban, and let 'er rip!
User avatar
Rias
DEV
Posts: 6320
Joined: Tue Aug 04, 2009 4:23 pm
Location: Utah
Contact:

Re: Looking for information on CLOK's codebase and design

Post by Rias »

The idea to make a MUD came to me back around 2009ish I think, when I thought it might be fun to learn how to program. I had heard Python was relatively easy to learn and known for its easy readability, but mostly I was inspired by this webcomic: https://xkcd.com/353/

At the very beginning I thought I would make a simple text-based adventure game as a first step. It was a very simple single-player game set on a creepy massive spacecraft where something had gone horribly wrong and you had to figure out what had happened and try to fix it. You could move from room to room, get and drop items, and there were a few simple attack mechanics for the encounters you might have - you could attack, your weapon had a damage type, the enemies had defensive strengths and weaknesses, and it was a simple hit point system.

I still want to write up and finish that game sometime. I thought it was kind of a neat story.

Before I got too far on that little text adventure game, impatience set in and I wanted to jump right into working on a MUD. I wasn't about to reinvent the wheel and write my own network engine from scratch, so I searched around and found Twisted (https://twistedmatrix.com/trac/). I admittedly got (and still have) a mere basic unerstanding of how to get the thing to work - I wasn't interested in how all the network and communications worked, I just wanted that stepping stone in place so I could start working on my MUD. I programmed a super basic chat server/client using Twisted, goofed around on it with some friends for a while because it was just fun to have our own thing like that, and soon I combined it with my text-based game to set up a very simple "glorified chatroom" MUD.

As far as what inspired its overall UI and gameplay feel, that would be the MUD now called Gemstone IV (http://www.play.net/gs4/), which I had played for something like 13 or so years, and is the only other MUD I've seriously played. I loved (and still love) the game, but there were just little things here and there that bugged me about it (for instance: elves, and an overabundance of hand-wavy "let's not think about how or why this works" magic. Oh, and monthly subscription fees - let's not forget that).

I'm not really sure what inspired the world feel. As may be evidenced by the name, I wanted it to be set in an era with clockwork and steam technology - but not "steampunk". I was more than happy to be restricted by real-world historical limitations in the technology back in the day, I just enjoyed that kind of feel for the world. There was the idea of some rare cases of steamkpunkesque wonders, but they were to be rare and wondrous, rather than commonplace. Again, I can't recall any specific source that inspired this. The film Hugo (https://en.wikipedia.org/wiki/Hugo_%28film%29) likely contributed to it somewhat.

I'm also not really sure why I fell away from that "clockwork era" desire, or rather from its implementation. I still lament a little that (believable) clockwork technology isn't more present. I think part of it was that I simply don't really have a good understanding of the details and minutae of the technology, and I was worried about falling into just BSing things that wouldn't end up being believable, so I just sort of shied away from ever implementing anything specific to do with the stuff.

As for the lore and world feel, I'm sure all of it is subconsciously inspired or plagiarized from somewhere or other, but I like to think that a lot of it was born of my own creative invention. There's some very deep universe and metaphysics lore that the players will likely never know about, but know that it's all there - the world is quite thoroughly thought out. There are interesting stories behind all the major unique (or at least somewhat unique - is anything truly unique these days, with so many creative minds out there?) themes: The Immortals, the origins of mankind, how the Resen/Infested came to be, the lore and history behind the Canim, what Nether really is, the specific details of Thaumaturgy, and so on.

Obviousy most of the different races draw on real-world races and cultures for inspiration, though there are several intentional differences and combining of ideas from different real-world cultures that I thought would be neat to mix together, alter, and so on. Nuum is inspired somewhat by ancient Egypt, Ivial something of a mix of ancient Rome and Arthurian themes, Faewyr have a lot of Scandinavian influence, Tatlhuecan draws on ancient Mesoamerican cultures, Hillfolk are inspired by the early American frontier, and so on. Others I think are more unique, like the Rhuidim, Giganti, and Parrens. Knowing these things, I hope people don't make too many assumptions based on their real-world influences, as I do want them to be unique to CLOK and not completely analogous to their real-world inspirations (not the least of reasons being that I fully admit these are more based on popular stereotypes than reality).

Anyway, I'm rambling. I don't really have a lot of sources for you to compare/contrast with. Sorry! As I said, I only ever played one other MUD seriously (Gemstone), and most of CLOK comes from the shadowy recesses of my brain. This was also my first foray into coding, so I didn't really have anything in the way of inspiraiton there, either. Is there anything specific you wanted to know about?
The lore compels me!
qinweiqi
Member
Posts: 137
Joined: Sun Sep 22, 2013 4:57 pm

Re: Looking for information on CLOK's codebase and design

Post by qinweiqi »

Huh, I always thought the Parrans were inspired by polynesian/micronesian cultures. They tend to be very relaxed.
Sadi
Member
Posts: 10
Joined: Thu Nov 13, 2014 1:26 am

Re: Looking for information on CLOK's codebase and design

Post by Sadi »

Rias wrote:Anyway, I'm rambling. I don't really have a lot of sources for you to compare/contrast with. Sorry! As I said, I only ever played one other MUD seriously (Gemstone), and most of CLOK comes from the shadowy recesses of my brain. This was also my first foray into coding, so I didn't really have anything in the way of inspiraiton there, either. Is there anything specific you wanted to know about?
That's perfectly fine; thanks for taking the time to reply! The discussion of the steampunk/clockwork elements was particularly interesting to me; I saw Hugo as well, and it actually got me interested in clockwork myself. If you'd like any information on clockwork technology, just let me know and I'll see what I can pull together from my prior research on that.

As a CS student, I'd be interested in learning more about technical decisions you've made for the backend-- would you be willing to go into any more depth on the design philosophy or conventions that you followed in constructing the server? For the purposes of my paper, I'd be particularly interested in hearing about issues that constrained your design to the realities of the code (or constrained what you wanted to do with the code to the design)-- but I'd welcome any thoughts you'd like to share!
Post Reply

Return to “Technical Stuff”