Noob Mudbuilder looking for a Head Start

 
Post new topic   Reply to topic    mudlab.org Forum Index -> Coding
View previous topic :: View next topic  
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Sat Sep 29, 2007 11:40 pm    Post subject: Noob Mudbuilder looking for a Head Start Reply with quote

Sorry if the topic subject title sounds a bit cheesy, I want to explain myself a bit better.

I've been toying with the idea of starting a Mud of my own (whether it's for public use or just for personal experimentation is not important at this point, I guess). I have several ideas I want to try out such as:

-Turn based, lightning fast (coded & stat based) combat (not an oxymoron Very Happy)
-Dynamically created NPCs (NPC allies for individual PCs?)
-Player invisibility (ability to share a room without seeing each other, NOT stealth)

Etc, etc, but I digress.

As I was reading about codebases (I've been checking a few over the last couple of years) I became sort of enamored with ones such as MOO. But I've seen a fairly large roadblock, namely the absolute and total lack of any kind of decent MOO coding resources/sample codes. I've also noted that MOO has several disadvantages compared to MUDs, such as:

-Inability to customize the prompt (without server patching and recompiling)
-Very rigid parser: verbs are defined very exactly, generally with a single object in mind. As far as I've noticed, you can't code a MOO that uses a verb such as "take all balls except the red and white" or "wear goggles, helmet and all leather".
-Queuing problems: commands are ALWAYS executed as soon as typed, and errors result, for example, from saying ">go north" and ">get sword" very fast because even if you manage to queue the action, the second action will fail because the sword is not in the FIRST room
-Object database: if I made a store that sells "elven plate mail" objects, the MOO would need to replicate the object N times (or inherit, etc) making the database larger and larger, even if you recycle you keep using up object IDs for potentially very volatile objects - if people die, sell them or just plain discard them... Or even mobs, that die and spawn, maybe even the same mob a random number of times. I'm not sure how MUDs handle this in comparison.

And others.

So what experiences do people here have with different MU* servers? What would be a good one to start with? Is MOO as bad as I've seen for coding things with actual game mechanics as opposed to "social muds"? I've seen people praise LPMUD, about how flexible it is. Would you even consider programming a decent combat system or a hack & slash in MOO? (i've seen it done, for example in HellMOO... with the "bugs" I've noted above)

I hope this makes sense to someone, and that I'm making clear enough what the question or questions are. Thanks for the help and for your patience.


EDIT: It seems I should have posted this in the Newbie forum. Sorry about that.
Back to top
View user's profile Send private message MSN Messenger
Author Message
ide



Joined: 21 Feb 2006
Posts: 105
Location: Seattle

PostPosted: Sun Sep 30, 2007 4:20 pm    Post subject: Reply with quote

Yeah, maybe a mod could move this over to Newbie. But anyway..Smile

Do you have an idea of what language you want to use? Because that would narrow your options down at least a little bit.

I wouldn't recommend MOO for what I think you'd like to do. But if you really are into MOO, it might be your best choice, because maintaining a passion for what you're doing is a huge part of finishing any mud project. There are a few MOO developers who read MudConnector, so if you posted over there in the Staff Wanted forum you'd probably get some hits.

If you want to go more along the DIKU-like route, maybe picking up NakedMUD or SocketMUD (or RocketMUD for that matter) and putting your systems on top of that would be a good way to go?

I don't have a lot of experience with LPs; Dead Souls has an active community, but there are a lot of systems already built into DS, so it doesn't sound like what you're looking for.
Back to top
View user's profile Send private message Send e-mail
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Sun Sep 30, 2007 6:09 pm    Post subject: Reply with quote

I've tried registering to mudconnect, but they refuse my email (all of them, free and commercial mail providers).

The thing about MOO, is that you can't really find much of an active community. I've played with the MOO and more or less understand the language, etc, I suppose that wanting to make a "standard" (read: combat based) MUD seems a bit forced because of some hard coded limitations (parser, prompt, etc).

It seems also that MOOs put the entire database in memory, which probably would be a drawback if I wanted to rent server space.

I don't know much about DIKU, except that you hardcode your "game" into the source code itself, which isn't necessarily a bad thing. The difference with LPMUD is that the driver (read: server app) and the actual game code are separate, just like a java machine and the java applets are separate. Apparently, from the user perspective, there's no net difference.

I am most familiar programming in C/C++, as I'm a professional developer, but I don't mind learning new languages. I've learned stuff like Inform and TADS when I wanted to make interactive fiction, so even specialized languages shouldn't be a problem.
Back to top
View user's profile Send private message MSN Messenger
Author Message
Atyreus



Joined: 15 Jun 2005
Posts: 5

PostPosted: Sun Sep 30, 2007 6:21 pm    Post subject: Reply with quote

You might want to take a look at ColdC/Genesis. It does suffer the same lack of resources that you seem to have found with MOO (and perhaps does it one better, useful ColdC documentation is pretty limited).

It doesn't have many of the other problems you cite with MOO however. One of the great things about ColdC is that it makes very few assumptions about the sort of server you want to run (it doesn't even assume that you necessarily want to run a MU*). The prompt, command parsing, and command queuing are all handled at the core (lib) level rather than by the server code.

ColdC does use an object database, but as your mud is likely not going to use up 4 billion objects, using up your object IDs really isn't an issue. And you can create code at the core level to reuse more volatile objects (I do this with certain things like login objects and coin objects which would otherwise often have fairly short life spans).

ColdC will give you even more flexibility than you will get from any (non-DGD) LP lib/server set-up. Of course, this can also be a disadvantage. The same lack of assumptions that make ColdC so flexible also mean you will have a lot more work to do just to bootstrap a mud that will accept connections and allow you to start coding from within the core (though a couple of bare bones cores are available).
Back to top
View user's profile Send private message Visit poster's website
Author Message
ide



Joined: 21 Feb 2006
Posts: 105
Location: Seattle

PostPosted: Sun Sep 30, 2007 7:08 pm    Post subject: Reply with quote

Well, that's pretty weird about MudConnector. I just signed up a new account with a gmail address and it worked fine for me.

I've also heard good things about ColdC but have never seen it in action. What Atyreus didn't mention is that his mud (listed in the new additions at TMS) has some pretty interesting features listed, so when it opens for beta you might want to check out the gameplay.
Back to top
View user's profile Send private message Send e-mail
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Sun Sep 30, 2007 11:16 pm    Post subject: Reply with quote

"The internet address you are using is not allowed to register new member accounts. If you feel this is in error please contact the site administrator."

This is the message I get from mudconnect.com. I've contacted them and got no reply.
Back to top
View user's profile Send private message MSN Messenger
Author Message
ide



Joined: 21 Feb 2006
Posts: 105
Location: Seattle

PostPosted: Sun Sep 30, 2007 11:58 pm    Post subject: Reply with quote

Just off the cuff here, could this be that TMC is blocking your IP or something of that sort? I feel like this is pretty unlikely -- is that message plainly related to the email field in the input form?


edit: You know, I could easily register for you. TMC assigns you a password randomly that it sends to an email address that you provide. I'd just need an email address and a username.

double edit: and a real name as well.
Back to top
View user's profile Send private message Send e-mail
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Mon Oct 01, 2007 2:52 am    Post subject: Reply with quote

Atyreus wrote:
You might want to take a look at ColdC/Genesis.


Ditto.

Or you might want to look at muds written in other HLLs.
Ruby and Python come to mind.
Back to top
View user's profile Send private message Visit poster's website
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Mon Oct 01, 2007 2:58 pm    Post subject: Reply with quote

Interesting, so Genesis is considered to be the more "official" version of LPMUD? I've been trying MudOS, and managed to compile (it has tons of warnings, you literally have to run MAKE twice because the first run aborts because of excessive warnings). I've been trying to get a hold of Foundation II mudlib but it seems to be gone with the wind.

ColdC looks cool, basically a MUD that is kinda like MOO (programming-wise)?

I'm not such a big fan of Python. I once tried learning it, but never quite felt right. I also hate being forced to use indentation as part of my code, instead of just a cosmetic thing. I've heard lots about Ruby, seems better than Python and is getting very popular.

I suppose I just want to code in C, I'm going to take a look at this Genesis thing.

And thanks ide for the help with mudconnect, I honestly don't know what they were thinking with IP banning an entire country's major ISP.
Back to top
View user's profile Send private message MSN Messenger
Author Message
cratylus



Joined: 06 Nov 2006
Posts: 4

PostPosted: Mon Oct 08, 2007 5:23 pm    Post subject: Reply with quote

GrooveTiger wrote:
Interesting, so Genesis is considered to be the more "official" version of LPMUD? I've been trying MudOS, and managed to compile (it has tons of warnings, you literally have to run MAKE twice because the first run aborts because of excessive warnings). I've been trying to get a hold of Foundation II mudlib but it seems to be gone with the wind.


Genesis is the name of the original LPmud, but it is
hard to say that its codebase is the "official" LP. The history
of LPmuds is such that the fairest thing you could say is
that the CD lib and driver (what Genesis runs) is one of various
development branches of LP since Lars Pensjo released the
original codebase. You could with some confidence say that
other lib/drivers are "official" LP, so I'd tend to shy away from
an attempt to establish a single one as the canonical reference.

Personally I didn't care for F2's licensing, but if you really
want to use it, you can get it here:

http://lpmuds.net/files/foundation/

Some fixed up libs and bundled drivers are available here:

http://lpmuds.net/downloads.html

I suggest giving them a spin, unless you're really determined
to stick with Foundation.

-Crat
Back to top
View user's profile Send private message
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Mon Oct 08, 2007 9:36 pm    Post subject: Reply with quote

I wouldn't say I want to "stick" with any particular mudlib. In fact, just that I have to obey somebody else's license is a big turnoff for me, and would probably push me to make a mudlib from scratch. Even if I never intend to charge for playing a mud (never mind that the marketing possibilities are a bit, how to say it... tiny?) I don't like being told that I can't Wink

But that's all academic, in the end I'll just use whatever.

If anything, I want to check as many mudlibs, and the less complex they are the better, mostly to understand how they work in general, what mechanism they use for storing objects, rooms, for solving player commands, whatever. So far all I've found they have in common is that master file... other than that, almost no two mudlibs are the same even in the most basic stuff Razz

I'm probably going to leave the whole coding part a bit on hold, to do some brainstorming about the actual game play experience. I guess I should first decide on game mechanics before actually programming them, I suppose writing "fake" game logs of what I'd like it to look like is as good method as any. But that is probably for another forum, like design Wink
Back to top
View user's profile Send private message MSN Messenger
Author Message
Tyche



Joined: 13 May 2005
Posts: 176
Location: Ohio, USA

PostPosted: Tue Oct 09, 2007 5:44 am    Post subject: Reply with quote

GrooveTiger wrote:
Interesting, so Genesis is considered to be the more "official" version of LPMUD?
...
ColdC looks cool, basically a MUD that is kinda like MOO (programming-wise)?


Just to be clear "Genesis" happens to be both the name of the ColdC server project and and an LPMud server project. They are unrelated projects. ColdC borrows a lot of ideas from both MOO and COOL (sometimes called MOO2).

I've collected a number of corelibs here:
ftp://sourcery.dyndns.org/archive/servers/tiny/cold/genesis/databases
Back to top
View user's profile Send private message Visit poster's website
Author Message
GrooveTiger



Joined: 29 Sep 2007
Posts: 13
Location: Peru

PostPosted: Tue Oct 09, 2007 7:52 am    Post subject: Reply with quote

Tyche wrote:
GrooveTiger wrote:
Interesting, so Genesis is considered to be the more "official" version of LPMUD?
...
ColdC looks cool, basically a MUD that is kinda like MOO (programming-wise)?


Just to be clear "Genesis" happens to be both the name of the ColdC server project and and an LPMud server project. They are unrelated projects. ColdC borrows a lot of ideas from both MOO and COOL (sometimes called MOO2).


Thanks, I sort of noticed that a few hours after I made that reply, a bit of a big coincidence that got me confused at first, but I'm good now Wink
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    mudlab.org Forum Index -> Coding All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB © 2001, 2002 phpBB Group
BBTech Template by © 2003-04 MDesign