Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > Mud Development and Administration > MUD Coding
Click here to Register

Reply
 
Thread Tools
Old 02-03-2010, 08:36 PM   #1
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Needing direction on starting a MUD

I'm sure you've seen this thread more than a few times. New guy on the board wanting to start his own MUD cause of some grand ideas he has.

Well... Here is another one =). I think I know what software I want to base my project on, but am not sure what the first step would be to take. What comes first? The server? The client? What is the first baby step amoung many that I need to take?


I was interested in using these:

Flash client:
FMud | bc-dev.net
I talked to the owner of this client and he said it is ok to use, even for commercial use =).

Server-side:
Home - Project Darkstar Community
Have heard nothing but good about this, and hear if you are wanting to build an MMO in flash, this will server as a good, free, backend.
Fevenis is offline   Reply With Quote
Old 02-03-2010, 09:02 PM   #2
Orrin
Member
 
Orrin's Avatar
 
Join Date: Jul 2008
Name: Matt
Posts: 141
Orrin is on a distinguished road
Re: Needing direction on starting a MUD

Project Darkstar really is overkill for a MUD, so unless you are particularly interested in learning the technology I wouldn't bother. There is this sample MUD project built on PDS so that could be useful if you decide to go that route.

Also if you use PDS then your MUD won't be playable using regular MUD clients, including FMUD, so you'll probably have to write your own custom client as well.
Orrin is offline   Reply With Quote
Old 02-03-2010, 09:18 PM   #3
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

I was afraid you might say that =). We are likely going to have to build our own custom client anyway due to the fact that we want to add in graphics for certain things.. Character avatar, weapons, status bars... Ect.

Other reason being.. We wanted to put ad space on the site and didn't want to break any licenses from using premade mud libraries.

So if I was leaning towards PDS and a custom flash client.. Would it be fair to say I'd need to get PDS setup first.. And slowly but surely build a client ontop of that? I've been reading a little on Actionscript, so I have a vague idea of how to use sockets.
Fevenis is offline   Reply With Quote
Old 02-03-2010, 09:36 PM   #4
Orrin
Member
 
Orrin's Avatar
 
Join Date: Jul 2008
Name: Matt
Posts: 141
Orrin is on a distinguished road
Re: Needing direction on starting a MUD

If you use PDS then your client is completely separate from the server and you could build your entire game before even starting on the client if you wanted to. Once you've designed your messaging scheme all you'll need is a way to test the sending and receiving of messages between client and server so a barebones client would be fine. There are a couple of as3 client APIs for PDS around so you'll have to experiment with which one works best for you. I'd also recommend you take a look at Slipstream which aims to add a very basic game framework on top of PDS.

I still think you'd be far better off using an existing MUD server. There are many which allow commercial use and of those that don't I can't see that having advertising on your website would make any difference at all.
Orrin is offline   Reply With Quote
Old 02-03-2010, 09:50 PM   #5
ArchPrime
Member
 
Join Date: Aug 2008
Home MUD: Archons of Avenshar
Posts: 72
ArchPrime is on a distinguished road
Re: Needing direction on starting a MUD

I have found that Flash/Flex(UI) + Python(Server) does a pretty good job of things. Python offers a relatively decent base for server writing and provides all the goodies a dynamic language can offer. There are also several examples out there in the wild that will help you get started in building a MUD/Game server in python. Additionally, there are two resources I would also suggest looking at: pyAMF and amFast -- two AMF (Flash's native binary protocol) parsers for python that will make data delivery to/from the client much easier.


To answer your original question (What comes first?) -- you might consider starting with a server - whether you write one from scratch or d/l something that's out there, learn the in's and out's of the beast. Then, write a simple flash client to connect to your simple server -- both supporting simple chatting. Move outward from there.

Once you have a socket server listening and a client connecting --- the world is yours.

-A/P
Archons of Avenshar
ArchPrime is offline   Reply With Quote
Old 02-03-2010, 10:40 PM   #6
Estarra
Member
 
Join Date: Jul 2003
Home MUD: Lusternia
Posts: 189
Estarra is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Fevenis View Post
I was afraid you might say that =). We are likely going to have to build our own custom client anyway due to the fact that we want to add in graphics for certain things.. Character avatar, weapons, status bars... Ect.
A custom client is a huge project! I've seen a lot of really nice skins for ZMUD, MUDLET, MUSHCLIENT, etc. that have graphics and status bars, etc., if that's what you're looking for. Offering skins for the common clients may be a lot easier than trying to include a client from scratch for a new MUD.

Here's an example of a ZMUD interface that one of our players posted on our forums a long time ago.
Estarra is offline   Reply With Quote
Old 02-04-2010, 02:20 AM   #7
Newworlds
Legend
 
Newworlds's Avatar
 
Join Date: Aug 2007
Name: NewWorlds
Home MUD: New Worlds
Posts: 1,384
Newworlds will become famous soon enoughNewworlds will become famous soon enough
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Fevenis View Post
What comes first? The server? The client? What is the first baby step amoung many that I need to take?
Neither.

The first thing you need to do in order not to go insane and hate yourself in a year is read and follow this thread:http://www.topmudsites.com/forums/mu...r-own-mud.html
Newworlds is offline   Reply With Quote
Old 02-04-2010, 05:00 PM   #8
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by ArchPrime View Post
I have found that Flash/Flex(UI) + Python(Server) does a pretty good job of things. Python offers a relatively decent base for server writing and provides all the goodies a dynamic language can offer. There are also several examples out there in the wild that will help you get started in building a MUD/Game server in python. Additionally, there are two resources I would also suggest looking at: pyAMF and amFast -- two AMF (Flash's native binary protocol) parsers for python that will make data delivery to/from the client much easier.


To answer your original question (What comes first?) -- you might consider starting with a server - whether you write one from scratch or d/l something that's out there, learn the in's and out's of the beast. Then, write a simple flash client to connect to your simple server -- both supporting simple chatting. Move outward from there.

Once you have a socket server listening and a client connecting --- the world is yours.

-A/P
Archons of Avenshar
Did you create your client from scratch?

What are some of the more popular backends that people use?
Fevenis is offline   Reply With Quote
Old 02-04-2010, 05:51 PM   #9
Orrin
Member
 
Orrin's Avatar
 
Join Date: Jul 2008
Name: Matt
Posts: 141
Orrin is on a distinguished road
Re: Needing direction on starting a MUD

One more thing to note on Project Darkstar is that Sun (Oracle?) just pulled the plug on it. It's an open source project so I'm sure development will continue, but it's certainly a less attractive proposition now.
Orrin is offline   Reply With Quote
Old 02-04-2010, 06:09 PM   #10
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Orrin View Post
One more thing to note on Project Darkstar is that Sun (Oracle?) just pulled the plug on it. It's an open source project so I'm sure development will continue, but it's certainly a less attractive proposition now.
One reason it was appealing to me was because it was open source. Others similar to it, like SmartFoxServer, cost money.
Fevenis is offline   Reply With Quote
Old 02-04-2010, 06:35 PM   #11
Ide
Senior Member
 
Join Date: Feb 2006
Location: Seattle
Posts: 361
Ide will become famous soon enoughIde will become famous soon enough
Re: Needing direction on starting a MUD

It seems like one possibility is NakedMUD (C/Python) + Fmud.

Another might be a custom server (I recommend Python too), perhaps built on miniBOA (a Python telnet implementation) with Fmud.

An ambitious approach might be a Python server with a javascript client, perhaps Twisted + Nevow. Then you can play in the iphone without Flash .

edit: customizing Fmud with graphics is very doable.
Ide is offline   Reply With Quote
Old 02-04-2010, 06:45 PM   #12
Orrin
Member
 
Orrin's Avatar
 
Join Date: Jul 2008
Name: Matt
Posts: 141
Orrin is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Fevenis View Post
One reason it was appealing to me was because it was open source. Others similar to it, like SmartFoxServer, cost money.
Open source doesn't necessarily equate to free (as in beer) and to some extent you will get what you pay for. I've played around with both SmartFox and Darkstar and IMO SmartFox is far far easier to use. Smartfox also has plenty of good documentation, examples, tutorials, and an active forum where the developer answers questions.

But honestly, both are probably more than you need for your average mud. PDS in particular was designed to meet the challenges of supporting thousands of concurrent users and I doubt that's a problem you'll need to solve.
Orrin is offline   Reply With Quote
Old 02-04-2010, 06:54 PM   #13
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Orrin View Post
Open source doesn't necessarily equate to free (as in beer) and to some extent you will get what you pay for. I've played around with both SmartFox and Darkstar and IMO SmartFox is far far easier to use. Smartfox also has plenty of good documentation, examples, tutorials, and an active forum where the developer answers questions.

But honestly, both are probably more than you need for your average mud. PDS in particular was designed to meet the challenges of supporting thousands of concurrent users and I doubt that's a problem you'll need to solve.
You never know when something will go viral and just catch on. Lucky and just being the the right place at the right time seem to be big factors in this. In the major off chane that it did happen though, I wanted to be prepared rather than be caught with my pants down.


I've heard of NakedMUD.. I'll look deeper into that one.

Quote:
Originally Posted by Ide View Post
It seems like one possibility is NakedMUD (C/Python) + Fmud.

Another might be a custom server (I recommend Python too), perhaps built on miniBOA (a Python telnet implementation) with Fmud.

An ambitious approach might be a Python server with a javascript client, perhaps Twisted + Nevow. Then you can play in the iphone without Flash .

edit: customizing Fmud with graphics is very doable.
Did you know the next version of Flash (CS5) can natively export flash to iPhone app =D? Thats kinda one reason I wanted to do the client in Flash.

Last edited by Fevenis : 02-04-2010 at 07:01 PM.
Fevenis is offline   Reply With Quote
Old 02-05-2010, 12:56 PM   #14
ArchPrime
Member
 
Join Date: Aug 2008
Home MUD: Archons of Avenshar
Posts: 72
ArchPrime is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Fevenis View Post
Did you create your client from scratch?

What are some of the more popular backends that people use?

Yes, I created the client from scratch.

I am not sure what you mean by "backend", since that could mean a couple things to me. ( General Server? Database server/architecture? Both? Neither? ). If you are referring to the game server itself, that was also done from scratch. As for what "other people" use --- some write custom servers, most seem to d/l a 'code base' and tweak it a bit, a lot, or not at all -- and toss that up for folks to play. A small subset purchase licenses to code bases or engines and roll with those...

If you're interested in time frames to get something from development to production, a side note:
If you've visited AoA, what you see there has been in production for about a year now. Prior development on that particular client/server started about 7 months prior to the production release(Feb 2009) - so, AoA's current state took about 1y 7mo to achieve. The game did have a production look and feel in February of 2009 that was slightly different than what you see today. As with any game of this genre, there is always growth and change. The current state of AoA could have been achieved much sooner, but real life, other projects and other miscellaneous "what-not" managed to creep up - be prepared for that. ;-)

Good luck in your decision and project!
A/P
Archons of Avenshar
ArchPrime is offline   Reply With Quote
Old 02-05-2010, 03:18 PM   #15
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

Yeah, I meant the game server itself. I'm not worried about hosting atm as it will all be done from my home until I'm ready. That is very impressive that you did that all from scratch. Your client looks very clean and easy to use. I haven't tried the game out, but I will at some point. I know I had alot of my plate, but thankfully I have a more code savvy friend than myself on this project. We still were having a problem putting our first foot out the door.

Currently I have PDS and NakedMUD installed on a test machine to play with both. I guess we'll see how it goes from there. I think after we get a feel for what we want as a backend, thats when things will start to take off.
Fevenis is offline   Reply With Quote
Old 02-05-2010, 04:38 PM   #16
dranor
New Member
 
Join Date: Apr 2005
Posts: 13
dranor is on a distinguished road
Re: Needing direction on starting a MUD

My two main suggestions are:

1) Start with the server first. Getting some sort of game running that you can telnet to and start playing around with. While it's important to think about how your client will interface with your game, that can generally wait.

2) Get a good, loyal group of friends to help you. You're going to need people to help you build, code, and test your creation. You want to surround yourself with as many positive people to give you assistance, encouragement, and a reason to continue working on something that will probably be very painful, at times.
dranor is offline   Reply With Quote
Old 02-05-2010, 05:26 PM   #17
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

What are some of the other popular code bases/servers out there? I would be nice to have something that is kinda "out of the box" I guess you could say. Tweaking something that is already out there seems to be a better idea than recreating the wheel. Only thing I'm concerned about is the amount of clients a server can handle.
Fevenis is offline   Reply With Quote
Old 02-05-2010, 11:49 PM   #18
Ide
Senior Member
 
Join Date: Feb 2006
Location: Seattle
Posts: 361
Ide will become famous soon enoughIde will become famous soon enough
Re: Needing direction on starting a MUD

All of the DIKU bases (Rom, Circle, Smaug, Godwars, etc.) are out of the box games. Most of the LP libs will do that for you too (i.e. Dead Souls). You could also look at CoffeeMUD (Java).

Are you planning to build an original world and custom game rules? An out of the box server may be more trouble than it's worth.
Ide is offline   Reply With Quote
Old 02-06-2010, 02:44 AM   #19
Fevenis
New Member
 
Join Date: Feb 2010
Posts: 14
Fevenis is on a distinguished road
Re: Needing direction on starting a MUD

Quote:
Originally Posted by Ide View Post
All of the DIKU bases (Rom, Circle, Smaug, Godwars, etc.) are out of the box games. Most of the LP libs will do that for you too (i.e. Dead Souls). You could also look at CoffeeMUD (Java).

Are you planning to build an original world and custom game rules? An out of the box server may be more trouble than it's worth.
Yeah, custom world, custom rules. Custom everything I suppose. More than anything I was looking for things to look at for example... Authentication... Client number handling and control. =)
Fevenis is offline   Reply With Quote
Old 02-06-2010, 01:33 PM   #20
ArchPrime
Member
 
Join Date: Aug 2008
Home MUD: Archons of Avenshar
Posts: 72
ArchPrime is on a distinguished road
Re: Needing direction on starting a MUD

Fevenis:

Looks like you've started quite an active thread here! At any rate, here is some additional advice based on my experience as a software developer ( over and above just building a MUD/Client)

1). Don't be afraid to re-invent the wheel. People do it all the time, and many times, we get better wheels in the process. Considering your interests in the commercial side of things, building everything from scratch might be your best bet from a licensing perspective.

2). If you do use someone elses code base, I would strongly urge having a lawyer read the license and provide you proper advice as to how that license will affect your ability to legally use said code. This might sound like a crazy and expensive step, but if you have any intentions of making money from your project, you'll want to ensure your interests are protected. You can find no end to the licensing flame wars on any given MUD related forum. ;-)

3). Go to Google and search for MUD codebases. I am sure you will find plenty to download that you can start taking a look at and drawing inspiration from.

4). Don't get bogged down worrying about optimization yet (IE: will the server handle the connection load? What do I have to do to make it faster?). The more you try to dig into those aspects, the less you'll be producing something that provides tangible results -- and tangible results will make you and your team happy. And -- keep in mind that even if you d/l someone's supposedly decent server, a programming mistake or two can bring it to a crawl. Instead of worrying about optimizing code, optimize your programmer's time and efforts ... if they(you) are programming in a way that is already proper for the chosen platform, you'll see bigger payoffs than trying to analyze server load. ;-) Managing server load is a science unto itself...

5). I feel that Dranor hit the nail on the head when he said surround yourself with positive people. It's all too easy to bogged down with the grumblings of the naysayers. Not everyone is going to like what you've done and many will tell you where you've gone wrong and how much feature X sucks. Don't fall for it. ;-)
Also, it's quite easy to come to the sudden realization that building and running a MUD is a LOT of work -- more work than the payoff, even. Again, this is where positive folks can help you stay strong and true to your vision.

-A/P
Archons of Avenshar
ArchPrime is offline   Reply With Quote
Reply


Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 05:16 AM.


Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Style based on a design by Essilor
Copyright Top Mud Sites.com 2014