Live data from Hacker News

Bomberman massively multiplayer in HTML5

bombermine.com

151–160 of 211 posts

Re: Bomberman massively multiplayer in HTML5

#151
post #70

Earlier quoted context omitted.

Web Apps set us back 20 years in pretty much every respect except ease of deployment (1992 - people are impressed that Wolfenstein 3D gets 60FPS on a 100MHz Pentium; 2012 - people are impressed that Wolfenstein 3D (in Javascript!!!!111omg) gets 15FPS without sound on an 8-core 3GHz box). With the exponential rate of development I doubt it'll take a full 20 years to catch up, but it'll still be a while before we've co…

I think this overlooks all the pluses of this new "medium". How did you get your copy of wolfenstein in 1992? Travel to the radioshack, get a stack of disks, feed them one by one into your trs80? Within seconds this morning I was playing this game - with a 1000 other people simultaneously. Amazing in my book.

I don't remember how I got it but I'm sure I didn't go to a store. It really wasn't that hard to get either through BBSs or copying from a friend. It went viral and everyone had a copy. BTW, by 1992 PC clones had won, trs80s were long gone.

Re: Bomberman massively multiplayer in HTML5

#153
OK, so how many pixels / sprites can I push per frame (and at which framerate ; ) on this HMTL5 thinggy?

Btw I was eating mode 7 for breakfast on the SNES and ruling the Amiga co-processors (eg to do copper bars), so I happen to know a thing or two about very nifty optimization that can be used in games.

I'm pretty sure a few old dogs could teach some young monkeys a few tricks in this HTML5 thing...

Re: Bomberman massively multiplayer in HTML5

#154
post #42

Earlier quoted context omitted.

Do you have any examples of live web-based games that are doing this with Node?

You might want to look at grits. It's an open source html5, multi-player PvP, 2D shooter up game with sound, built in match making, auth server and architected by a team of ex-game developers at Google using mostly free tools to create maps, package assets, etc.. Here's the source: http://code.google.com/p/gritsgame/ They are using Node to run the game instances on the server. This is mainly because having identical…

The Grits project page says Grits was designed "using Google's technology stack". Unfortunately, they mean it literally because Grits dies with JS errors in any browser that is not Chrome and the latest version of Safari. Grits requires Google's Web Audio API, which is currently only a working draft spec.

  Web Audio API is not supported in this browser
  TypeError: this._context is null
  https://gritsgame.appspot.com/scripts/core/soundManager.js

Re: Bomberman massively multiplayer in HTML5

#155
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?

"I wonder what the most effective ways to combat such cheating would be?"

As stated, if the logic is performed on the server-side then the only way a client can cheat is by modifying the inputs.

The one thing that makes it hard for client to know in which way to cheat the inputs is... Randomization.

Do not make something where players are recompensed when doing a super skilled move, like a headshot. Or you'll have aimbots. As simple as that. Player has a shotgun? Make it fire 30 miny bullets at once with some server-side randomization (that's how many shotguns work btw).

Do not want to give info about the other side of the map so that a rogue bot cannot shift to the correct strategy automatically ? Use server-side fog of war. That way the very info needed to "map hack" simply is NOT available on the client.

It is hard to combat all forms of cheating. But maphack can definitely be mitigated and randomization can really help with many aimbots.

Regarding the "highlight players behind walls": two things to do. 1) do not allow to fire through walls (unless the first Counter-Strike, which was totally silly in that you could fire through 2-meters wide wall with a simple pistol) and 2) server-side fog-of-war. Do simply not send to the client the info that would allow the client to determine that an ennemy is behind the wall too early.

Sure, at one point you need to give the info: give it as late as possible and make is so "super crazy high reflex" are not rewarded in an insane way. For example make it slower to "switch gears", etc.

It all comes to a balance between fun and anti-cheat but many things can be done to make cheaters life way harder and, most importantly, way less efficient.

Re: Bomberman massively multiplayer in HTML5

#157

This is what I imagine when I hear HTML5 gaming. Just like "fun" on a PC looks different from "fun" on a console, and even more so from "fun" on a Wii, or a DS or an iPhone, "fun" on the web needs to take advantage of the nature of the medium.

In my opinion, HTML5 games (and apps) have a few key advantages that people on here would like to conveniently leave out (I COULD PLAY THIS ON PENTIUM 100MHZ etc...).

1. Accessibility. It never get's easier than typing in a URL. It's so easy that I can get my grandmother to play. At every step on the way to the game you will lose people. download Steam -> download game -> wait for download -> click on game. You've lost 90% of people right there. Being able to spread a link can create a much bigger viral effect as well.

2. Cloud based means that you can continue your game literally anywhere. I switch computers all the time, but every computer, phone or tablet has a browser, so there is no barrier to playing on them.

3. Cloud based also means that multi-player come naturally. You already have a server to serve the game, so the step to including multi-player is small.

4. Instant updates. Invalidate the cache and BAM, the user has the latest version of the game. This allows for some seriously fast iteration.

5. No walled garden app store 30% cut crap. Host your own servers and you're free from all that. Users might not find your app like they do through those app stores, but when a game is available directly through a link, do you really need app stores for discoverability? Shouldn't forums and review sites and whatnot take care of that?

Re: Bomberman massively multiplayer in HTML5

#158

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'm sure that MMO game can be written on: Go, Java, JS (node.js), Dart, Kotlin, Scala. The point is that we need a strong backend and ability to use common code on the client and server.

(MMORPG) frontend(js) + backend(node.js) @ http://legendofkronus.com

Re: Bomberman massively multiplayer in HTML5

#159
post #145

Pardon my English. Team consists of two programmers and four helpers, we live in different cities near Moscow. I started developing the game in April, published link at habrahabr.ru and since then i'm optimizing network and rendering. We were preparing for Mozilla GameOn, posted a link to /r/webgames, it became viral. We're in shock :) Game Core: Pure Java. Game Client: cross-compiled with GWT. Angular.js for UI (sco…

What are you serving with node? Chat?

I assume he means that node + nginx runs the game at the HTTP level but the actual game engine and logic are in Java.
Post reply on HN