Author Topic: Why COH will not get a server emulator.  (Read 99424 times)

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #80 on: January 10, 2013, 07:00:58 PM »
It's just because when you say emulator people think of MAME or the virtual consoles running old games on modern consoles.  Or even DOSBox for old PC games that manipulated PC hardware directly to get the most performance out of the system (ah the good old days of ignoring DOS and the BIOS and writing down at the metal  :'()

Um... I am confused about where the issue is.

Arachnion

  • Elite Boss
  • *****
  • Posts: 642
  • Professional Cynic
Re: Why COH will not get a server emulator.
« Reply #81 on: January 10, 2013, 07:14:55 PM »
Um... I am confused about where the issue is.

He was giving his opinion...?

It's semantics, dude.

You say TOEMATE-O, I say TUHMAWTOE.

:D
I'm all dressed up with nowhere to go
Walkin' with a dead man over my shoulder

Waiting for an invitation to arrive
Goin' to a party where no one's still alive

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #82 on: January 10, 2013, 07:18:57 PM »
He was giving his opinion...?

It's semantics, dude.

You say TOEMATE-O, I say TUHMAWTOE.

:D

I am confused about where the issue is with people associating emulators with DOSBox and MAME. Me quoting relevant post could have been a clue. :P

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Why COH will not get a server emulator.
« Reply #83 on: January 10, 2013, 07:33:13 PM »
I'm in the same boat, myself. I've always understood "emulation" to mean the creation of an environment within which something can operate that's incompatible with the environments it naturally has access to. Whether you emulate that environment with exacting accuracy - which I would actually term a "simulation" or loosely, what matters about an emulator is that it make the software run as it was intended.

I guess the difference in terms here comes from whether you're trying to emulate City of Heroes or THE SERVER which runs City of Heroes. In this regard, I appreciate Leandro's point: The game runs fine on modern machines and we don't care about the architecture which intercepts the various server calls. We want to emulate City of Heroes itself, which means creating an environment suitable for its needs, and that doesn't have to be a copy of the original server architecture.
In this regard, Leandro's terminology is much more accurate.  If you are attempting to create a server that the client recognizes and that behaves in a manner similar to the way the original CoH servers did with regard to broad gameplay, you are attemping to create a compatible server.

Colloquially, these terms do not have consistent definition: they are used by people in whatever way they want.  But in software development specifically, and in communities that focus on these areas, the terms have very specific usages that are generally followed consistently in the vast majority of cases.

Emulation refers to the behavior of a system treated as a black box.  System A emulates System B if System A behaves like System B given the same inputs.

Simulation refers to the behavior of the components of a system.  System A simulates System B at some level if, for a particular breakdown of System B into components, the equivalent components of A behave in the same or similar way.  In a sense, Emulation refers to the behavior of the system from the outside, simulation refers to the behavior of the system inside.

System A is Compatible with System B if System A can replace System B in a way that allows other systems that normally interact with System B to continue to function correctly, if not necessarily identically.

A colloquial argument about the meaning of those terms goes nowhere, because the dictionary definition is vague and the technical definitions are only important to people involved usually.  But if I were hiring a programmer to create a system, I would expect them to understand the difference between those three terms.

As to MAME, MAME is an interesting example.  MAME emulates game consoles - it reproduces their behavior.  It contains processor emulators that emulate the behavior of CPUs and sound chips etc.  But in a sense, it also simulates game consoles, by reproducing the behavior of those components as they interact with each other.  The stated purpose of MAME is to reproduce not just the behavior of the games, but also in a way that preserves their original design.  Although they do not put it this way, I would say MAME intends to simulate game consoles with a library of component emulators to reproduce the behavior of the original game.  So you could argue MAME drivers are emulators at one level, and simulators at another level.  Albeit, they are extremely loose simulators at best, its not a trivial point since arguments over this precise detail have occurred within the MAME development community periodically over the years.

Where MAME crosses the line from emulator to simulator is in the area of unintended behavior.  In the MAME community, the majority opinion has tended to be if the original game had an behavior the designer did not intend, a MAME driver that did not reproduce that behavior implicitly (as opposed to in an ad hoc manner) would fail to properly recreate the game to MAME standards.  If the base MAME code and the MAME driver did their jobs correctly, such behaviors should automatically emerge from the system.  This notion that a MAME driver with the appropriate roms should *automatically* reproduce all quirks of the original game without those behaviors being explicitly programmed into the code is a hallmark of a simulator more than an emulator. 

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #84 on: January 10, 2013, 08:25:43 PM »
Except if we were to follow such strict rules about what counts as an emulator and what does not, an argument could be made that in computing emulators do not exist (or are extremely rare), as most emulators are not exact functional copies of the systems they try to be compatible with. All emulators listed in this thread, as far as I can tell, take liberties with the precision of that compatibility.

Take DOSBox. Is it an emulator? It sells itself as such, but what does it emulate? Not an earlier PC architecture, because it exceeds that functionality. It would  also fail your definition of an emulator, as there are still certain code paths that do not produce the exact same result as a pre-Pentium era PC computer with MS-DOS on board would. So is it a MS-DOS emulator? Well, no to that as well, as it takes many liberties in how it works for the sake of convenience and its intended purpose. Should we call it a system compatible with MS-DOS running on a PC-like architecture? If we wanted to be strict, then the answer to that question would be yes. However, we do have this nifty convenience word that has been serving as an umbrella term for this kind of stuff and it's an emulator, strictness be damned.

Starsman

  • Elite Boss
  • *****
  • Posts: 286
Re: Why COH will not get a server emulator.
« Reply #85 on: January 10, 2013, 09:03:05 PM »
I'm getting a headache...  :-\
For the sake of the community: please stop the cultural "research" in your attempt to put blame on the game's cancelation.

It's sickening to see the community sink that low. It's worse to see the community does not get it.

I'm signing off and taking a break, blindly hope things change.

Arachnion

  • Elite Boss
  • *****
  • Posts: 642
  • Professional Cynic
Re: Why COH will not get a server emulator.
« Reply #86 on: January 10, 2013, 09:08:06 PM »
I'm getting a headache...  :-\

We must all come to an agreement.

For what Leandro is talking about, we should call it a community server. Or maybe we could call it the reverse-engineering project.

For things similar to (outside of this community/City of Heroes) but not exactly what Leandro is talking about, we'll call those emulators.

Done deal?

:D
« Last Edit: January 10, 2013, 09:43:03 PM by Arachnion »
I'm all dressed up with nowhere to go
Walkin' with a dead man over my shoulder

Waiting for an invitation to arrive
Goin' to a party where no one's still alive

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Why COH will not get a server emulator.
« Reply #87 on: January 10, 2013, 09:30:31 PM »
Except if we were to follow such strict rules about what counts as an emulator and what does not, an argument could be made that in computing emulators do not exist (or are extremely rare), as most emulators are not exact functional copies of the systems they try to be compatible with. All emulators listed in this thread, as far as I can tell, take liberties with the precision of that compatibility.
That's an argument you'd lose, because no definition of emulation requires perfection.

Quote
Take DOSBox. Is it an emulator? It sells itself as such, but what does it emulate?

It emulates a hypothetical x86 *hardware* system with *software*.

Quote
Not an earlier PC architecture, because it exceeds that functionality. It would  also fail your definition of an emulator, as there are still certain code paths that do not produce the exact same result as a pre-Pentium era PC computer with MS-DOS on board would. So is it a MS-DOS emulator? Well, no to that as well, as it takes many liberties in how it works for the sake of convenience and its intended purpose. Should we call it a system compatible with MS-DOS running on a PC-like architecture? If we wanted to be strict, then the answer to that question would be yes. However, we do have this nifty convenience word that has been serving as an umbrella term for this kind of stuff and it's an emulator, strictness be damned.
Also, you're confusing the virtual hardware component of the project which is the x86 system emulator with their version of DOS, which is their implementation of a DOS-like OS that runs on their virtual x86 hardware.

No one that I'm aware of with any knowledge of software systems would be remotely confused as to what DOSBox is.  Its a project that delivers an x86 PC emulator in software, and a DOS-like OS that runs in it.

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #88 on: January 10, 2013, 09:50:42 PM »
That's an argument you'd lose, because no definition of emulation requires perfection.

Precisely. Yet most emulators I dealt with would count as simulators if definitions from your earlier post were to be followed.

It emulates a hypothetical x86 *hardware* system with *software*.

I am intrigued. How do you emulate something hypothetical if you apply your definition of an emulator?

Also, you're confusing the virtual hardware component of the project which is the x86 system emulator with their version of DOS, which is their implementation of a DOS-like OS that runs on their virtual x86 hardware.

I am not confusing anything. I can tell them apart, although in case of DOSBox the differentiation is purely artificial. Instead I am pointing at how inadequate it is to shoehorn DOSBox into the emulators category. Yet, that is how it is usually called. It's convenient to call it that.

No one that I'm aware of with any knowledge of software systems would be remotely confused as to what DOSBox is.  Its a project that delivers an x86 PC emulator in software, and a DOS-like OS that runs in it.

Actually, I am not discussing confusion, but the intended and practical usage of certain words.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Why COH will not get a server emulator.
« Reply #89 on: January 10, 2013, 10:35:51 PM »
Precisely. Yet most emulators I dealt with would count as simulators if definitions from your earlier post were to be followed.
Name one.  DosBox is an emulator.  It emulates in software a system spec of their own design.  Specifically:

Quote
DOSBox emulates an Intel x86 PC, complete with sound, graphics, mouse, joystick, modem, etc., necessary for running many old MS-DOS games that simply cannot be run on modern PCs and operating systems, such as Microsoft Windows XP, Windows Vista, Linux and FreeBSD. However, it is not restricted to running only games. In theory, any MS-DOS or PC-DOS (referred to commonly as "DOS") application should run in DOSBox, but the emphasis has been on getting DOS games to run smoothly, which means that communication, networking and printer support are still in early development.


Quote
I am intrigued. How do you emulate something hypothetical if you apply your definition of an emulator?
Quote
Emulation refers to the behavior of a system treated as a black box.  System A emulates System B if System A behaves like System B given the same inputs.
The DOSBox project developers do not explicitly have to target the emulation of an actual PC somewhere, because the components they are emulating in the aggregate have well-known functionality, including the base CPU, the system interfaces, and the sound and graphics components.  Its also well-known that there's really no such thing as an "x86 PC" in the specific: that's a general term to refer to a class of systems, and the unstated target of any "x86 PC" emulator is a base subset of functionality within that class.  In fact, there's no such thing as an "x86" in the specific either: that is also a reference to a class of processors and not a specific one, but everyone understands what an "x86 emulator" refers to.  It also doesn't violate my definition of emulation, since an x86 emulator would specifically attempt to target the well-known subset of functionality common to processors of that class, and nowhere do I state that subset must exist in a product you can purchase at Best Buy.

The Fifth Horseman

  • Elite Boss
  • *****
  • Posts: 961
  • Outside known realities.
Re: Why COH will not get a server emulator.
« Reply #90 on: January 10, 2013, 10:46:12 PM »
Bah. Let's stop arguing about semantics and call it something tasteless.
Say "Server-like Substitute Product". :p
We were heroes. We were villains. At the end of the world we all fought as one. It's what we did that defines us.
The end occurred pretty much as we predicted: all servers redlining until midnight... and then no servers to go around.

Somewhere beyond time and space, if you look hard you might find a flash of silver trailing crimson: a lone lost Spartan on his way home.

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Why COH will not get a server emulator.
« Reply #91 on: January 10, 2013, 10:53:47 PM »
Bah. Let's stop arguing about semantics and call it something tasteless.
Mapserver spackle?

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #92 on: January 10, 2013, 11:01:12 PM »
Name one.  DosBox is an emulator.  It emulates in software a system spec of their own design.  Specifically:

So DOSBox is an emulator even though it emulates certain idealized approximation of a system. The so called community server is not an emulator, despite being required to follow certain protocol to the letter in order for the client to be able to use it in a meaningful way. Help me understand how is that possible and why such semantic acrobatics are required.

The DOSBox project developers do not explicitly have to target the emulation of an actual PC somewhere, because the components they are emulating in the aggregate have well-known functionality, including the base CPU, the system interfaces, and the sound and graphics components.  Its also well-known that there's really no such thing as an "x86 PC" in the specific: that's a general term to refer to a class of systems, and the unstated target of any "x86 PC" emulator is a base subset of functionality within that class.  In fact, there's no such thing as an "x86" in the specific either: that is also a reference to a class of processors and not a specific one, but everyone understands what an "x86 emulator" refers to.  It also doesn't violate my definition of emulation, since an x86 emulator would specifically attempt to target the well-known subset of functionality common to processors of that class, and nowhere do I state that subset must exist in a product you can purchase at Best Buy.

The DOSBox project comprises multiple emulators bundled into one convenient package. In fact it is more of a specialized virtual machine, being both a comprehensive hardware emulator supporting many components and having a built-in software platform. Yet it fits the definition of an emulator in your eyes. Why does the community server need to be called something else even though its implementation has to follow more rigid set of rules? What cognitive problem does it solve?

Bah. Let's stop arguing about semantics and call it something tasteless.

B-but... I am trying to pad my post count here!

Codewalker

  • Hero of the City
  • Titan Network Admin
  • Elite Boss
  • *****
  • Posts: 2,740
  • Moar Dots!
Re: Why COH will not get a server emulator.
« Reply #93 on: January 10, 2013, 11:12:22 PM »
So DOSBox is an emulator even though it emulates certain idealized approximation of a system. The so called community server is not an emulator, despite being required to follow certain protocol to the letter in order for the client to be able to use it in a meaningful way. Help me understand how is that possible and why such semantic acrobatics are required.

Actually, it doesn't have to follow the protocol to the letter. Certain things, like slash commands that get passed through directly to the server, could be altered and the client would still function.

Little Green Frog

  • Boss
  • ****
  • Posts: 246
  • @Little Green Frog
Re: Why COH will not get a server emulator.
« Reply #94 on: January 10, 2013, 11:15:51 PM »
Actually, it doesn't have to follow the protocol to the letter. Certain things, like slash commands that get passed through directly to the server, could be altered and the client would still function.

I meant protocol as a set of behaviors that need to be present in order for the client to be able present the game world to the player, not the communication protocol the client and server use to communicate with each other. Sorry, should have explained it better.

Atlantea

  • Elite Boss
  • *****
  • Posts: 877
Re: Why COH will not get a server emulator.
« Reply #95 on: January 10, 2013, 11:22:31 PM »
You like potato and I like potahto,
You like tomato and I like tomahto,
Potato, potahto, tomato, tomahto!
Let's call the whole thing off!

:D

Arcana

  • Sultaness of Stats
  • Elite Boss
  • *****
  • Posts: 3,672
Re: Why COH will not get a server emulator.
« Reply #96 on: January 11, 2013, 01:11:30 AM »
So DOSBox is an emulator even though it emulates certain idealized approximation of a system. The so called community server is not an emulator, despite being required to follow certain protocol to the letter in order for the client to be able to use it in a meaningful way. Help me understand how is that possible and why such semantic acrobatics are required.

1.  DOSBox does not "emulate certain idealized approximations of a system."  It attempts to emulate a specific thing: its just that the target isn't hardware that I can point to.  That's irrelevant.

2.  The community server can be said to emulate a game server relative to the game client, but its not a server emulator.  That's two different things.  Emulating a protocol is not the same thing as emulating a server.

Quote
Why does the community server need to be called something else even though its implementation has to follow more rigid set of rules? What cognitive problem does it solve?
As mentioned previously, including by me, a hypothetical community server, if it existed, could call itself anything it wants.  However, there's a significant fundamental difference between attempting to recreate the servers as they previously existed, and attempting to create servers that happen to work correctly with the client.  As Leandro himself pointed out and I concurred, the target isn't really emulation or simulation, but compatibility.

However, the "cognitive problem" the term encapsulates the description of is the fundamental decision anyone attempting to recreate CoH servers must first resolve.  Is the intent to attempt to recreate the behavior of the servers to the best extent possible, or is the intent to create game servers that the game clients interoperate with to the best extent possible.  Those are not identical goals.

dwturducken

  • Elite Boss
  • *****
  • Posts: 2,152
  • Now available in stereo
Re: Why COH will not get a server emulator.
« Reply #97 on: January 11, 2013, 05:11:25 AM »
*slaps Atlantea with a herring and runs away cackling*
I wouldn't use the word "replace," but there's no word for "take over for you and make everything better almost immediately," so we just say "replace."

houtex

  • Elite Boss
  • *****
  • Posts: 933
  • I was the turkey all along! MEE!
Re: Why COH will not get a server emulator.
« Reply #98 on: January 11, 2013, 06:44:54 AM »
You like potatoe and I like potahto,
You like tomato and I like tomahto,
Potatoe, potahto, tomato, tomahto!
Let's call the whole thing off!

:D


Fixed for Dan Quayle.

Madadh

  • Minion
  • **
  • Posts: 48
Re: Why COH will not get a server emulator.
« Reply #99 on: January 11, 2013, 08:56:38 AM »
And that's not what we want. By that definition, we'd be stuck with Issue 24 beta, never advancing the game or adding things to it. No finished Kallisti Wharf, no new powersets, no new costume pieces, no contacts with new story arcs, no Moonbase. Is that what you want? As soon as we start adding things, then you can no longer say it's indistinguishable from the original.

What about "community server"? That's my preferred term, actually. It has a nice ring to it.

Frankly, yes.  I did like the i23 version of the game, and so, if I were 'stuck' with that, I'd be ecstatic..I will happily admit, I do want to see i24, too...   But I dont think an i23 version would be 'settling'..  And I totally disagree with.. "And that's not what we want".  I want CoH back, period...  I will take that. If it is ever offered...


But, I have to commend ya on all the technical details


Cheers