
In the age of free AAA game engines, are we still relevant? - erlend_sh
http://jmonkeyengine.org/301602/in-the-age-of-free-aaa-game-engines-are-we-still-relevant/
======
asadotzler
Mozilla has been a force for good here, working closely with the game engine
teams for a couple of years on Emscripten porting to ASM.js, and sharing our
open source experience.

Mozilla is bringing AAA gaming to the most widely deployed, free and open
platform the world has ever known, the Internet. If you're looking for
leverage and opportunity for further opening up the gaming industry, Mozilla
should be on your short list of partners/friends/projects.

And no other project out there has more experience doing open source. (Mozilla
was much of the inspiration for the creation of open source model as an
alternative to the commercially-challenging free software model that came
before.) [http://opensource.org/history](http://opensource.org/history)

So yes, "Get cozy with Xiph.org/Mozilla."

~~~
revelation
It's the web, not the internet. And the web is not the _most free and open
platform the world has ever known_ , it is a comittee-designed disaster whose
goals are regularly overruled by the interests of big companies.

I get it, Mozilla is doing this game native stuff now. Why not keep it at
that? Baby steps.

~~~
SwellJoe
Name a more free and open platform than the web. You can choose from any point
in history.

~~~
adrusi
GNU/Linux. A ton of platforms are more open than the web more that EME is part
of the spec. It means that a full implementation of the web has to contain
non-free components.

~~~
SwellJoe
On the EME front we are agreed.

------
elisee
The post mentions OpenGEX as a game engine data exchange format. If you're
interested in 3d data formats and specifically good runtime formats, you might
be interested in glTF too, which is a JSON+binary asset format specifically
targeted at storing runtime-optimized data (as opposed to COLLADA which is
more a editing-oriented format). It's backed by the Khronos group --the people
behind OpenGL / Vulkan / WebGL-- and they have a COLLADA-to-glTF converter:
[https://github.com/KhronosGroup/glTF](https://github.com/KhronosGroup/glTF).

Having spent some time working with the format, I hope it takes off and we see
native support for it in most tools at some point. I've had great success
using glTF to export models + skeletal animations from Blender and then import
them for use with WebGL:
[https://twitter.com/elisee/status/558238454962978816](https://twitter.com/elisee/status/558238454962978816).
This is a little test project made with Superpowers, a soon-to-be open source
HTML5 2D+3D game maker I've been designing with a couple of friends:
[https://sparklinlabs.com/](https://sparklinlabs.com/)

~~~
erlend_sh
Indeed, I'm well aware of glTF, and it's a cool initiative. Just didn't want
to overwhelm readers with new stuff.

Also, even though it doesn't have the same backing yet, I'm more optimistic
about OpenGEX as an exchange format because it's not such a big ask. It serves
the same purpose as FBX, but is completely open source. glTF on the other hand
- and please enlighten me if I got this all wrong - is asking engines that
already have their own tailor-made runtime format to support this one as well
(or even instead). That's asking a lot.

I guess if glTF could convert FBX files as well as it converts COLLADA, it'd
quickly become a lot more attractive. Maybe support glTF output in fbx-conv?

[https://github.com/libgdx/fbx-conv](https://github.com/libgdx/fbx-conv)

~~~
elisee
Looks like a FBX-to-glTF converter has sprung up recently (linked from the
glTF repo README: [https://github.com/cyrillef/FBX-
glTF](https://github.com/cyrillef/FBX-glTF)). I have no experience with it
though so I can't say how well it works.

> glTF on the other hand - and please enlighten me if I got this all wrong -
> is asking engines that already have their own tailor-made runtime format to
> support this one as well (or even instead). That's asking a lot.

For our Superpowers game maker, we didn't end up using glTF as the actual
runtime format but we have a fairly simple importer that reads glTF, scavenges
for what it needs and builds the final data. I expect most engines would still
need a "last-mile" conversion, still some processing but much simpler than
working with COLLADA or FBX directly.

------
hobs
"Games must never stop being weird"

Reading this kind of stuff heartens me and gives me hope for the games
industry. I still spend a ton of time on gaming, and except for a rare gem,
indie games are one of the only places you can see original thought, even if
sometimes it is poorly executed.

~~~
orblivion
About a decade ago I wanted to get into game development because I wanted to
see more artistry in games. I thought, why try to use the technology to make
things realistic, when you could make it unrealistic? I thought, there's an
underground music scene, there should be an underground game dev scene.

I eventually gave up on breaking into the industry given the cost benefit
analysis, but it's okay because everything I wanted to see and more came true
anyway.

------
bitwize
Let me tell you about a little game called American McGee's Grimm. This was a
short and sweet, episodic little game with a lot of quirky-fun visuals and
gameplay dynamics. You played a little gnome going around spreading darkness
and mayhem inside a fairytale world and once you've covered the world in
enough darkness and grossness, the fairytale ending would play out in a much
more violent and gruesome way than how it began. OK, so far, so good. Nice
casual game, would even be a decent mobile game.

The problem is that American McGee has an ego so huge it interferes with his
ability to properly market and position his ideas, and for some reason thought
this was AAA title material or it should be worthy of a AAA development
process. So step one was "license the Unreal Engine". Except the Unreal
Engine, with its support for shaders and all that crap, made the game run
intolerably slow even on PCs with on-mobo NVIDIA parts, let alone the shitty
Intel graphics parts many PCs had at the time. Porting to Wii would have been
fucking impossible; arguably, the game would have thrived on Wii as an
interesting counterpoint to Hannah Montana's Wiggle-Your-Stick Concert Bash
and the usual Wii fare.

So yes, there's room in this business for all sorts of game engines. And if
you don't know how to write an engine that fits your game, or at least choose
a fit from a wide market, maybe you don't know enough about the kind of game
you're making and who would be playing it.

------
frik
There is a lack of free open source state of the art game engines. The best
one are based on the open sourced Quake 3 engine and Cube2, though they are
10-15 years old. Additionally such an engines needs a good WYSIWYG editor with
an inbuilt shader editor like UnrealEd, CryEngine-Editor. The Quake3/Source-
Engine editors are very basic and outdated. Game engines are written in C++,
with game logic in a scripting language like Lua or JavaScript.

There is also a lack of web 3D engines that ate not based on ThreeJS. Every
demo and tutorial is using ThreeJS, instead of WebGL. ThreeJS is an
abstraction layer that made sense some years ago when WebGL wasn't around.
ThreeJS is slow. One can compile C++ code via emscripten to ams.js, that's
great - the downside is the JS filesize.

~~~
et1337
Just this past year GoDot went open source. Haven't delved too deep into it,
but it looks professional, scriptable, and "actually open source" (i.e. they
accept pull requests)

[https://github.com/okamstudio/godot](https://github.com/okamstudio/godot)

~~~
Moter8
>(i.e. they accept pull requests)

Well, Epic accept pull requests too for UE4, you know, but they are not
actually open/libre/whatever source.

~~~
morbius
The engine he linked to is MIT licensed.

------
forrestthewoods
"Still relevant"? Not to be a dick, uh, but who or what in that article was
_ever_ relevant? The author? jMonkeyEngine? Open source (for games)? Pretty
sure the answer is a resounding no to all three.

That said game devs are pretty open when it comes to open source, kinda. Were
it not for fear of patent lawsuits you'd see a _lot_ more source code
released. However our careers and livelihoods rely on copyright so you'd
probably also see assets under lock and key like all the Doom/Quake releases.

~~~
Mikeb85
There ARE games on Steam you can buy right now that were made with
JMonkeyEngine. That makes it pretty relevant IMO...

~~~
kelukelugames
Can you please link to the top jmonkey games?

~~~
Mikeb85
They're all listed in the 'Showcase' part of
[http://jmonkeyengine.org](http://jmonkeyengine.org).

The top 2 are on Steam, and many of the others are too (or on Greenlight).

------
dshankar
It's worth nothing Unreal Engine 4's source is available for free (before, you
had to be on the $20/month plan). You can modify it as you please, and you can
share your modifications as well. You can even sell plugins made by
customizing the UE4 source code.

Sure, it's not GPL/MIT and doesn't meet the full definition of "open source,"
but this is a good middleground: a sustainable business model for the company,
source code access for anyone.

------
namuol
I think it's worth noting that Unreal Engine's source code is available free
of charge, and they actively engage with the developer community on GitHub.
It's an interesting cousin of Open Source, but nobody talks about this sort of
business model.

~~~
farresito
Unfortunately, a lot of people (including myself) value true freedom, which
neither Unreal nor Unity provide; on the other hand, you are guaranteed that
both of these projects will not die soon, which is something that open source
projects suffer.

~~~
eropple
_> a lot of people (including myself) value true freedom_

By all indications, the people who value this particular flavor of no-true-
Scotsman'd "true freedom" is tiny and shrinking. The Apache License and
MIT/X11 licenses have more or less supplanted the GPL and other hard-copyleft
licenses in modern development communities. When I started writing open
source, the GPL was almost the default largely because Linux used it as such;
I don't remember the last time I saw a GPL project, or even LGPL, that I cared
to use.

This is a good thing, as far as I'm concerned; I'd rather grant the freedom to
do great things with the stuff I write regardless of whether somebody wants to
hand it back to me. It doesn't hurt me, so, whatever.

~~~
pjmlp
Since the early days of home computing I used a mixture of free and commercial
software.

Back in the days we had program listings, public domain, freeware, shareware,
....

Then GPL came along and many adopted. Personally I had a phase where I was
100% GPL and writing stuff like M$.

That is all gone for me now and I am even typing this on a Windows 8.1 system,
but I do acknowledge that most likely Linux wouldn't ever happened if it
wasn't for GNU and the whole (L)GPL eco-system.

Many of the open source advocates that are anti-GPL forget that without it,
probably the choice today would have been between commercial UNIX systems and
Windows NT.

Android extensions outside AOSP, LLVM derivatives for embedded systems, GPGPUs
and most recently Swift are good examples of what happens when you join
commercial interests with free code.

~~~
TylerE
> Many of the open source advocates that are anti-GPL forget that without it,
> probably the choice today would have been between commercial UNIX systems
> and Windows NT.

Like Mac OS X and Windows 8?

~~~
pjmlp
Almost, imagine not having GNU/Linux on the server side or for IoT projects.

~~~
TylerE
I honestly wouldn't much care. Prefer FreeBSD for servers anyway.

~~~
pjmlp
Because AT&T lost its case.

------
joshuapants
This page is alarmingly unreadable. Light gray doesn't show up well on white.

And while I'm nitpicking, associating Stallman with "Open Source" always gets
a chuckle out of me.

~~~
erlend_sh
Hmm, yeah I guess you're right about the color. Fine on my monitor but I've
encountered similar difficulties on other sites, so I'll take your word for
it. Better now?

As for Stallman and open source, yeah that can be debated, but he's definitely
an idealist.

~~~
TelmoMenezes
Stallman leads the free software movement, which holds that creating
proprietary software in unethical. The open source movement, although sharing
some ideals of free and open software, does not condemn or oppose proprietary
software. Stallman is strongly opposed to the open source movement, and is
surely annoyed by the confusion.

What both movements have in common is endless forking followed by awkward
merging, combined with a lack of taste for naming things. Thus we get the term
FOSS, that combines Free and Open Source Software into an acronym that sounds
like something related to sewage processing.

~~~
icebraining
I wouldn't say he's strongly opposed; he says what the open source movement
does is good, just that it doesn't go far enough. Unlike what some people
believe, rms isn't factionary - he doesn't think that you either commit 100%
to the Free Software beliefs or you're the enemy. For him, anyone writing free
software is to be lauded, even if they don't do it for the "right" reasons or
even they also write proprietary software.

~~~
joshuapants
Yes, I think a lot of people only know of the caricature of Stallman. He has
very nuanced views and while he may be personally eccentric he is consistent
and usually quite reasonable.

------
emsy
The article makes it sound as if UE4 was closed source or at least unwilling
to take pull requests, which is not the case. Also, as far as I can tell from
skimming, the UE4 source is really comprehensible and you _can_ fiddle around
with it, add custom shaders and objects and learn from it.

Though I do agree that an absolute beginner should start with a less powerful
engine. I learned a lot tinkering with Cocos2D-X that helped me grasp basic
concepts of OpenGL.

~~~
erlend_sh
Unfortunate if I came off that way, that was not my intention. Just tried to
keep things short by bundling all the 3 mentioned engines into "different
brands of free".

UE4 is indeed open source, though not _open_ to the extent of your average
open source project, YET. But I'm not at all trying to give them a hard time
about it. I know these things have to happen gradually. What they're doing is
great.

~~~
emsy
I think smaller frameworks like jME, LibGDX, Cocos-* will still live quite a
while, exactly because of the community and contributors momentum the bigger
engines lack.

BTW, I wanted to have a look at the jME source and noticed that the website
misses a GH link, you should definitely put it up there.

~~~
erlend_sh
We have one on the downloads page, but this isn't the first time I've gotten
this feedback, so I guess we ought to make it more visible.

------
jheriko
i do genuinely worry that the big guys going free will help tech development
to stagnate.

i don't see open source as an answer, because the philosophy attached to these
projects usually insulates them from the bulk of the market. they exist in
their own bubble, where linux is something more than a platform that a mere
1.5% of customers uses, and those customers refuse to pay for anything. where
real world strategies for sales and marketing are ignored under the premise
that 'if you make it they will come' type philosophies...

i think there is a lot of genuine improvement to be had in terms of cross-
platform architecture, performance, visual quality and tools UX without better
hardware, programming environments or gigantic teams. the same was true about
5 years ago too. i just can't see it coming from the open source community
unless these sorts of ideals are suitably cast to the wind...

most importantly if you can't make money to pay salaries then intentionally
growing the team behind a product is difficult. that shouldn't need
explaining... it should be obvious.

~~~
innocenat
RedHat Enterprise Linux is both Open Source and Commercial Software. There are
nothing prevent it being done. Android is another example.

Also, Linux is huge in server world.

~~~
jheriko
true, but it also might as well not exist on desktop. (~1.5% share iirc)

------
cosarara97
But... Java...

~~~
erlend_sh
Any other day I'd be happy to get into it with you, but Java is really besides
the point here.

