News for hackers. Stuff that matters.
Re:Bomberman massively multiplayer in HTML5 by bayesianhorse on Wednesday February 27, 2013 @08:25AM (#5292192)
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.
Re:Bomberman massively multiplayer in HTML5 by Jare on Wednesday February 27, 2013 @08:52AM (#5292322)
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 by wodow on Wednesday February 27, 2013 @09:13AM (#5292405)
Do you have any examples of live web-based games that are doing this with Node?
Re:Bomberman massively multiplayer in HTML5 by rartichoke on Wednesday February 27, 2013 @09:36AM (#5292512)
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 code paths on both sides is highly beneficial due to how much they need to sync up to protect against cheating and have client side prediction. [Note: this isn't an opinion, I asked this question in their study group and the lead game developer told me that is why they chose Node over Go].

Think about that for a second. They created a presentation at Google I/O for the game, have a course running on Udacity building the game from scratch, have study groups at Google's offices, run the auth server on app engine and they still chose Node to run the game logic on the server instead of Go.

I wish Go could be utilized as game servers because it's clearly going to crunch numbers faster than javascript but it seems like not running JS on the server is a catastrophic mistake for game development where you plan to have the client running it in a browser with JS.

Re:Bomberman massively multiplayer in HTML5 by cpeterso on Wednesday February 27, 2013 @07:21PM (#5296061)
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 by the_gipsy on Wednesday February 27, 2013 @10:35AM (#5292839)
Catastrophic mistake, isn't that a bit exaggerated?
Re:Bomberman massively multiplayer in HTML5 by rartichoke on Wednesday February 27, 2013 @11:52AM (#5293303)
I don't know. When a professional 3D game developer (the lead guy who coded grits) tells me it's necessary that both ends use the same language to correctly calculate predictions and simulations in the correct timing then I believe him.

If your game is completely out of sync and the input feels horrible because it's delayed then your game is going to be instantly rejected. Having all of your hard work instantly rejected seems catastrophic to me.

Personally I don't understand why both ends need the same language because the server is definitely going to execute the code at a different pace than a random client, but I'm going to take his word for it because he's a professional in the industry with a really good track record.

They had every reason in the world to use Go but they didn't.

Re:Bomberman massively multiplayer in HTML5 by Jare on Wednesday February 27, 2013 @07:01PM (#5295975)
It's not necessary per se (much less catastrophic if you do otherwise), but it's certainly much more convenient. It's only necessary if you rely on simulations being identical, which would happen if you are using deterministic dead reckoning or lockstep networking. Client side prediction and server side cheat detection are normally not so strict.
Re:Bomberman massively multiplayer in HTML5 by krsunny on Wednesday February 27, 2013 @06:32PM (#5295815)
I dont see the udacity course where the game is built from scratch, was it removed?
Re:Bomberman massively multiplayer in HTML5 by rartichoke on Wednesday February 27, 2013 @06:50PM (#5295916)
It's still there. It's the html5 game development course: https://www.udacity.com/course/cs255

This course is the entire game client. The server side will be part 2 of the course released at a later time.

There's also an hour presentation from Google I/O explaining the client and another hour presentation from Google I/O explaining the server. Both can be found on Youtube searching for "html5 grits".

Re:Bomberman massively multiplayer in HTML5 by noffle on Wednesday February 27, 2013 @11:19AM (#5293105)
My in-dev game thing (http://www.aliengrit.com) shares game logic code across the client and its Node server. If you've cleanly separated rendering logic from game logic for all game entities, it works really well. (i.e. the server just runs the same code without the graphics bit attached).
Re:Bomberman massively multiplayer in HTML5 by ivanpopelyshev on Wednesday February 27, 2013 @06:59PM (#5295961)
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.
Re:Bomberman massively multiplayer in HTML5 by marxdeveloper on Wednesday February 27, 2013 @07:49PM (#5296176)
(MMORPG) frontend(js) + backend(node.js) @ http://legendofkronus.com
Re:Bomberman massively multiplayer in HTML5 by robotmay on Wednesday February 27, 2013 @08:42AM (#5292273)
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 by pkorzeniewski on Wednesday February 27, 2013 @08:51AM (#5292316)
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 by robotmay on Wednesday February 27, 2013 @08:53AM (#5292329)
Wow no kidding; I hadn't come across that one and it does look pretty swish.
Re:Bomberman massively multiplayer in HTML5 by austinhallock on Wednesday February 27, 2013 @03:06PM (#5294539)
Not for building the games themselves, but Clay.io hopefully won't drive you nuts on the higher level features like user accounts, leaderboards, achievements, payments, etc...

http://clay.io/docs

Re:Bomberman massively multiplayer in HTML5 by krsunny on Wednesday February 27, 2013 @06:33PM (#5295826)