Top Mud Sites Forum Return to TopMudSites.com
Go Back   Top Mud Sites Forum > MUD Players and General Discussion > Introduce Yourself
Click here to Register

Reply
 
Thread Tools
Old 10-07-2013, 06:21 PM   #21
plamzi
Senior Member
 
plamzi's Avatar
 
Join Date: Nov 2009
Home MUD: bedlam.mudportal.com:9000
Home MUD: www.mudportal.com
Posts: 292
plamzi is on a distinguished road
Re: Hi, hey, hello

Quote:
Originally Posted by Achon View Post
So then you admit to assuming the game will have similar logic, which is a far
more flagrant assumption. Even the number of ways to communicate over a network
(with standardized network protocols) is limited compared to the number of
ways to configure software logic and game mechanics.
That the game logic of most MMORPG's is near-identical to some MUDs is not an assumption but an observation, one that is kind of obvious to anyone who has played a hack'n'slash MUD and then NWN, Diablo 2, 3 etc. That MMORPG's are historically and technically the same thing as "graphical MUDs" doesn't need proving so much as some basic research on your part.

As a matter of fact, I have been testing the truth of this for four years now. I have a pretty typical DikuMUD driving a mobile MMO UI that is quite indistinguishable from any other mobile MMO (except it's better ). Based on my experience, I have no trouble believing that a server like KaViR's, which has a co-ordinate based world, would be able to drive a 2D or 3D client with no or very little change in the game logic.

You are right that just because two games use a database doesn't mean they are at all similar. However, that supports my argument and not yours Now, picture two games that both have character properties and advancement, items granting character boosts, mobiles granting items, etc. Because their game logic is similar, chances are that their db schemas will also have structural similarities. And so will their server code, which handles the state changes in these entities. It doesn't matter whether one is written in C++ and the other in Patagonian, that one uses MySQL and the other some proprietary RDB especially designed to make this kind of storage easier.

Last edited by plamzi : 10-07-2013 at 06:28 PM.
plamzi is offline   Reply With Quote
Old 10-08-2013, 04:26 PM   #22
Achon
Member
 
Achon's Avatar
 
Join Date: Oct 2011
Posts: 40
Achon is on a distinguished road
Re: Hi, hey, hello

Quote:
Originally Posted by KaVir
It can, although as I said it's a relatively small part of the MUD, the sort of thing that a well-designed server could change at a later date if it wished. [Hint: take a peek at my MUD protocol handler snippet].
Small, perhaps, but not insignificant. The protocol in many of these cases,
HTTP, TELNET, FTP, SMTP, IMAP, etc, etc, IS the very minimal definition of how
the software needs to behave in order to be considered compliant with that
particular version of the standard. It defines the server (and often clients)
basic functionality.

While you might be able to coerce an HTTP server into implementing
bidirectional TELNET-like functionality or vice versa, this does not change the
essential fact that they (by definition) are not the same, nor are they likely
to be implemented the same.

Quote:
Originally Posted by KaVir
However the point is that you have to factor network protocols into your design regardless of whether you're developing a MUD or an MMORPG, and two games might take the same (or different) approaches regardless of whether they're both MUDs, MMORPGs, or one of each. You can't just say "this protocol is for MUDs, and that protocol is for MMORPGs".
You might say there are conventionally fewer restrictions on how an MMORPG
implements its protocol, otherwise you risk blurring the lines between MUD and
MMORPG, which could lead to some rather foolish arguments.

It is however these "different approaches" regardless of whether they are MUDs
or MMORPGs, which leads us back to the original point. Different approaches can
lead to different outcomes, and it would be an mistake to assume otherwise.

I contend that the choice of protocols could significantly alter both client
and server design, in addition to the potentially vast dissimilarity created by
the game logic itself.

Quote:
Originally Posted by plazmi
That the game logic of most MMORPG's is near-identical to some MUDs is not an assumption but an observation, one that is kind of obvious to anyone who has played a hack'n'slash MUD and then NWN, Diablo 2, 3 etc. That MMORPG's are historically and technically the same thing as "graphical MUDs" doesn't need proving so much as some basic research on your part.
Generalizing a simple observation often produces an assumption.

How could two separate games have "near-identical" game logic? That makes
little sense. What would motivate people to spend their money on such similar
products? I know for certain if I purchased Diablo 3, and it sucked as much as
Diablo 2, I would demand a full refund!

Quote:
Originally Posted by plazmi
As a matter of fact, I have been testing the truth of this for four years now. I have a pretty typical DikuMUD driving a mobile MMO UI that is quite indistinguishable from any other mobile MMO (except it's better ). Based on my experience, I have no trouble believing that a server like KaViR's, which has a co-ordinate based world, would be able to drive a 2D or 3D client with no or very little change in the game logic.
I don't doubt that. Now, will KaVir's server maintain some geometrical scene
representation (shared with the client), and detect collisions with arbitrary
3D planes? Or would both client and server need to be upgraded before we get
to experience these features?

Quote:
Originally Posted by plazmi
You are right that just because two games use a database doesn't mean they are at all similar. However, that supports my argument and not yours Now, picture two games that both have character properties and advancement, items granting character boosts, mobiles granting items, etc. Because their game logic is similar, chances are that their db schemas will also have structural similarities. And so will their server code, which handles the state changes in these entities. It doesn't matter whether one is written in C++ and the other in Patagonian, that one uses MySQL and the other some proprietary RDB especially designed to make this kind of storage easier.
Okay ... It's late, I'll get back to ya on that one.
Achon is offline   Reply With Quote
Old 10-08-2013, 07:26 PM   #23
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: Hi, hey, hello

Quote:
Originally Posted by Achon View Post
You might say there are conventionally fewer restrictions on how an MMORPG implements its protocol, otherwise you risk blurring the lines between MUD and MMORPG, which could lead to some rather foolish arguments.
There aren't fewer restrictions, nor is there a "line" (at least in any technical sense), that's the point. You can play Second Life with a text-based client, or a Diku with a 3D graphical client, should you so wish. There is also nothing stopping you from mixing text and graphics in varying degrees, and indeed most MUDs/MMORPGs do exactly that.

Quote:
Originally Posted by Achon View Post
It is however these "different approaches" regardless of whether they are MUDs or MMORPGs, which leads us back to the original point. Different approaches can lead to different outcomes, and it would be an mistake to assume otherwise.
Obviously, but I never claimed that every server is identical. What I said is that there's very little inherent difference between server development for a MUD, and server development for a MMORPG. The issues you're bringing up are not specific to MUDs or MMORPGs, they're general issues related to server design.

Quote:
Originally Posted by Achon View Post
I contend that the choice of protocols could significantly alter both client and server design, in addition to the potentially vast dissimilarity created by the game logic itself.
Only if the server is extremely badly designed. And even then, you'd have the same problem regardless of whether it was a MUD or MMORPG.

Quote:
Originally Posted by Achon View Post
Now, will KaVir's server maintain some geometrical scene representation (shared with the client), and detect collisions with arbitrary 3D planes? Or would both client and server need to be upgraded before we get to experience these features?
Now you're talking about specific implementations - you're making those assumptions again. Do you think all MMORPGs have collision detection? Do you think MUDs can never have collision detection? This comes back to my earlier point: when you design your game you need to decide whether or not you want collision detection, and you need to make that decision whether you're developing a MUD or an MMORPG.
KaVir is offline   Reply With Quote
Old 10-09-2013, 06:30 AM   #24
meae
New Member
 
Join Date: Jul 2013
Posts: 8
meae is on a distinguished road
Re: Hi, hey, hello

Wow, didn't expect to start such a lengthy discussion, but I'd be happy to contribute.. from the outset, I've been taking notes on developing both applications. I knew a little bit from reading development guides but mostly I've been banging my head into my keyboard.

Position updates taught me the most major lessons.

First, detecting when a client has tried to move out of bounds in a 2d plane without any obstacles is trivial. Accounting for solid objects on the terrain, and a third coordinate? Not so much.

Second, client software loops very quickly. Many hundreds or even thousands of times per second. Attuning the rate of motion to prevent rubberbanding is a challenge all to itself, and with the client looping that often, you need a substantial amount of packet updates to see entities other than those your client is positioning move smoothly. This amounts to about 15 position updates per second for my client, which also uses prediction to account for momentum. Another 5 are used to provide minimal state information on things that can be affected, like mobs. At the moment, that includes everything that moves.

-This raises even more sub-problems of its own. In the textual version, I didn't have to send everyone a mass of packets every second. In the graphical version I'm having to be far more specific when designing objects, to avoid bandwidth waste, and shorten data in general, since n20 space separated strings per second per player is a gigantic cost.


That's not to say its been all difficult, though. Learning to code for the mud client standards was a serious pain in the ass. Detecting client types, disabling or enabling feature sets, and applying compatibility filters is a lot of work. On top of this, analyzing input was extremely tedious, having to account for many variations of commands and document all of it.
Having control over the client's side of things doesn't mean i can discount the golden rule (never trust the client), but it means i can make a lot more assumptions about the structure of input data and state of the client, and don't have to provide verbose error messages to the client when something is improperly formatted.

I'm having fun expanding my horizons, and though much of the functionality and story are changed, it's infinitely entertaining either way to try and build your own little world from scratch.
meae is offline   Reply With Quote
Old 10-09-2013, 10:18 AM   #25
Achon
Member
 
Achon's Avatar
 
Join Date: Oct 2011
Posts: 40
Achon is on a distinguished road
Re: Hi, hey, hello

Quote:
Originally Posted by meae
This raises even more sub-problems of its own. In the textual version, I didn't have to send everyone a mass of packets every second. In the graphical version I'm having to be far more specific when designing objects, to avoid bandwidth waste, and shorten data in general, since n20 space separated strings per second per player is a gigantic cost.
UDP packets have less overhead, but don't provide the book keeping or
reliability offered by TCP. Many real-time servers use UDP and possibly some
form of compression. Delta encoding - Wikipedia, the free encyclopedia

Some servers might even use both TCP and UDP for different purposes.

Quote:
Originally Posted by KaVir
There aren't fewer restrictions, nor is there a "line" (at least in any technical sense), that's the point. You can play Second Life with a text-based client, or a Diku with a 3D graphical client, should you so wish. There is also nothing stopping you from mixing text and graphics in varying degrees, and indeed most MUDs/MMORPGs do exactly that.
Clearly if there is no distinction, one of those terms is superfluous.

I'll try to adhere to the most common definitions, for the sake of utility and
to facilitate communication.

I disagree, Diku would require significant modification to offer the
functionality of a Quake server, at which point it would probably look very
unfamiliar, in fact you might be better off trying to convert Quake into a mud.

You could provide a pseudo-3D graphical client atop Diku, but this is not 3D in
any contemporary sense, based on what modern users might expect if you tried to
convince them that it was. They would probably feel deceived (realizing they've
seen better 3D on their iPhone), and begin sending angry tweets. It could get
ugly.

Quote:
Originally Posted by KaVir
Obviously, but I never claimed that every server is identical. What I said is that there's very little inherent difference between server development for a MUD, and server development for a MMORPG. The issues you're bringing up are not specific to MUDs or MMORPGs, they're general issues related to server design.
Of course, we wouldn't want to burden the subject of server development with
issues related to server design.

What you said is,
Quote:
Originally Posted by KaVir
From a server-development perspective they're pretty much the same thing, the main difference is that you'll need a graphical client as
well.
To reference two well-known examples, not even Diku and LPMud are the same
thing, from a "server-development perspective." They are two very different
approaches to providing a virtual space. One is a hard-coded game server, the
other provides a virtual platform and language with which it is possible to
implement a game server, or something else entirely. So why would you assume
graphical mmos would be the same?

Differences in server design permeate not just the communication methods chosen
by the server, but in some cases, how the game itself is implemented along with
its various subsystems to what extent they exist, integrated or separately.
Add the complexity of managing complex 3D spatial relationships and the need to
frequently synchronize related constructs with the client, to determine
visibility/audibility, solve collisions, etc., and it could result in technical
differences that defy any reasonable attempt at comparison.

Indeed, this message forum might have more in common with text-based muds than
certain graphical mmos do. Should we include web servers and web forum
software into the mix as well? How about IRC chatrooms, certainly they manage
virtual space, and would even meet the "real-time" requirement of Mr. Trubshaws
definition. Many web technologies even offer some level of persistence, and
make use of concepts like "avatar."

Quote:
Originally Posted by KaVir
Now you're talking about specific implementations - you're making those assumptions again. Do you think all MMORPGs have collision detection? Do you think MUDs can never have collision detection? This comes back to my earlier point: when you design your game you need to decide whether or not you want collision detection, and you need to make that decision whether you're developing a MUD or an MMORPG.
Oh great! More assumption accusations. That's all we need!

You missed the point entirely, perhaps you've disregarded the context in which
the statement was made. The implication was that the client can only degrade
what information is provided by the server. It can take either take full
advantage of the information provided, or less. It cannot add information
where none exists. Adding a 3D interface to a game which is essentially 2D, or
not designed to fully utilize a 3D dataset creates a pseudo-3D game (similar to
UO's 3D client, as a generous estimate).

These "specific implementations," whether we like it or not, can have
consequences with regard to server design.
Achon is offline   Reply With Quote
Old 10-09-2013, 02:15 PM   #26
KaVir
Legend
 
KaVir's Avatar
 
Join Date: Apr 2002
Name: Richard
Home MUD: God Wars II
Posts: 2,052
KaVir will become famous soon enoughKaVir will become famous soon enough
Re: Hi, hey, hello

Quote:
Originally Posted by Achon View Post
Clearly if there is no distinction, one of those terms is superfluous.
The word you're looking for is "marketing". Early MMORPGs were simply called graphical MUDs.

Quote:
Originally Posted by Achon View Post
Diku would require significant modification to offer the functionality of a Quake server, at which point it would probably look very unfamiliar, in fact you might be better off trying to convert Quake into a mud.
This appears to be the crux of your misunderstanding. You're comparing two specific implementations that were never intended to work together. As I've explained before, clients "can't pull the data they need out of thin air - they need some way to extract it from the mud". This sort of thing needs to be factored into the design.

A DikuMUD could be played as a fully graphical game, but it won't look like Quake. World of Warcraft could in theory be played as a text-based game, but it wouldn't look like DikuMUD.

However in this particular case the poster is designing his own server, and therefore has full control over what data it passes to the client. He could create a game server that is playable as both a text-based MUD and a full 3D graphical MMORPG if he wished, depending on which client the player uses.
KaVir is offline   Reply With Quote
Old 10-09-2013, 07:15 PM   #27
meae
New Member
 
Join Date: Jul 2013
Posts: 8
meae is on a distinguished road
Re: Hi, hey, hello

Quote:
Originally Posted by Achon View Post
UDP packets have less overhead, but don't provide the book keeping or
reliability offered by TCP. Many real-time servers use UDP and possibly some
form of compression. Delta encoding - Wikipedia, the free encyclopedia

Some servers might even use both TCP and UDP for different purposes.
After switching to UDP, and before I fully realized it, I started trying to re-create TCP's features in the payload. Which is silly, so I've decided to "go against the grain" with this and use TCP.

Quote:
Originally Posted by KaVir View Post
However in this particular case the poster is designing his own server, and therefore has full control over what data it passes to the client. He could create a game server that is playable as both a text-based MUD and a full 3D graphical MMORPG if he wished, depending on which client the player uses.
This is my central implementation of the "alternate worlds" theme, and both the client and server are coded to handle different interaction paradigms. The primary challenges in this seem to be designing so that objects can be used in more than one paradigm and trying to maintain balance.
meae is offline   Reply With Quote
Old 10-09-2013, 08:53 PM   #28
Achon
Member
 
Achon's Avatar
 
Join Date: Oct 2011
Posts: 40
Achon is on a distinguished road
Re: Hi, hey, hello

Quote:
Originally Posted by meae View Post
After switching to UDP, and before I fully realized it, I started trying to re-create TCP's features in the payload. Which is silly, so I've decided to "go against the grain" with this and use TCP.
TCP is probably your best bet. I'm not even sure how fashionable it is to use
UDP these days, there's been some pretty major bandwidth improvements over the
years. Though I'm sure it still sees some use. TCP offers a lot of convenience,
which UDP can help you appreciate. In a situation where you find yourself
reimplementing TCPs features, then yea, it's probably best just to settle for
TCP. In fact, using UDP may be more accurately described as, "going against
the grain," for most common purposes.

UDP is unreliable, which may not matter so much in cases where you are sending
lots of small packets containing data that is not so critical, like movement
deltas, where a few losses won't mean the end of the world.

Wikipedia States,
Quote:
Time-sensitive applications often use UDP because dropping packets is preferable to waiting for delayed packets, which may not be an option in a real-time system.

User Datagram Protocol - Wikipedia, the free encyclopedia
Achon is offline   Reply With Quote
Old 10-21-2013, 04:33 PM   #29
Newworlds
Legend
 
Newworlds's Avatar
 
Join Date: Aug 2007
Name: NewWorlds
Home MUD: New Worlds
Posts: 1,382
Newworlds will become famous soon enoughNewworlds will become famous soon enough
Re: Hi, hey, hello

Quote:
Originally Posted by meae View Post
This is my central implementation of the "alternate worlds" theme, and both the client and server are coded to handle different interaction paradigms. The primary challenges in this seem to be designing so that objects can be used in more than one paradigm and trying to maintain balance.
Two things: Thing one, this is just the beginning of your "primary challenges". If you are truly trying to go Graphical MMORPG, your real challenge will be getting a studio, sound engineers, recording, graphic designers, artists, rendering, and doing it all on little or no budget. Unless of course, you happen to have a million or 2 stashed away.

Thing two: On the argument of there being no difference between an MMORPG and a MUD. I think you are all talking about the data stream and not the definition of MMORPG which is MASSIVELY (key word) Multiplayer Online Role Playing Game. That means folks, 1000's to Milions of players, not single digit to a few hundred. Let's not kid ourselves, MUDs are not anything like MMORPGs in the sense of the term which was created by Ultima Online's developer which had over a million players and he wanted to differentiate it from a simple multiplayer online game. Don't lose faith though, one day they might be, afterall "The Hobbit" the book sold more copies that the movie ever will.
Newworlds is offline   Reply With Quote
Old 10-27-2013, 03:31 PM   #30
meae
New Member
 
Join Date: Jul 2013
Posts: 8
meae is on a distinguished road
Re: Hi, hey, hello

A little update (and one that makes me feel quite flaky!)

I successfully cobbled together a graphical game engine, client and server. I used freely available assets from numerous indie resources and actually managed to get a coherent theme, somewhat pleasing UI, balanced gameplay and stable, low requirement threaded system.

I hated it. I lamented the loss of creative freedom and inability to precisely impart the theme I'm trying for, the increased difficulty in implementing user generated content and the suddenly flat and direct gameplay.

So I've decided to go back to making a mud, where the only obstacle in my way is focus.

tl;dr i'm making a mud after all, how flaky!

Last edited by meae : 10-27-2013 at 03:49 PM.
meae 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 06:23 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