Hacker News new | ask | show | jobs
by Faark 2396 days ago
Keep in mind MMOs have a persistent world. In CoD, meeting a cheater can ruin a 20min (? haven't played in a while) game session. In an MMO, it might screw up the entire economy. Thus off-loading authoritative work to clients is pretty much a no go.

To prevent clients from cheating, you have to run pretty much the entire game engine on the server. Sure, you can strip graphics, but not physics, cooldowns or inventory management. As an example: it sucks being killed by an enemy obviously behind a wall or in another room, so fired bullet should be checked against world geometry.

Pretending all this to be no big deal might be right for some specific (kind of) games, but generalizing it that much is... unrealistic at best.

Btw, dev time is valuable as well, so an overly engineered solution probably isn't a realistic option for many online games either.

1 comments

Having a persistent world does not need a 'serious' server.

And I mentioned trust in my first post. It's a reason to use a server, but it's not a reason to use a 'serious' server.

None of these are reasons you couldn't use 40 tiny weak throwaway servers in place of 5 big serious servers.

> As an example: it sucks being killed by an enemy obviously behind a wall or in another room, so fired bullet should be checked against world geometry.

That sounds more like a shooter than an MMO. And a shooter instance definitely fits into a tiny 2-4 core server.

> dev time is valuable as well

Which is why so much software is single-threaded. And single-threaded software only needs one core.

(And the dev time for what I was talking about would be tiny, and it would save money overall. There are good reasons not to do it, but I don't think dev time is one of those good reasons.)

You’re arguing a nothing point here.

Either you’re not making your point correctly or you’re just wrong.

I made two AAA games with online components, the game servers are “serious” (40cores, 256GiB ram, 10G network) because they have to be to emulate physics, to run AI and to do raycasting of bullets (to detect shooting through walls which the clients tell us they can do if you’re cheating) etc. And /even our/ game worlds offloaded too much in the first game leading to huge issues with cheaters.[0]

And our gameserver is written in C++ with a lot of optimisation work.

[0]: https://www.theguardian.com/technology/2016/apr/26/hackers-c...

You need 40 cores to run one instance?

I just think that's pretty uncommon among games.

Maybe I'm wrong, but keep in mind that something like "an MMO" managed to work on the hardware that existed 15+ years ago and the underlying computational details have barely changed for many of them.

And something like Eve is single threaded.