Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
New open source HTML5 mobile game platform (gameclosure.com)
162 points by jacoblyles on Feb 14, 2013 | hide | past | favorite | 58 comments


Michael Carter here from Game Closure, I'd like to clear up some of the licensing questions.

For background, before GC I founded a non-profit that helped open source projects deal with licensing issues, CLAs, and IP around software in general. I've been involved in 3-4 large OSS projects, and I've spoken at OSCON and Pycon multiple times. I very strongly believe in the GPL, though we also wanted to let businesses use GC DevKit for commercial use under the most friendly possible terms.

Our goal is to promote GC DevKit and ensure that 3rd party bugfixes on the commercial and GPL licenses both end up in the same code base.

(1) You can use this under the GPL, no strings attached. (2) We wanted to further allow you to create commercial products, so we ADDITIONALLY offer an incredibly developer-friendly license (GCFL)

* You can release paid games on iOS or android (Note below, we should add web at some point)

* You don't pay us money, it's FREE.

* If you improve the engine, you must contribute it back to our main GPL version.

* You need to show our splash screen and let us mention your game to promote our platform.

Also, yes, we probably should allow web games under the GCFL (But you can still do it with the GPL.) We just haven't made Desktop Web a priority so we disallowed it in the license. This could easily change if enough people are interested.


The GPL is a hard sell to anyone. But with your commercial license, where do you draw the line between building functionality for your game on top of an engine versus extending the engine? It seems fuzzy. Besides, not having an option to build a game without either making it open source or publicly evangelizing your product will make adoption a non-starter for many serious developers.

Licensing aside, it seems strange to build a platform on HTML5/Javascript without support for the desktop/web. To me, that would be the whole point of building a game in HTML5 in the first place.

Other than all those caveats, it's nice to see more alternatives to ImpactJS beginning to emerge.


I get your concern about supporting the web; I think it's because a lot of people really want us to be a web game engine, but we aren't. We're a mobile game engine. We simply chose "HTML5" as an API layer because of the excellent tooling around the ecosystem. It just so happens we support the web as a side-product, and that's pretty cool I think, but not really the point of the GC DevKit.

Great feedback on the fuzziness of the license WRT contributions! Overall our intention is to let people keep their source code proprietary, but protect clear bug fixes and enhancements to the core engine. We never, ever intend to come up with some "gotcha" and start charging money. Any suggestions on changes or clarifications to our license that let us accomplish that are very welcome! (Though please read our first attempt in Exhibit A "Modifications" first)

The good news is that the core native engine (c/c++/java/obj-c) is very obviously separated from the game code and so that's easy; it's just the JS libraries that we have to be precise about. Perhaps the MPL has the right wording and guidelines around that?

("The MPL is a simple, file-level copyleft license. The MPL’s “weak” copyleft is designed to encourage contributors to share modifications they make to your code, while still allowing them to combine your code with code under other licenses (open or proprietary) with minimal restrictions.")


But games are all different. An improvement to the engine for one kind of game may not be an improvement for another kind of game. Most games would probably only use a small part of the engine.

Will the engine become a monolith with support for pretty much everything, and all games using the engine will only need 10% of it? Or something else?

I think you need to state very clearly what the goal of the engine is (best 2d engine, best tile game engine, best ??? engine, general purpose engine, etc?), which can help define exactly what kinds of contributions are actually useful.


>But games are all different. An improvement to the engine for one kind of game may not be an improvement for another kind of game. Most games would probably only use a small part of the engine.

I don't really see them as all different. Especially at the engine level. Especially considering most 2D engines (Cocos, Game Closure, etc) are mostly the same and use similar concepts.


* You need to show our splash screen and let us mention your game to promote our platform.

I understand that, but you maybe you should consider charging some money to get the splash screen removed ? else its a deal breaker indeed.

I'd try it out especially since I am having some hard time with cocoonjs (making it work in android and some features failing to work in ios5).


I always like to know how free services like this plan to make money.

Their careers page (http://www.gameclosure.com/careers.html) says they're hiring and have "top-tier funding," so obviously they're going to need to monetize somehow. Yet I couldn't find a single mention of a paid service or premium offering.

Perhaps I didn't look hard enough, but it's unsettling nonetheless.


"You can distribute your application commercially, but you must also provide the source code."

This little gem in the license information is pretty off-putting (http://doc.gameclosure.com/guide/license.html).


We've dual licensed the DevKit - you can choose either the GPL or our free commercial license: http://www.gameclosure.com/license.html

That page is about the GPL licensed version.

It's basically saying you're free to develop and release a game with the GPL version but (as per the GPL) you need to release the source.

The other option is to use the commercial license. Then you do not have to release the source of your game.

I'll look into clarifying the copy on the page you linked - hopefully this clears things up.


Thanks for clarifying! So, in a nutshell, if you choose the commercial license, you are going to be helping market GC. Are you planning on offering a paid commercial license at any point?

"2 You may not modify or enhance the GC DevKit or Engine whatsoever. The only exception is to perform bug fixes if you contribute your changes back to Game Closure. (See Exhibit A). You must incorporate a Game Closure splash screen logo into your game. (See Exhibit B)"

"3 You must allow Game Closure to use your company and game name and logo for marketing purposes"


If you are interested in a commercial license under different terms, you can contact me at fairfieldt@gameclosure.com.

The GCFL covers what we see as the majority case for game developers - we can work out other options as the are necessary.


Thanks. Not looking to right now, but I like to understand what options are available for growth paths when choosing libraries/frameworks/etc.


And to further clarify, you mean that only the source code needs to be GPL'd under the OS license; the content (models, textures, etc.) can remain proprietary?


Yes, that's correct. Art assets can be licensed however you like.


It's standard GPL3.


I find disallowing modifications to the SDK (under the GCFL) to be a really bizarre choice. Is this allowed with a paid license of some sort? If not, why not? It's basically standard operating procedure in games that if the SDK you're using doesn't cut it, you work around the issues in order to ship. Is this specifically aimed at preventing people from using bizarre derivative forks of your toolset?


The spirit of the requirement is to encourage contributions back to the GPL version. You can fix or modify the GCFL version as needed - the only requirement is that you contribute back any changes to the SDK itself back to the GPL version.

This way we can ensure that everyone benefits from having the latest and most bug-free code.


I see, I read it as meaning that you can't use the GCFL version if you have any modifications that GC hasn't integrated into trunk. If it just means that you have to contribute the changes back under the GPL that's much simpler.


I'm really glad that more game tools are starting to crop up, and its nice to see something from Game Closure who seem to fall off my radar for months at a time.

Looking around at this though, some of these licensing terms are very awkward. ImpactJS costs money but the licensing seems much less strict.

What's more awkward though is the focus on mobile-specific platforms, including an awful lot of native stuff, while lauding HTML5 :/

I don't plan on competing with Game Closure but I hope to contribute a lot canvas game-related tools of my own once I get free time again. UI-inspector style tools like the one they've created would be really helpful, especially for making point-and-click adventure games.


I kind of like it, but it'd be nice if someone set up a comparison table of all these new html5 game engines. There are so many nowadays, am I supposed to learn each one to figure out what suits me?



... too many options.

I wish it was easier to see what's abandonware vs what's being maintined.

Perhaps show github stars and last commit date?

I'd look at ruby toolbox for a good model to follow.

(mentioned in case you work/contribute to the project)


It is a wiki so I will consider contributing because I have some free time coming up.


Definitely a nice and comprehensive table that shows what's out there. Thanks!


I would also love to see this. I have found a few in the past, but they are very out-of-date tables.


Generating native code seems interesting, but the language choice is questionable in that scenario.


Seeing how heavily this depends on node.js, I'd love to see it distributed through NPM. NPM already provides a centralised and clean package management system which can handle updates and installing executables and it makes it possible to make the engine a dependency of your game code.

It's the sort of thing that put me off meteor before, it doesn't seem like a great decision to reinvent the wheel. I noticed that during the install step it clones a number of other repositories as submodules, perhaps these would do well as individual NPM packages and the central package depends on each one?

Edit: having a play now and it's very cool :) Unlike another who reported silent failure when running basil on Ubuntu 12.04, it's working well for me on Xubuntu 12.04. I had a permissions issue as stated in the install guide, would it be possible to have this install to the home directory instead and add it to the local user PATH? This sort of thing seems like it would make more sense to install just for the local user.


well, I was super excited when I see the video, until I see this in the getting started document:

  We’re only supporting OSX at this time, but we have some success running on Linux and Windows.
haven't tried it yet though, so how much is "some success"? and what are the things that makes it OSX only, instead of UNIX compatible?


I've tried running it on Ubuntu 12.10. The install script seems to work without a problem, but when I try to run their command line tool (basil) it dies without an error message...


It's just a NodeJS tool so go take a look at https://github.com/gameclosure/devkit/blob/master/bin/basil and see what's up.


I'm not really a game developer but it seems weird to me that if you go with the GCFL you cannot release the game on the internet, but only in the appstores.


Totally agree. The only reason you would develop a game in HTML5 is for the build once, launch everywhere attempt. Otherwise you might as well use Corona.


Really? How about some other reasons:

- nice tooling (Chrome developer tools, JS stuff) - tons of developers know JS - V8 is mighty fast

It's not about distributing to the subpar (money wise) web app stores.

Cocos2D also has JS bindings going (for native use, not just for web), and QT also has JS bindings going (again, for native).

And it's not using "HTML5". You are using their engine with native bindings on the mobile devices. The performance and integration is only mimicked by HTML5/WebGL etc on the browser.


...or Unity or MonoGame (even better!).


... or OpenFrameworks, Polycode, Cocos2d-x, Haxe NME


Our focus has been on support for the mobile platforms - iOS and Android. As such, the deployment tooling is really focused on releasing games to the app store.

This may change in the future - for the time being, if you're interested in releasing a game on the web, send me an email:

fairfieldt@gameclosure.com


Haxe NME is getting WebGL support on the (js)HTML5 target, with shaders. Also crossplat for flash and cpp compile targets. Take a peek at foo3d: http://code.google.com/p/foo3d/


Others I can think of, Construct2, ImpactJS, Crafy, Collie. Some of them are made for different things. For example Construct2 provides a visual interface, easier to build at the cost of having more limitations. ImpactJS has a level editor, based on blocks, physics are not hard to implement, and they document building for mobile app stores. Crafy is very light, an abstraction for the canvas, similar to Collie. Game closure looks like it's good for making network games, uses node.js.


I think you probably mean Crafty, not Crafy.

I found I enjoyed working with it the most -- it handled exactly the parts I didn't want to think about (drawing sprites, collision detection) and left the interesting stuff with me.

That said, in the end I did end up looking into their drawing/collision code to tweak the performance some! :D


Yes Crafty thanks for the correction, I have this skipping keys problem lately since I switched to a microsoft ergonomic keyboard that I'm not sure that I like now.


Looks slick! Also see the blog post: http://www.gameclosure.com/blog/?p=177


What is the state of OpenSource HTML5 game engine/frameworks? What's the most mature and useful one?


There are several good ones shortly described here: http://wiki.ludei.com/cocoonjs:engines

The issue is that mobile is eating up all the web traffic, and HTML5 in mobile browsers has terrible performance. So you need technology like CocoonJS to reimplement a subset of the browser needed for gaming with decent performance.


Cocoonjs, ejecta and now gameclosure all implement html5 canvas with opengl. With them, I've found rendering performance to be almost as good as native games. The update loop becomes the bottleneck.


Honestly, it varies from "Awesome" to "totally unusable" depending on what you plan on doing with them. A 3D side scrolling shooter might be fairly difficult while a 3D chess or 2D MMORPG is easy (relatively).


This looks pretty cool! I wonder if this gives you access to shaders, or if this is a planned feature? That's one of the things about AndEngine that I really like, and is one of the reasons I switched from HTML5/js engines for making mobile games.


You're free to implement your own shaders throughout the stack and push them back to mainline. See the gameclosure/native-core repository @ https://github.com/gameclosure/native-core


Proof that you don't need 100 pages of license terms to make your library unusable for commercial software.


So I need to show your logo before my game starts in order to use this library ? Sorry, but that is a deal breaker.

Everyone should check out LimeJS. It is essentially functionally equivalent to what is being offered here, but without the shady license.


>So I need to show your logo before my game starts in order to use this library ? Sorry, but that is a deal breaker.

Then break the deal. Would you rather they just let you use their work as you see fit?


I should add a stipulation that LimeJS doesn't have a fancy marketing video, sorry.


Don't be a jag.


How so @iends? You can do both, why would you have to release on the app store?


Sorry, I didn't see this.

What I mean is, the whole point of choosing HTML5/JS is that you can write once, run everywhere. The non-GPL license forbids you from writing your game and releasing it for the browser.


what's the theme song?


another one?!


that video is truly a catch.


omg this demo just gave me the biggest dev bonner i have had in a while :D, looks awesome. anyone else loving the retro mega man theme song?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: