Earlier quoted context omitted.
In this case they don't have any trouble with cheating because the game logic seems to be entirely server-side. Also cheating is only trouble when it degrades other player's experience or when they are hacking/hurting the monetization.
In this case it seems okay, but not in all cases. Consider an FPS. Javascript tweaks could be used to automatically change to a shotgun when close range, assist in aiming, highlight players behind walls, etc. I wonder what the most effective ways to combat such cheating would be?
Bomberman massively multiplayer in HTML5
31–40 of 211 posts
Re: Bomberman massively multiplayer in HTML5
#32One thing that always seems to be missing from these web games is support for gamepads for that authentic console experience however.
Re: Bomberman massively multiplayer in HTML5
#33I upvoted this because it is awesome, and it is, well... Bomberman. But I'm genuinely curious: at what point will we stop being fascinated by what can be done in HTML5, and actually start focusing more on what is actually being done -- regardless of the technology used. Or to put it another way: when will HTML5 games stop feeling like HTML5 games? For example, if this were on a console, I think it would still be cool…
Re: Bomberman massively multiplayer in HTML5
#34Earlier quoted context omitted.
This is not a problem specific to HTML5. Although it's a lot harder to mess with a binary than some JavaScript, everything that runs on client side is fundamentally compromised and untrustworthy. The trick is to have as many checks and balances on the server side as possible (to prevent walking though walls, warping, etc).
Very true, however I am not aware of a specification that, for example, makes it easy to check the scripts/resources that are being used are the correct ones. Of course any system to do this can be broken, but it strikes me a much bigger problem with Javascript in the browser than a binary. One idea that's just crossed my mind is the idea of serving different Javascript to each client? It could be obfuscated uniquely…
It is, in fact, not a bigger problem if the code is readily readable. Someone with the technical chops to read the source code and figure out weaknesses that can be exploited for cheating wouldn't be stumped by a binary blob for very long. My usual approach when trying to figure out "cheats" for most such things is to bypass the client altogether and analyse the network traffic to figure out the underlying protocol. Then come up with a client that reproduces those(simple replay attacks at first to see what works and what doesn't) and as my understanding of what does what evolves make it more sophisticated and flexible.
Having your source code fully available to any would-be attacker will force you to not make the mistake of hoping that nobody figures out how things work to be able to attack you. It forces you to pay attention to server-side checks to enforce the constraints of your game(what? that guy just changed his position in a way that's way too fast? not possible!).
Re: Bomberman massively multiplayer in HTML5
#35Actually, this is what I believe is the place of Go (the language) in HTML5 programming. I don't know if this was done with Go on the server side, might as well be node or gevent, but Go would be faster and easier to build a multithreaded game server with.
1: I can't think of a game 2: Most JS libraries/frameworks drive me nuts.
However there are quite a few decent looking JS game frameworks about. Are there any recommendations?
Re: Bomberman massively multiplayer in HTML5
#36Actually, this is what I believe is the place of Go (the language) in HTML5 programming. I don't know if this was done with Go on the server side, might as well be node or gevent, but Go would be faster and easier to build a multithreaded game server with.
I've been fancying building a game with Go + JS. I only have 2 problems: 1: I can't think of a game 2: Most JS libraries/frameworks drive me nuts. However there are quite a few decent looking JS game frameworks about. Are there any recommendations?
Re: Bomberman massively multiplayer in HTML5
#37Actually, this is what I believe is the place of Go (the language) in HTML5 programming. I don't know if this was done with Go on the server side, might as well be node or gevent, but Go would be faster and easier to build a multithreaded game server with.
That said, if you write the server in Node then you can share some of the logic between client and server without having to rewrite in another language. Examples where this comes handy in games:
- If the server runs the logic authoritatively, the client can run part of that logic locally to hide lag.
- If the logic runs on the client, the server can run part of that logic to catch impossible actions and detect cheating attempts.
Re: Bomberman massively multiplayer in HTML5
#38Oh god, have work to do. Must resist urge to waste entire afternoon.. One thing that always seems to be missing from these web games is support for gamepads for that authentic console experience however.
I usually use Joystick Mapper on Mac and JoyToKey on Windows.
Now you can waste your entire afternoon!
Re: Bomberman massively multiplayer in HTML5
#39Earlier quoted context omitted.
I've been fancying building a game with Go + JS. I only have 2 problems: 1: I can't think of a game 2: Most JS libraries/frameworks drive me nuts. However there are quite a few decent looking JS game frameworks about. Are there any recommendations?
Turbulenz[1] looks very promising and their framework[2] seems to be quite advanced, well thought out with a really nice documentation. [1] https://turbulenz.com/ [2] http://biz.turbulenz.com/developers
Re: Bomberman massively multiplayer in HTML5
#40Oh god, have work to do. Must resist urge to waste entire afternoon.. One thing that always seems to be missing from these web games is support for gamepads for that authentic console experience however.