> I suppose the main issue I and others are concerned about is security and cheating.
>
> In a p2p connection, cheating is often as simple as loading up Cheat Engine and changing one or two variables. Obfuscation or no, this is incredibly simple and can take little no nearly no effort.
>
> If you have a server available to verify at least one or two bits of data here and there, you can prevent the majority of cheaters.
There is a flaw in this that goes way back in gaming history, and here's a simple dogma for gaming.
If people want to cheat, they will. No matter your implementation. Even MMOs with a massive team and server side monitoring have cheats. Don't design your game around cheaters, focus on the rest of the good folks.No I know that. I've seen it go wrong, before (when I was the cause...), but even a little anti-cheat can go a long way. This is especially true of competitive games. Co-Op? Who really cares. But if your multiplayer implementation is meant to provide friendly competition, and your game is even minutely popular, cheating can cause people to simply drop out. You don't want to shy players away from your product because of other unruly people.
> I suppose the main issue I and others are concerned about is security and cheating.
> In a p2p connection, cheating is often as simple as loading up Cheat Engine and changing one or two variables. Obfuscation or no, this is incredibly simple and can take little no nearly no effort.ou can implement a completely secure game on a client-only p2p architecture (that is, one that has no "hosts" or "servers") - saying you can just "load up cheat engine and change some values" couldn't be further from the truth in a properly designed environment, that'd be the same as claiming you can edit the amount of bitcoins in a wallet or infect a torrent swarm with a malicious file.Yes, you can, but it's not as easy as using a server, and often games will provide little to no anti-cheat whatsoever. In a p2p system you often have a host and a client(s) - or at least from what I've learned in my classes - and if you figure out who is the host, and you are it, you can do pretty much anything unless you have a server to check it.
And good luck with anti-cheat using Javascript. There are client-heavy games that have succeeded in preventing cheating, but the only ones that come to mind are Flash games such as RotMG, which uses an insane AS3-specific obfuscation that JS will never have.
I'd agree that you could properly design a game to prevent the majority of cheaters, but the degree you could achieve is limited by using JS or using C2 for web-browser games.