In the age of free AAA game engines, are we still relevant?
jmonkeyengine.org
jmonkeyengine.org
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
So yes, "Get cozy with Xiph.org/Mozilla."
I get it, Mozilla is doing this game native stuff now. Why not keep it at that? Baby steps.
The web is pervasive, secure-able by average users (and becoming moreso with Let's Encrypt), accessible in ways that no other Internet protocol is or ever has been, allows creation and participation by anyone of almost any technical ability or resources, it can be used anonymously, and, it has very low barriers to entry even if you do want to run your own site/server...much lower than any other Internet protocol.
I cannot think of a single piece of the Internet that is more open and free, for more people, than the web.
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. 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/
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?
> 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.
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.
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.
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.
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.
So how are you loading textures, geometry, fonts, shaders, matrix calculations?
That said, I'm looking forward to see what people do with Unity 5, UE4, Source 2 in the upcoming Ludum Dare (April 17), even if I'll only be slogging along in C++ and OpenGL.
(It is sad about WebGL tutorials--you're tempting me to write up a "bare WebGL" tutorial.)
But you are misinformed about the webgl part: There are other Web 3D engines. For example Babylon or CopperLicht. The latter even has a pretty solid WYSIWYG 3D editor: http://www.ambiera.com/coppercube/
And most modern commercial engines are just as old. Unreal has been around since 98, and I'm sure there's at least some of the original code in there. Source is based on the quake engines too, and runs on an ancient version of Havok that valve licensed years ago. Cry engine I'm not sure about, having never looked at it. Most of the modern call of duty games run a modified quake engine. The problem doesn't just exist in open source engines. the difference is Commerical in house engines tend to start with a stock unreal engine, and rip it apart piece by piece until they're left with the same editor/base libraries, but almost entirely custom engine code underneath.
Unreal, ID Tech, CryEngine, etc. most modern game engines date back to the mid to late nineties. But where as e.g. the Unreal 4 engine has been in continuous development since 1995 and came originally with an editor coded in Visual Basic, one cannot compare the limited Unreal 1 of 1998 with Unreal 4 as of today. Sure many code lines are still unchanged and in Unreal 4 but especially the graphics and editor have changed a lot.
A modern Call of Duty (e.g. Ghosts) still use a heavily modified Heavy Metal F.A.K.K.² engine (Ritual's ÜberTools) which itself was a heavily modified id Tech 3 engine with the GtkRadiant editor. Infinity Ward added texture and map streaming in Modern Warfare 2. The id Tech 3 engine is now open source, but there is a big difference in the capabilities of what you can do with Infinity Ward Call of Duty engine and what you can do with id Tech 3 that has seen little development since then - also in the tool section.
GoldSource/Source/Source2(?) is one of the oldest engine still used in AAA games, based on Quake and Quake World. The Worldcraft/Hammer editor is dated in comparison to UnrealEd. Hammer editor for Source 2 engine seems to catch up.
Well, Epic accept pull requests too for UE4, you know, but they are not actually open/libre/whatever source.
It's definitely state of the art. See our latest tech demo: http://seemore.playcanvas.com
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.
The top 2 are on Steam, and many of the others are too (or on Greenlight).
It could technically be less relevant. But not by much.
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.
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.
UE4 is neither free, nor open source by any definition. It is source-available and gratis, instead.
Say, your own engine?
I haven't read the whole EULA but I'd guess the answer is 'no'.
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.
Like Mac OS X and Windows 8?
UE4 is possibly the most powerful creative software suite ever built, shackles and all. You really are missing out.
Sure I wish we had Linux-like software for everything.
And while I'm nitpicking, associating Stallman with "Open Source" always gets a chuckle out of me.
As for Stallman and open source, yeah that can be debated, but he's definitely an idealist.
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.
And a really cool tool for rating color contrast: http://jxnblk.com/colorable/demos/text/
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.
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.
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.
It is. It's proprietary software. Just because you can look at the source code doesn't mean it meets the definition of "open source".
Oh, you know, the OSI[0], the folks that coined the term in the first place. This is a textbook case of "openwashing"[1].
[0] http://opensource.org/osd [1] http://michellethorne.cc/2009/03/openwashing/
I just wanted to point out that UE4 does a better job than many other engine (and software!) vendors, since they give you a peek at the source and I think this should be praised, rather than scolded for not being totally free.
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.
Also, Linux is huge in server world.