News for hackers. Stuff that matters.
Re:Bomberman massively multiplayer in HTML5 by ivanpopelyshev on Wednesday February 27, 2013 @06:48PM (#5295903)
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 (scoreboard, chat).

Game Server: Haproxy -> Jetty

Web backend: nginx -> node.js

Servers are hosted in cloud and begin to slow down after 800 players.

We'll rent dedicated servers to archieve 1500 players on a map.

P.S. Langoliers are eating the time you spent in bombermine.

Re:Bomberman massively multiplayer in HTML5 by Eliezer on Wednesday February 27, 2013 @10:37PM (#5296824)
Hi! This is awesome from a technical perspective and was initially fun to play. Being reset when I died was a major problem, especially when joining for the first time in the middle of a round and playing against players who already had lots of stuff (at which point one tends to die quickly... and then have to start over).

I'm not an expert in game design (just psychology) but from a hedonic perspective I strongly suspect that you should not be stripping players of assets when they die.

In general, the case for "punishing" a player is weak (why cause the user pain?) and punishing them in a way that makes it hard for them to catch up in a highly competitive game is worse. The "Death" counter going up and losing your current position is sufficient incentive not to get killed, or there could be loss of points, or you could maybe strip off a single distance unit from the bombs.

In the long run you might want some sort of way for early players to catch up quickly, like drops near a player becoming more frequent when they're less advanced compared to other players. Meanwhile, ceasing to strip assets when a player dies, or stripping off only a single unit of distance (not number of bombs, having only a single bomb slows down gameplay a lot) will greatly increase game playability.

Especially don't strip the ability to kick bombs. This makes it far too easy for freshly respawned players to be killed.

Re:Bomberman massively multiplayer in HTML5 by thenonsequitur on Tuesday March 05, 2013 @02:44PM (#5326845)
Having spent altogether way too much time playing this game (so addictive), I disagree. I've played about a dozen sessions with several rounds each, so I've had the chance to play full rounds as well as entering part way through rounds, and I've certainly experienced my share of building up power and dying. I think the game would be no fun if you didn't lose stuff when dying. It wouldn't take long for everyone to build up max powerups, and then it would just be a bombs everywhere shitshow with very little going in the way of tactics or overall strategy. In addition, losing power ups is a huge incentive to avoid dying. In fact, it's the only reason I care.

I agree, however, that it can be really frustrating to spend a precious several minutes farming or searching for power ups only to lose it all in a freak accident, an unlucky wall spawn, or even just getting outplayed by someone. I think somewhere in between would be the best of both worlds -- maybe losing about a third to a half of your power ups would be a good balance. Then you don't lose all the fruits of your efforts in an instance but the incentive to not die is still strong. Yet dying will still happen frequently enough that the overall level of power ups that people have will be low enough to keep game play fun and reasonable.

Re:Bomberman massively multiplayer in HTML5 by lambtron on Thursday February 28, 2013 @12:43AM (#5297246)
I think when viewing this game from the understanding that every game lasts for 20 minutes, the dying and starting over again adds a sort of endless zen to the game.
Re:Bomberman massively multiplayer in HTML5 by psionski on Thursday February 28, 2013 @08:19AM (#5298508)
I like games with harsh punishments - my favorite is hardcore mode in Diablo - death is permanent and when you die, you loose MONTHS of work, every item you have on you, every skill and level you have gained, everything. This really gets the adrenaline going when you're in a tight spot.
Re:Bomberman massively multiplayer in HTML5 by GFischer on Thursday February 28, 2013 @10:55AM (#5299208)
What happens when you have a blackout / internet failure / computer error, or another random problem? You lose everything as well, and usually through someone else's "fault" (and no adrenaline for you :) ).

I used to play Mario 3 on the NES, and at the time my country had a bad electrical infrastructure, I hated going back to the beginning due to a blackout.

Re:Bomberman massively multiplayer in HTML5 by psionski on Thursday February 28, 2013 @12:04PM (#5299580)
Agreed, this can be incredibly frustrating! Has never stopped me from playing the game, though... One time I even broke my keyboard (hit <esc> with a fist), but within minutes borrowed another keyboard and started a new champion... I guess when the game is good you can make your "users" (in both meanings) suffer through anything.
Re:Bomberman massively multiplayer in HTML5 by darkarmani on Monday March 11, 2013 @04:07PM (#5359259)
The heart keeps you from getting stripped all the way. The only thing i agree with is starting with 1-bomb. Even 2 bombs gives you enough time to come up to speed (which is why the heart is so useful)
Re:Bomberman massively multiplayer in HTML5 by darkarmani on Monday March 11, 2013 @04:05PM (#5359246)
Few comments:

1. Just starting with 2 bombs instead of one would make a world of difference starting out. Especially mid-game when everyone has 5+ bombs.

2. The nuke doesn't rack up kills. Make the nuke useful and so people respect it more. Right now it just makes people want to kill you. And it makes the nyan-nuke much more tactical in nature.

3. Make depot spawned bombs "owned" by the user that set them off. If you set off a chain reaction of bombs, you should get the kills.

4. Stack treasure shield and soccer ball shield. Almost no one wastes time scoring because it is so hard. Make it stackable and people will do it more often.

Re:Bomberman massively multiplayer in HTML5 by johnyzee on Thursday February 28, 2013 @04:31AM (#5297904)
Cool, another GWT game. Here's mine:

http://www.gangsta-game.com

Re:Bomberman massively multiplayer in HTML5 by irahul on Wednesday February 27, 2013 @06:56PM (#5295949)
What are you serving with node? Chat?
Re:Bomberman massively multiplayer in HTML5 by jiggy2011 on Wednesday February 27, 2013 @08:02PM (#5296233)
I assume he means that node + nginx runs the game at the HTTP level but the actual game engine and logic are in Java.
Re:Bomberman massively multiplayer in HTML5 by rartichoke on Wednesday February 27, 2013 @09:54PM (#5296678)
But wouldn't the game just be connected straight to Java over websocket once the client has been paired to the server?

From the looks of it I don't think they are using Node for anything related to the game itself. At best it might be used to pair a client to a server but that's basically nothing.

Re:Bomberman massively multiplayer in HTML5 by jiggy2011 on Wednesday February 27, 2013 @10:09PM (#5296732)
Not really sure, perhaps the game itself isn't web-aware and they just use node.js to pull messages in and out because it is fast?

Will have to see if Ivan replies to know for sure. :)

Re:Bomberman massively multiplayer in HTML5 by ivanpopelyshev on Wednesday February 27, 2013 @10:25PM (#5296783)
Game is connected to Java over websocket through haproxy. I'm going to remove haproxy as soon as i discover solution for a few backend problems.
Re:Bomberman massively multiplayer in HTML5 by rartichoke on Thursday February 28, 2013 @09:55AM (#5298884)
Ah, that's pretty much what I expected. So Node has nothing to do with how nice it's running.

One more question if you don't mind: Are you doing any server side checks to make sure player movement is within bounds and then doing prediction on the client?