Live data from Hacker News

Bomberman massively multiplayer in HTML5

bombermine.com

31–40 of 211 posts

Re: Bomberman massively multiplayer in HTML5

#31
post #30

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?

You won't be able to prevent Javascript aim bots. The best you can do is server side detection of aim-bot-like behaviour, but this will always be a losing battle (better aim bots) and you may punish good players.

Re: Bomberman massively multiplayer in HTML5

#33

I 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…

This is how we get there. HTML5 is pretty fresh and it's games like this that let us understand it's capabilities and to improve upon them. I mean, this is a mini MMO implemented in HTML5. That's a pretty big step forward from Pacman in HTML5 already.

Re: Bomberman massively multiplayer in HTML5

#34
post #20
post #15

Earlier 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…

You will still fail to prevent cheaters using an approach like this one. Even a game that is only distributed as a binary but with no or few checks on the server for cheating will be compromised very fast. It only takes one person to figure out how to do it and then release a proof of concept.

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

#35

Actually, 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

#36

Actually, 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?

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

#37

Actually, 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 agree that Go is a fantastic language for writing servers that need both CPU performance and responsively handle many connections.

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

#38

Oh 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.

You can usually get around that by using a joystick to keyboard mapper.

I usually use Joystick Mapper on Mac and JoyToKey on Windows.

Now you can waste your entire afternoon!

Re: Bomberman massively multiplayer in HTML5

#39

Earlier 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

Wow no kidding; I hadn't come across that one and it does look pretty swish.

Re: Bomberman massively multiplayer in HTML5

#40

Oh 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.

this is a pc game, and an mmo as well, why would you want to play with a gamepad? besides you could say the same about any pc version of bomberman ever made, i doubt any of them had gamepad support, because people rarely use gamepads on pc.
Post reply on HN