
New open source HTML5 mobile game platform - jacoblyles
http://docs.gameclosure.com/
======
heyadayo
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.

~~~
doomlaser
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.

~~~
heyadayo
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.")

~~~
andypants
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.

~~~
coldtea
> _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.

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

------
andyfleming
_"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>).

~~~
AntiRush
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.

~~~
andyfleming
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"_

~~~
AntiRush
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.

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

------
kevingadd
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?

~~~
AntiRush
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.

~~~
kevingadd
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.

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

------
hayksaakian
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?

~~~
bionsuba
Ask and you shall receive

<https://github.com/bebraw/jswiki/wiki/Game-Engines>

~~~
hayksaakian
... 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)

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

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

------
hdra
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?

~~~
ensmotko
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...

~~~
dubcanada
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.

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

~~~
JDDunn9
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.

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

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

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

~~~
shardling
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

~~~
pacomerh
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.

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

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

~~~
lnanek2
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.

~~~
andypants
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.

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

~~~
jaredpetker
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>

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

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

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

~~~
thekevinjones
Don't be a jag.

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

~~~
iends
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.

------
weixiyen
what's the theme song?

------
BigBalli
another one?!

------
tyler_grady
that video is truly a catch.

------
voidx
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?

