| Mail |
You might also like: WoW Insider, Joystiq, and more

Reader Comments (40)

Posted: Jul 14th 2011 9:42AM Fabius Bile said

  • 2 hearts
  • Report
all games (be it RPG or other genre) that had both online and offline modes set a steel wall between both. Your characters in mode A coudnt be used in mode B and viceversa.

reasons are sound

allowing offline play = everything is client-handled = massive hacking and cheating

Posted: Jul 14th 2011 9:56AM potaco said

  • 2 hearts
  • Report
@Tempes Magus

I don't think you understand what you're really asking. It is not anywhere near a simple task. The entire architecture of the game would have to be reworked to support this. In a client/server model like the current MMOs, the server handles (most) calculations, loot, spawns, etc.

And cheating would be huge. I assume you don't have a technical background because it would be a monumental undertaking to try to have each client "error-check" their peers. If everything is client-driven, people would find ways to hack it anyway.
Reply

Posted: Jul 14th 2011 10:11AM Borick said

  • 2 hearts
  • Report
@potaco It may not be a simple task, but the elements required are already present. This isn't a matter of redesign as much as it is consolidation of design.

The box sale is a product. MMO persistence within game titles is a service.

We already have signed/unsigned code conventions that can filter the offline mode rewards from the persistent rewards.

Players want housing and it's probably a good idea to place your basic training mode in a private instance instead of out in the multiplayer world where it's just unlived-in filler.

I say develop the initial game as a box title with a fully-developed single-player RPG. The MMO portion can be elective. As a bonus you solve the issue with crowding your world with player housing, you give the modders their personal sandbox and can gate your 'secure' content to whatever subscription/microtransaction model fits your style.
Reply

Posted: Jul 14th 2011 10:16AM Unverfied B said

  • 2 hearts
  • Report
@Tempes Magus

Anything resembling an effective client-side cheat detection would need full information about *everything* in the game (which then will be used by other hacks to show players stuff that they aren't supposed to see), a full and secure history of item transactions (to prevent off line item duping then using them online.. i'm not sure this can be controlled even from a purely theoretical side) and some kind of a consensus system to determine a coherent state of the game world in face of "invalid" actions performed by cheaters.

This isn't anything "not hard", in fact without some kind of tamper-proof hardware component at every single client and without some kind of a trusted central authority (what current MMO servers are) i doubt it's even possible.

And then you get into cheats that are undetectable by software, stuff that needs living GMs to check and act on... Do you suggest the publisher to police every private server out there?
Reply

Posted: Jul 14th 2011 10:18AM potaco said

  • 2 hearts
  • Report
@Tempes Magus

"1) the server doesn't need to do anything as offline games and some offline games with online multiplayer prove."
The server handles the necessary transactions to sort out gameplay for everyone. Do you think most PCs/internet connections have the ability to remain connected to thousands of peers with so much going on? Thousands of individual players, with equipment, inventory, talents, quests, statistics, achievements, etc, that all has to remain synced to ensure a reasonable playing experience? And if you say "it's individual, everyone else doesn't need to store that data" then you just threw out your peer-validation solution for cheating.

"2) They actually have to work to design a game to NOT allow offline play while allowing it would actually be much easier to do. The restriction is actually harder to make work than the unrestricted system."
Again, you're showing that you don't have any idea how software is designed or developed. This is like saying "Massively has to work to design their website to NOT allow offline browsing while allowing it would be much easier to do". It is simply not true.

"3) What's stopping them from allowing players to make their own host server or have one of the clients be the host and handle all the usual things the server does anyway?"
If one client is the host, you will run into the same problems as #1 with the added "benefits" of the problems associated with private servers. With enough knowledge, the host could do whatever they wanted.

Let me bring up another issue: what's the point of an MMO without a world populated with players? If you want a single-player game with multiplayer options, those are available.

But again, some of your biggest complaints with the current systems are that you can't remove people from your gaming experience and that the ignore list is too small. I don't really know what to say to that besides the idea that maybe MMOs aren't for you.
Reply

Posted: Jul 14th 2011 10:29AM potaco said

  • 2 hearts
  • Report
@Tempes Magus

"Games already ALL have that. They have to have the code to run the entire game after all.


Yes, that would be true of "3rd party programs", but the game itself can be its own anti-cheat device with ease.
In fact, I bet MMOs already have such code in a rudimentary form to make sure the client and server are on the same page. I bet it is even part of what causes "rubber-banding"."

??????

How can you continuously make comments like "It's not hard to stop cheating" and "the game itself can be its own anti-cheat device with ease" when you clearly have no idea how things even work currently?

What you install on your computer are (basically) the textures, models and the engine. When you play WoW, you don't house the entire playerbase's data on your hard drive. That would be ridiculous.

And rubber-banding is caused by your client reporting your character in a different location than the server. The correction of the different determines where you end up (since the server is "king" as you put it, you end up back where the server thinks you should be). This is also why, in games like WoW, when you disconnect, you can continue to run around, but can no longer interact with the world.
Reply

Posted: Jul 14th 2011 10:43AM Unverfied B said

  • 2 hearts
  • Report
@Tempes Magus

I'll second the notion that you have no clue WTF you are talking about.
Reply

Posted: Jul 14th 2011 10:56AM potaco said

  • 2 hearts
  • Report
@Tempes Magus

"Yes, actually. They do simply because they already send to millions of other computers and receive from millions of others, albeit through the server but the data is the same amount(maybe more data because the server has to add its confirmation data to every return command)."
Not even close to the same thing. Connecting to a single server is nowhere near similar to directly connecting to thousands of individual players.

"Let's just say that common sense proves what I said is true.
The game has to already work before it can ever "work online".

If you can play a game then it is playable offline. They have to intentionally require the game to check the server for access before you can play it in order to stop you."
There is no common sense in what you are saying. Does the Massively website "check" to see if you are online before they "allow" you to access it? No. The game is required to connect to the server to perform all of it's detailed functionality that makes it work. Without the server, you have a shell of a potential game.

"Yes, the host could do whatever, but the client computer would also have to allow that to happen on its end.
If the host says "you're insta-dead" the client has to allow that to happen otherwise "you don't die".

You can't have a command without execution. That is why this would work. The client will not execute a command that "does not compute"(meaning the client doesn't know how to execute the command because it was the result of a hack)."
If everything is validated, what's the point of a host? Also, have you ever played MW2 with player-hosted multiplayer? A bad connection and even 10 people can't play smoothly. Yes, the netcode could be improved, but it would be extremely difficult to make it efficient enough to allow thousands of players to interact at the level of current MMO standards.

Another point to this: even if peer-validation prevents cheating while playing with others, there would be nothing stopping someone from cheating on their own in offline mode. For example, say max level is 60. What's stopping someone from creating a level 1 in offline mode, "cheating" to make it level 59, then connecting to online mode? Are the other clients going to check that character's entire history to see if they legitimately leveled up?

"This just supports my point. These games should be playable however customers want, especially considering it is such a simple and easy thing to allow."
Again, you're spouting nonsense about how easy it would be when you don't understand it. I can say the same thing. Why don't we colonize Pluto? If we can send men to the Moon, we're making it harder on ourselves by not going to other planets. It would be so simple and easy. Give me a break.

I'm not even saying that it's a bad idea. Customization and choice are great to have. However, the fact is that you are simply wrong about how "easy" this would be.
Reply

Posted: Jul 14th 2011 11:00AM Borick said

  • 2 hearts
  • Report
@Tempes Magus Oh. I think the answer to that one is simple -- ownership of data.

MMO databases are modern goldmines. We players sign away all right to our activities. I don't think the AAA companies are willing to cloudsource their data farm.
Reply

Posted: Jul 14th 2011 11:03AM Borick said

  • 2 hearts
  • Report
@potaco And you aren't exactly correct.

In single-player mode the client manages as the server in 'unsigned' mode. The moment you sign in to the networked portion of the game, a handoff is made to the online servers.

This isn't a new thing. Console games do it all the time. I don't have to plug my X-Box into the Interwebs to play offline Halo.

Signed/unsigned code conventions have been handling this sort of thing for years.
Reply

Posted: Jul 14th 2011 11:14AM potaco said

  • 2 hearts
  • Report
@Borick

It depends on the game. Logging into WoW is not what allows you to run the game. It's what allows you to experience the gameplay. As I stated before, what you install with an MMO is usually just a shell of the game. Connecting to a server is what brings it to life.
Reply

Posted: Jul 14th 2011 11:15AM SgtBaker1234556 said

  • 2 hearts
  • Report
@Tempes Magus

Hacking is widesperad in MMO's already. For example, bots plug in to the client rather seamlessly - it's the reason for technologies like the Warden, which is spawned separately from the client to check for known hacks.

EVE is a good (or bad, depending on your pov) example of this - previously they only had very dumbed down clients, the server did most of the validation/processing for them. Bots had to be hacked together by parsing pixes - which was very clunky.

Then some bright enterprising dev decided it was a good idea to move some of this information to the client (most likely to reduce server-side lag). This lead to a bot explosion and number of "interesting" hacks, like the one that lets you warp to any object in the system, cloaked or not (turns out the client now "knows" where everyone is, it just filters it in the official UI - a quick hack will remove that filter, giving you realtime position of every object).

But I really guess it depends on a game and the mechanics in question.

However, as a more general note, I really have to wonder why anyone would want to play a /massively multiplayer/ game alone, offline. But then again, I like MMO's that force you to group in order to get anything useful done.

Each to their own, eh?
Reply

Posted: Jul 14th 2011 11:34AM potaco said

  • 2 hearts
  • Report
@Tempes Magus

Sigh. There is so much wrong with every single point in every single post you make that it's exhausting.

1) My point about the Massively website "checking" to see if you were online before allowing access was not to show that they don't have a password login... it was to point out that if you are offline, you won't be able to do anything on the website, regardless of how the site itself is coded.

2) By "shell" of a game, I meant that what you install are the resources to model and navigate the game world. The server is what determines mob placement, loot drops, raid boss AI, etc, etc. It has nothing to do with the "competition" for gear between players (that's more of a meta-social thing).

3) To say that cheating is OK as long as everyone can do it is something that I find fundamentally flawed. The morality and ethics of cheating are obviously extremely subjective, but I do not agree with you at all on that point. If I spend I've spent weeks raiding to complete 5/8 of my T30 set and someone creates a character and gives them 8/8 pieces automatically, that is not fair to me. Just because you can do something doesn't mean it's right.

4) Again, games like WoW are not coded as standalone games and then transformed into client/server games by adding restrictions. There are totally different design and development practices involved. You do not seem to be able to comprehend this. Do you design a train by designing a car and restricting it to a railroad track? No.

5) Private servers are possible because people are smart. They basically reverse-engineer the way the game works. If everything was included on the game disks, why would projects like SWGEmu be at such basic stages of development after so many years of work?
Reply

Posted: Jul 14th 2011 11:40AM SgtBaker1234556 said

  • 2 hearts
  • Report
@Tempes Magus

"Why do you have 20 GB of data for WoW on your hard drive if it is not the game?"

But surely 99% of that is just textures and audio (the .mpq files)
Reply

Posted: Jul 14th 2011 11:54AM SgtBaker1234556 said

  • 2 hearts
  • Report
@Tempes Magus

You seem to try to assert how these things are easy to code, without actually demonstrating any understanding what your suggestion might mean.

Like I said, it depends on the game/mechanics:

1) If a game was designed to include a "offline"-mode, it would be entirely possible to do what you suggest. However the "multi-peering" that would have to happen for your "random client acting as server"-idea is pretty heavy to implement and I doubt a random home computer/broadband line could take the sustained load/processing requirements coming from thousands of clients.

2) It's definitely not "easy" to just enable single-player offline mode in a game that has been designed around client/server infrastructure like you seem to suggest.

Without going into finer details of any client/server protocol, it is, in fact incredibly hard, because it is one of the first requirements the game has - everything else is build on that foundation.

Just because you have 20Gb of texture installed on your machine, doesn't mean the entire server engine is.
Reply

Posted: Jul 14th 2011 12:33PM potaco said

  • 2 hearts
  • Report
@Tempes Magus

"Games are stored on my computer, unless that 20Gb f wow data on my computer is just a really really really long "readme" text file that would stretch to the galactic center if printed out.

It's common sense that a website has all data hosted on a server, not a client.
It's common sense that games have a boatload of data on the client and as little as possible on the server, to cut down on space waste and cost."
Space waste and cost? If what you are proposing is such "common sense", why are businesses (whose primary goal [in general] is to make as much money as possible) spending such obscene loads of money on extra development, thousands of extra servers, and employees to maintain those servers? They're power-tripping over letting us play offline so badly that they are financially hindering themselves? I seriously doubt that.

"The client side also has everything needed to play the game, including loot drop data and mob placement data.

The only thing the server is even used for is to determine WHEN mobs spawn where they are expected to spawn, but even then the client computer needs to confirm before it will show up in the game on the client side."
Funny how droprates and such can be hotfixed without a client patch, huh?

"If you can grind out a max level character while another person buys one or creates one with hacks then it is not cheating because they gain no advantage over you other than having gotten their faster, skipping most of the game that is supposed to be fun and not learning their character like you did."
Time is a resource, too. I wonder if you'd feel the same way about cheating if you were in a PVP game where someone cheated their way to max level/max gear and proceeded to corpse camp you for hours on end. But hey, you're at an advantage because you're learning your class, right? Who cares that you can't actually play the game for more than a few seconds at a time?

"How do private servers work? do they hack Blizzard's servers and steal all the information?
LOL
They obviously work because the game is all on your computer except for minor necessary functions to keep you from playing offline or on private servers."
I like your logical fallacies. The two choices are to hack Blizzard's servers or for all the game files to already be on your computer? Come on.

"1) They can't reverse engineer the whole game easily. Private servers go up fast, too fast to have redone all the WoW code."
Too fast? They don't have to redo all the WoW code. They aren't designing new content or functionality, they have first-hand experience with what it should do and reverse-engineer it to make it act the same way.

"2) The SWGEmu is taking so long because it is an emulator that they do not want legal trouble for. they are trying to not copy the code while producing the same experience.
If they wanted to they could just swipe all the code from a SWG disc and then get sued out the butt by SOE when they discover who is running the servers while SOE gets no money from them."
This is not true at all:

Q. Has SWGEmu ever seen Sony Online Entertainment's code?

A. Absolutely not. In fact, Sony Online Entertainment persists that they have lost the code entirely. Not only does this make it impossible for SWGEmu to utilize the code as reference if Sony Online Entertainment was kind enough to grant permission to do so, but it makes it impossible for Sony Online Entertainment to release classic Pre-CU servers to rival what SWGEmu aims to accomplish.

Surely if it was all included on the disks, they would at least use it for reference...
Reply

Posted: Jul 14th 2011 12:41PM potaco said

  • 2 hearts
  • Report
@Tempes Magus

"Seriously, the amount of effort put into a secure login to lock players out of playing a game until they pay for subscription time, and keep that login information and credit card information secure, is a LOT more difficult than just coding the game to only play while a disc is inserted and letting players run hosting servers that don't need to keep login info or any personal info."
I'm not sure how you can determine implementation difficulty when you've already shown you have no experience or knowledge in the area. Why would a login be more difficult that modifying the way an entire game is coded? To put it as simply as you like to: lookup username, verify password, check for active subscription. Keeping that data secure is another issue, but you were maintaining a $15/month subscription anyway, so that is a risk regardless.

"It may be complicated, but I'm willing to bet that it's not as complicated as people think.
It all depends on how efficient and logical your code is."
Not quite. You could have the most efficient code in the world, but when you're dealing with thousands of players, all bets are off. There's a reason Blizzard runs server farms for WoW, with each realm being split into multiple redundant shards.

"They originally test the game offline.
How is that possible if the game is inextricably linked to the online protocol?

How do they have a private developer server that is not linked to the public servers for testing purposes?"
You are just clueless here. It is common practice to have multiple development environments. They modify a setting that tells the client to point to a different server and connect to a dev server. This is probably the simplest part of the entire process.
Reply

Posted: Jul 14th 2011 12:45PM SgtBaker1234556 said

  • 2 hearts
  • Report
@Tempes Magus

I suggest you take a good look at one of the current MMO emulators.

A good place to start is the Trinity Engine: https://github.com/TrinityCore/TrinityCore

(have a look in /src/server especially).

After you've understood the mechanics of that engine we can resume the argument of "entire game is on the client already". And after that we can resume the "it's easy to code 1..2..3"
Reply

Posted: Jul 14th 2011 1:02PM Cyclone Jack said

  • 2 hearts
  • Report
@Tempes Magus
"The client side also has everything needed to play the game, including loot drop data and mob placement data."

No, all of that is stored server-side. Why do think that when you get disconnected, but are still able to run around, nothing spawns, none of the shop keepers are there, and you have absolutely no interaction with the game world? This is also why 3rd party UI's like Atlas Loot has to query the server for loot data that you have not seen. All of that is server-side.

To take a game like WoW and make it playable offline would require a huge amount of work that would, most likely, break the game. It would be easier and faster to create a completely new game rather than modify the current one.

For games that do have an online and offline portion, they are built that way from the ground up and almost always keep their character data separate. This is why Diablo II has B.net characters and offline characters, and why offline characters cannot play on B.net. It is way too easy for players to hack their characters when they are sitting on their HDD, as opposed to sitting on a secure server. This is one of the main reasons why players always request dedicated servers, the other being performance and latency issues (something always present with a peer-to-peer setup).
Reply

Posted: Jul 14th 2011 1:32PM potaco said

  • 2 hearts
  • Report
@Tempes Magus

Comparing yourself to Stephen Hawking? Seriously?

And yes, you do need more than a basic understand of programming in order to accurately make assertions as to which portions of designing and developing a game are easier/harder to implement. The mere fact that you believe a login authentication system is significantly harder than completely reinventing the way a game is coded highlights your ignorance.
Reply

Featured Stories

Betawatch: December 13 - 19, 2014

Posted on Dec 19th 2014 8:00PM

Massively's Best of 2014 Awards: MMO of the Year

Posted on Dec 19th 2014 11:00AM

Engadget

Engadget

Joystiq

Joystiq

WoW Insider

WoW

TUAW

TUAW