Site Sponsors:
Beware The Code Nazi! 
If you are the type of software developer who believes in the purity of how one must name member functions, variables, as well as preferred spaces about thereof, you are not alone.

From Python to Java, I have encountered many who believe that "their way is the only way."

Ever arguing over the proper way everyone ELSE must write THEIR OWN CODE, the truth is that it is not uncommon to see - for example - Python software developers using Java coding styles.

Should anyone care?

Personal Style

Believe it or leave it, lots of people feel that software development is a creative process. Much like the creation of masterpieces in all works of art therefore, surely software developers should be free to use whatever naming & formatting styles each feels most comfortable with?

On the professional level, many software development teams agree upon a single, unifying way of formatting & naming various key elements in their code. Documented as a "CODING STANDARD," most tenured software developers know that such coding conventions allow diverse software developers to readily understand ALL code written by THEIR OWN teams.

Bucking The Standards

Moreover, from time to time there can also be a need to improve existing industry conventions!

In my case, while the Java "Code Nazis" will insist that all member functions be named in "Camel Case" with the first case lowered (see below), when it comes to naming STATIC member functions, I prefer to use the same case as the recommended class name, or pure camel case.

Why? Because

class MyClass {
public void memberFunction() {}
public static void MemberFunction() {}

allows us to quickly appreciate, locate - as well as ''orally overload'' - class-associated members who - like the class itself - do not require an instance for us to use them.

... It is a logically homogeneous kind-of thing?

More Pattern Recognitions

Moreover, one might find it difficult to see those minuscule icons often used for denoting "protected" and "private" scopes (usually placed out of eyesight) in their IDE...

public class HeilNada {

public void myFoo() {}
protected void _myBar() {}
private void __myNet() {}

public static void MyFoo() {}
public static void MyBar() {}
public static void MyNet() {}

public static void main(String ... args) {
HeilNada zNada = new HeilNada();


If one never cares enough to move one's eyes off of ones code long enough to manage those cryptic little beasties, just as surely one might ALSO like to use the far-more sorted & dot-discernible "_" and "__" prefixes in Java - as used in C/C++ and Python - no?

Surely the above is allot better than the Nazi's preferred:

public class HeilNada {

public void myFoo() {}
protected void myBar() {}
private void myNet() {}

public static void main(String ... args) {
HeilNada zNada = new HeilNada();


only so as to force everyone else to choose between:

Indeed, the more member-code there is to choose between, the better the advantage of using underscores - or other common member prefixes - so as to implicitly order selections for your team, will be:

Meaningful Variable Names

Surely any professional who has switched between several companies has also discovered how to tolerate more than one coding standard?

In a like manner, I often like to use German Notation. Competing with variable-naming standards such as Hungarian Notation, (which I also like to use!) the point is that each and all of these standards add a much finer grain of code understandability, as well as self-documentation. -Many have discovered that an objectified update for Hungarian Notation (sort-by nouns, Latinize verbs, drop vowels & dual consonants - another story!) adds the clarity required to avoid allot of errors... Certainly when working with Python and / or other typeless languages!

Much like the standards other notational conventions often augment however, with rare exception (test-time postmortems, real-time code spelunking, etc), each add absolutely nothing to the overall effectiveness of the software that we create.

Personally, I worry that forcing our planet into doing everything the exact same way simply favors unimaginative, intolerant, and / or inexperienced minds. Rather than allowing ourselves to become overly intolerant therefore, surely we all need to learn how to think-past any and all of our own creativity comfort zones? No pain, no gain?


In as much as much of what has been noted above could apply to either local and / or global style-proponents, here be the crux of the globalists dilemma: Given the absolute personal merits offered by merely considering alternative ways of doing things... And given that even the above style suggestions obviously add some very real understandability & time saving values (time is money!)... should you and I not be free to prefer a BETTER way... or should we be allowed to be persecuted by those (Heil PEP-08!) Code Nazis?

Sadly - and for the moment - the NWO seems to be favoring far too many of those oh-so easily-offended & obviously ignorant fascists. Nevertheless, allow me to note - despite the ridicule - that most REAL software development professionals will always favor that "Gold Standard."

Also known as the "Golden Rule," the idea is that 'dems whose be paying us 'da gold, gets to be making-us 'da rules.

Surely if one ever wants to become a professional software consultant, then one's own mileage - certainly when navigating over such a bumpy cross-language stylistic terrain - won't much vary. =)

[ view entry ] ( 368 views )   |  permalink  |  related link
Hadoop: Outloading Support for User-Defined Functions in Java 
So there we are, trying to locate the Java-Archive (JAR) files required for creating a User-Defined Function (UDF) for Hive. (Pig works much the same.)

Perhaps one is even using the Hortornworks Sandbox. No matter how we access Hadoop's Distributed File System (HDFS) however, many have broken a sword or three trying to locate the proper jar-file support.

Shell Games...

One of the reasons for the breakage is that we folks in the Java world will insist on packaging classes in different archives over time. -A worthy rant in itself, the sad truth is that - while classes and packages will remain the same - wee Java folks always need to scramble things about so as to make them logically easier to find.

Speaking as someone who has been known to migrate a class between archives from time to time, perhaps a JSR-someone needs to create what might be a simple meta-tracking system - a packaging idea well outside of git, and perhaps a tag closer to @Depricated.

The need is to help us keep our sanity when playing the class shell game.... but I digress!


Yes, I needed a new term, so I coined one: Unlike "uploading" or "downloading," the idea here is that we need to post something from INSIDE the system, so as to be available from OUTside of the same... so we can downLOAD it! (Remember the term "DLL Hell?" -I needed a new term when writing for BYTE Magazine in 1992, as well! =)

While the Internet has worked so as to make locating properly-named jar files allot easier now than it was back in 1992... it still ain't easy. Because the exact same package and class can migrate between archives so much in Java, maybe we should call the little "shell game" we all must eventually play "Jar Hell"?

So whilst we have used "hadoop-core" -> "hadoop-common" on HUE (HDP 2) -> Ambari (HDP 2.4), after the requesite Internet search (sigh) I have discovered that the best way to locate the Jar we need (i.e. nowhere else to be found!) would be to use a simple find command on the target platform, itself. --The JAR we need to create UDF's is simply to be found no-where else!


On the present incarnation of the Hortonworks VM (again, the truly marvelous HDP 2.4 - Gotta love Ambari!) here is how to locate + post the archive(s) we need to create UDF's ... to the HDFS:

find / -type f -name "hive-exec*core.jar" -exec hadoop fs -put "{}" hdfs:/hadoop9000 ";"

(Please note that I obviously had created /hadoop9000 in the HDFS beforehand...) Ultimately, note also that the default incarnation of the fs command will not replace an existing file.

A similar exercise will also work (if required) so as to outload "hadoop-common" (or hadoop-core!) via HDFS.

Enjoy the Journey!


[ view entry ] ( 338 views )   |  permalink
Survey Says ...  
The path to knowledge begins with a single query ... in this case... why not use SQL?

Okay - I admit it - I am a data junkey! So when we decided to see what the present crop of game engines had to offer, the source of all editable light and knowledge in our galaxy - was the natural place to turn.

But quick - How many game engines are listed?

Answer: 171.

How many use Java? C++?

Answer: 13 for Java ... 67 for C++.

How many use the token 'GPL' in their license description?

Answer: 29

Next, how many C++ Frameworks tout a GPL or an MIT Moniker?

Answer: 22

Finally, if we might want to make any heavy cash on the desktop, what are the ones we should be investigating over the upcoming holiday?

"Aleph One"
"Cafu Engine"
"Cocos2d & Cocos2d-x & Cocos2d-html5"
"Crystal Space"
"HPL Engine"
"Retribution Engine"
"Visual Pinball"
"id Tech 4"

The above list of C++ & GPL frameworks came from:
sqlite> select name from GE where language like '%C++%' and Plat like '%indows%' and (license like '%MIT%' or license like '%GPL%') order by name;

So for those who are taking my SQL training, here is another fine set of query-fodder to enjoy - simply download the attached, use SQLite's .read command... and let those queries begin?

PRAGMA foreign_keys=OFF;
"Name" TEXT,
"Language" TEXT,
"Scripting" TEXT,
"XPlat" TEXT,
"Dim" TEXT,
"Plat" TEXT,
"GameEg" TEXT,
"License" TEXT,
"Notes" TEXT
INSERT INTO "ge" VALUES('Zillions of Games','','Zillions Rules','No','2D','Windows','','Proprietary','');
INSERT INTO "ge" VALUES('Zest3D','ActionScript 3 & C++','Lua','Yes','3D','Web & Windows & Linux & OS X & Android & iOS & BlackBerry','','Boost','');
INSERT INTO "ge" VALUES('XnGine','','','No','3D','DOS','The Terminator: Future Shock & The Terminator: SkyNET & TES 2: Daggerfall & TES Legends: Battlespire & TES Adventures: Redguard','Proprietary','');
INSERT INTO "ge" VALUES('X-Ray Engine','','','No','3D','Windows','S.T.A.L.K.E.R: Shadow of Chernobyl & S.T.A.L.K.E.R: Clear Sky & S.T.A.L.K.E.R: Call of Pripyat','Proprietary','');
INSERT INTO "ge" VALUES('WorldForge','C++','Lua (client) & Python (server)','Yes','3D','','','GPL','MMORPG framework made of libraries & server & client & media');
INSERT INTO "ge" VALUES('World Builder','','','No','2D','System 3','','Freeware','');
INSERT INTO "ge" VALUES('Wintermute Engine','','C-like syntax','No','2.5D','Windows','','Donationware & MIT & LGPL','Lite version lacks 3D Actor function');
INSERT INTO "ge" VALUES('VRAGE','','','Yes','3D','Windows & Xbox One','Miner Wars 2081 & Space Engineers','Proprietary','Source code was released under a commercial license');
INSERT INTO "ge" VALUES('Visual3D Game Engine','C#/.NET','','Yes','3D','Windows & Xbox 360','','Proprietary','Commercial successor to open-source RealmForge engine');
INSERT INTO "ge" VALUES('Visual Pinball','C++','VBScript','No','3D','Windows','','MAME-like pre-0.172 & then BSD & GPL','');
INSERT INTO "ge" VALUES('Vision','Lang','Script','Yes','3D','Windows & Xbox 360 & PlayStation 3 & Wii & Wii U & iOS & Android & PlayStation Vita & IE6 and up & Firefox 2.0 and up & Google Chrome & Opera 9 and up','List','Proprietary','');
INSERT INTO "ge" VALUES('Virtools','','','Yes','3D','','Ballance','Proprietary','Used for game prototyping and rapid development');
INSERT INTO "ge" VALUES('Vicious Engine','Lang','Script','Yes','3D','Nintendo GameCube & Wii & WiiWare & Xbox & Xbox 360 & Xbox Live Arcade & PlayStation 2 & PlayStation Portable & PlayStation Network & Windows','List','Proprietary','');
INSERT INTO "ge" VALUES('Vengeance Engine','C++','','No','3D','Windows','Tribes: Vengeance & SWAT 4','Proprietary','Based on Unreal Engine version 2/2.5');
INSERT INTO "ge" VALUES('V-Play Game Engine','C++','QML & Javascript','Yes','2D','iOS & Android & Windows & OS X','List','Proprietary','Built on Qt');
INSERT INTO "ge" VALUES('Unreal Engine','C++ & C# & Assembly','GLSL & Cg & HLSL & UnrealScript','Yes','3D','Cross-platform','List of Unreal Engine games','Proprietary','UnrealScript was removed in version 4');
INSERT INTO "ge" VALUES('Unity','C & C++ & C#','Mono & UnityScript ("also known as JavaScript for Unity"[9]) & C# & Boo,[10] Cg & HLSL','Yes','2D & 3D','Windows & OS X & Xbox 360 & Xbox One & Wii U & New 3DS & PlayStation 4 & PlayStation Vita & Windows Phone & iOS & Android & BlackBerry 10 & Tizen & Unity Web Player & Windows Store & WebGL & Oculus Rift & Gear VR & Android TV & Samsung Smart TV','List of Unity games','Proprietary','');
INSERT INTO "ge" VALUES('Unigine','C++','UnigineScript','Yes','3D','Windows & Linux & OS X & PlayStation 3 & Android & iOS','List','Proprietary','');
INSERT INTO "ge" VALUES('UbiArt Framework','','','Yes','2.5D','Cross-platform','Rayman Origins & Rayman Legends & Child of Light & Valiant Hearts: The Great War','Proprietary','');
INSERT INTO "ge" VALUES('Turbulenz','TypeScript','JavaScript','Yes','2D & 3D','HTML5 & iOS & Android','Polycraft & Save the Day & Score Rush','MIT','[citation needed]');
INSERT INTO "ge" VALUES('Truevision3D','Visual Basic & C++','','No','3D','Windows','','Proprietary','');
INSERT INTO "ge" VALUES('TOSHI','','','Yes','3D','Windows & Nintendo GameCube & Game Boy Advance & Nintendo DS & Wii & PlayStation 2 & Xbox','Jurassic Park: Operation Genesis & Nicktoons Unite! & Barnyard & El Tigre: The Adventures of Manny Rivera & de Blob & Marvel Super Hero Squad','Proprietary','');
INSERT INTO "ge" VALUES('Torque3D','C++','TorqueScript','Yes','3D','Windows & Linux & OS X no more supported','Marble Blast Gold & ThinkTanks & Tribes 2 & Villagers and Heroes & Blockland','MIT','Includes multiplayer network code & seamless indoor-outdoor rendering engines & skeletal animation & drag and drop GUI creation & built in world editor & C-like scripting language');
INSERT INTO "ge" VALUES('Three.js','Javascript','Javascript','Yes','3D & 2D','HTML5 & Windows & Linux & OS X & iOS & Android','','MIT','');
INSERT INTO "ge" VALUES('SunBurn XNA','','','No','3D','Xbox Live','AvaGlide','Proprietary','');
INSERT INTO "ge" VALUES('Stratagus','C','Lua','Yes','2D','Linux','Bos Wars','GPL','For real-time strategy games');
INSERT INTO "ge" VALUES('StepMania','C++','Lua','Yes','3D','Cross-platform','In the Groove & Pump It Up Pro & Pump It Up Infinity','MIT','A rhythm video game and engine that was originally developed as a simulator of Konami''s DDR');
INSERT INTO "ge" VALUES('Stencyl','Haxe','','Yes','2D','Linux & OS X & Windows','','Proprietary','');
INSERT INTO "ge" VALUES('Starling Framework','ActionScript','','Yes','2D','Windows & OS X & GNU/Linux & iOS & Android','Angry Birds Friends & Incredipede','BSD Simplified','Recreates the traditional Flash display list architecture on accelerated graphics hardware');
INSERT INTO "ge" VALUES('Spring','C++','C & C++ & Java/JVM & Lua & Python','Yes','3D','Windows & Linux & OS X','Balanced Annihilation & Zero-K','GPL','RTS & simulated events & OpenGL');
INSERT INTO "ge" VALUES('Source 2','C++','Lua','Yes','3D','Windows & OS X & Linux','Dota 2','Proprietary','The first game using Source 2 & Dota 2 & was ported over from the original Source engine');
INSERT INTO "ge" VALUES('Source','C++','Squirrel & Lua','Yes','3D','Windows & OS X & Linux & PlayStation 3 & Xbox & Xbox 360 & Android','Half-Life 2 & Counter-Strike: Source & Left 4 Dead and others (list)','Proprietary','The SDK is bundled with many Source games');
INSERT INTO "ge" VALUES('Sith','','COG','No','3D','Windows','Star Wars Jedi Knight: Dark Forces II','Proprietary','Used as the basis of the GrimE engine');
INSERT INTO "ge" VALUES('Silent Storm engine','','','No','3D','Windows','Silent Storm & Night Watch & Hammer & Sickle & Day Watch','Proprietary','Used for turn-based tactics games');
INSERT INTO "ge" VALUES('Sierra''s Creative Interpreter (SCI)','','','Yes','2D','Amiga & Atari ST & Macintosh & PC-9801 & IBM PC','Version list with games','Proprietary','');
INSERT INTO "ge" VALUES('ShiVa','C++','Lua','Yes','3D','Windows & OS X & Linux & iOS & Android & Windows Phone & BlackBerry & PlayStation 3 & PlayStation 4 & Wii & Xbox 360 & Xbox One & WebGL','Prince of Persia 2: The Shadow and the Flame (Mobile remake)','Proprietary','');
INSERT INTO "ge" VALUES('Shark 3D','C++','Python','Yes','3D','Windows & Xbox & Xbox 360','Dreamfall: The Longest Journey','Proprietary','');
INSERT INTO "ge" VALUES('SCUMM','','','Yes','2D','3DO & Amiga & Apple II & Atari ST & CDTV & Commodore 64 & FM Towns & Marty & Macintosh & Nintendo Entertainment System & DOS & Windows & Sega Mega-CD & TurboGrafx-16/PC Engine','Maniac Mansion','Proprietary','Full name is Script Creation Utility for Maniac Mansion & from the first game it was used with; uses iMUSE and INSANE; ScummVM provides an open source re-creation');
INSERT INTO "ge" VALUES('SAGE','','','Yes','3D','Windows & Macintosh & Xbox 360 & PlayStation 3','List','Proprietary','Used for real-time strategy games');
INSERT INTO "ge" VALUES('RPG Maker','','Ruby & JavaScript','Yes','2D','PC-8801 & MSX2 & PC-9801 & Super Famicom & Windows & Sega Saturn & PlayStation & Game Boy Color & PlayStation 2 & Game Boy Advance & Nintendo DS','Alpha Kimori & Ao Oni & Aveyond series & Barkley & Shut Up and Jam: Gaiden & Corpse Party & Eternal Eden & Laxius Force & One Night Trilogy & Super Columbine Massacre RPG! & To the Moon & Yume Nikki','Proprietary','Game creation system & allows users to build their own role-playing games');
INSERT INTO "ge" VALUES('Rockstar Advanced Game Engine (RAGE)','','','Yes','3D','Windows & PlayStation 3 & PlayStation 4 & Wii & Xbox 360 & Xbox One','List','Proprietary','');
INSERT INTO "ge" VALUES('Riot Engine','','','Yes','3D','Windows & PlayStation 2','Drakan: Order of the Flame & Drakan: The Ancients'' Gates & The Lord of the Rings: The Fellowship of the Ring & The Suffering & The Suffering: Ties That Bind','Proprietary','');
INSERT INTO "ge" VALUES('Retribution Engine','C++','','No','3D','Windows','','GPL','For first person shooter games');
INSERT INTO "ge" VALUES('RenderWare','','RWX','Yes','3D','Windows & Mac OS & Nintendo GameCube & Wii & Xbox & Xbox 360 & PlayStation 2 & PlayStation 3 & PlayStation Portable','List of RenderWare games','Proprietary','RenderWare script available in version 2 only');
INSERT INTO "ge" VALUES('Ren''Py','Python','Pygame','Yes','2D','Windows & OS X & Linux & Android & OpenBSD','Analogue: A Hate Story & Jisei & Katawa Shoujo','MIT','Used to develop visual novels and first-person adventure games');
INSERT INTO "ge" VALUES('REDengine','','','Yes','3D','Windows & OS X & Xbox 360 & Xbox One & PlayStation 4','The Witcher 2: Assassins of Kings & The Witcher 3: Wild Hunt','Proprietary','');
INSERT INTO "ge" VALUES('Real Virtuality','C++','','Yes','3D','Windows & Xbox','ARMA 2 & ARMA 3 & DayZ','Proprietary','');
INSERT INTO "ge" VALUES('Q','','','Yes','3D','Windows & OS X & Linux & PS2 & PS3 & Wii','','Proprietary','');
INSERT INTO "ge" VALUES('Pyrogenesis','C++','JavaScript','Yes','3D','Windows & Linux & OS X','0 A.D.','LGPL','Designed for RTS games');
INSERT INTO "ge" VALUES('PLIB','C++','','Yes','3D','Windows & Linux & OS X','','LGPL','');
INSERT INTO "ge" VALUES('PlayN','Java','','Yes','2D','iOS & Android & HTML5 & Windows & Linux','Angry Birds Chrome','Apache 2.0','');
INSERT INTO "ge" VALUES('PlayCanvas','JavaScript','JavaScript','Yes','3D','Windows Linux OS X iOS HTML5 Android','Swoop & Zombie Pac-man','MIT','Users can work on game at the same time via online browser and publish to multiple platforms; engine uses WebGL and includes physics');
INSERT INTO "ge" VALUES('Pie in the Sky','C','','Yes','2.5D','DOS & Windows & OS X','List','Proprietary','');
INSERT INTO "ge" VALUES('PhyreEngine','C++','','Yes','3D','PC & PlayStation Portable & PlayStation Vita & PlayStation 3 & PlayStation 4','List','proprietary & Freeware','');
INSERT INTO "ge" VALUES('Panta Rhei','','','Yes','3D','PlayStation 4 & Xbox One & Windows','Deep Down','Proprietary','Successor to MT Framework for 8th generation consoles');
INSERT INTO "ge" VALUES('Panda3D','C++','Python','Yes','3D','Windows & Linux & OS X & iOS','Toontown Online & Pirates of the Caribbean Online','BSD','');
INSERT INTO "ge" VALUES('ORX','C/C++','Custom','Yes','2.5D','Windows & Linux & OS X & iOS & Android','Le Magasin des Suicides','zlib','3D accelerated');
INSERT INTO "ge" VALUES('OpenSimulator','C#','LSL','Yes','3D','','','BSD','Server platform to host virtual worlds & compatible with Second Life clients');
INSERT INTO "ge" VALUES('OpenClonk','C++','C4Script','Yes','2.5D','Windows & Linux & OS X','OpenClonk','ISC','Engine for 2D action/strategy platformers with 3D graphics');
INSERT INTO "ge" VALUES('ONScripter','NScripter','NScripter','Yes','2D','Windows & OS X & Linux & Dreamcast & PSP & iOS','Narcissu & Saya no Uta & Tsukihime','GPL','Used to develop visual novels and first-person adventure games');
INSERT INTO "ge" VALUES('OGRE','C++','C++','Yes','3D','Linux & Windows (all major versions) & OS X & NaCl & WinRT & Windows Phone 8 & iOS and Android','Torchlight','MIT','3D rendering engine used by several games');
INSERT INTO "ge" VALUES('Odyssey Engine','','','Yes','3D','Windows & OS X','Star Wars: Knights of the Old Republic & Star Wars: Knights of the Old Republic II: The Sith Lords','Proprietary','');
INSERT INTO "ge" VALUES('NScripter','','','No','2D','Windows','','Freeware','');
INSERT INTO "ge" VALUES('Nebula Engine','','','No','3D','Windows','Drakensang: The Dark Eye & Drakensang: The River of Time','Proprietary','[citation needed]');
INSERT INTO "ge" VALUES('MT Framework','','','Yes','3D','PlayStation 3 & Xbox 360 & Windows & Wii & Wii U & Nintendo 3DS & PlayStation Vita','List','Proprietary','Intended to be 7th generation console engine & replaced by Panta Rhei');
INSERT INTO "ge" VALUES('MonoGame','C#','C#','Yes','2D,3D','Windows & OS X & Xbox One & PlayStation 4 & PlayStation Vita & Windows Phone & iOS & Android & Windows Store & Ouya & BSD','Skulls of the Shogun & Bastion & TowerFall & Transistor & Fez & Axiom Verge','Microsoft Public','');
INSERT INTO "ge" VALUES('Moai SDK','C++','Lua','Yes','2D','Windows & OS X & iOS & Android & Linux','Crimson Steam Pirates & Broken Age & Lost in Paradise','CPAL','');
INSERT INTO "ge" VALUES('Mizuchi','','','Yes','3D','PC & PlayStation 4','','Proprietary','Under development & no games released yet');
INSERT INTO "ge" VALUES('MikuMikuDance','C++','','No','3D','Windows','','Freeware','');
INSERT INTO "ge" VALUES('Marmalade','C++ & Lua & Objective-C & HTML5','Lua & 2DKit','Yes','2D & 3D','iOS & Android & BlackBerry & Windows 10 & Amazon & OS X & Windows & Tizen & Roku & Chromecast','List of Marmalade Games','Proprietary','High-performance & cross-platform & with authoring tools and asset store');
INSERT INTO "ge" VALUES('M.U.G.E.N','C','','Yes','2D','Linux & DOS & Windows & OS X','','Freeware','Used Allegro initially & now uses on SDL');
INSERT INTO "ge" VALUES('LÖVE','Lua','Lua','Yes','2D','iOS & Android & Windows & Linux & OS X & NetBSD & FreeBSD & OpenBSD & Solaris,and all platforms supportted by pkgsrc[7]','Mari0 & Journey to the Center of Hawkthorne','zlib','[8]');
INSERT INTO "ge" VALUES('LyN','','','Yes','3D','Cross-platform','List','Proprietary','Intended to scale effectively on 7th and 8th generation consoles');
INSERT INTO "ge" VALUES('Luminous Studio','','','Yes','3D','PlayStation 4 & Xbox One & Windows','Final Fantasy XV','Proprietary','');
INSERT INTO "ge" VALUES('Lumberyard','C++','Lua','Yes','3D','PlayStation 4 & Xbox One & Windows','','Proprietary','');
INSERT INTO "ge" VALUES('LithTech','','','Yes','3D','Cross-platform','List','Proprietary','');
INSERT INTO "ge" VALUES('LibGDX','Java','','Yes','2D & 3D','GNU/Linux & Windows & OS X & iOS & Android & Java applet & WebGL','','Apache 2.0','Java game development framework & provides a unified API that works across all supported platforms');
INSERT INTO "ge" VALUES('Leadwerks Game Engine','C++','Lua','Yes','3D','Linux & Windows Vista & Windows 7 & Windows 8','Hoodwink & Rogue System','Proprietary','Easy to learn game development for beginners');
INSERT INTO "ge" VALUES('Kivy','Python','Kv','Yes','2.5D','Windows & Linux & OS X & iOS & Android','Deflectouch & FishLife','MIT','For rapid development & can make multi-touch apps');
INSERT INTO "ge" VALUES('Kinetica','','','No','3D','PlayStation 2','List','Proprietary','');
INSERT INTO "ge" VALUES('Jogre','Java','','Yes','2D','Cross-platform','','GPL','Used by many schools as part of course work');
INSERT INTO "ge" VALUES('jMonkeyEngine','Java','','Yes','3D','Cross-platform','','BSD','Community-centric project & used by several commercial game studios');
INSERT INTO "ge" VALUES('Jedi','C','','Yes','2.5D','DOS & Windows','Star Wars: Dark Forces & Outlaws','Proprietary','Rumored to have been reverse-engineered from Doom engine');
INSERT INTO "ge" VALUES('Jake2','Java','','Yes','3D','Cross-platform','','GPL','Java port of Quake II game engine');
INSERT INTO "ge" VALUES('Jade','','','Yes','3D','Cross-platform','List','Proprietary','');
INSERT INTO "ge" VALUES('IW engine','C++','','Yes','3D','Windows & OS X & PlayStation 4 & PlayStation 3 & Xbox One & Xbox 360 & Wii U & Wii','Call of Duty series','Proprietary','Originally built from id Tech 3');
INSERT INTO "ge" VALUES('Iron Engine','','','No','3D','Windows','Sins of a Solar Empire & Sins of a Dark Age','Proprietary','');
INSERT INTO "ge" VALUES('ioquake3','C','','Yes','3D','Windows & Linux & OS X','Urban Terror','GPL','');
INSERT INTO "ge" VALUES('INSANE','','','N/A','N/A','Integrated with other engines','Star Wars: Rebel Assault & Star Wars: Rebel Assault II: The Hidden Empire & Full Throttle','Proprietary','Video compression technology used to create high-quality full screen videos');
INSERT INTO "ge" VALUES('Infinity Engine','','','Yes','2D','Windows & Mac OS & OS X & AmigaOS 4','Baldur''s Gate & Planescape: Torment & Icewind Dale & Baldur''s Gate II: Shadows of Amn & Icewind Dale II','Proprietary','');
INSERT INTO "ge" VALUES('iMUSE','','','N/A','N/A','Integrated with other engines','Monkey Island 2: LeChuck''s Revenge & all LucasArts adventure games afterwards','Proprietary','Dynamic music system');
INSERT INTO "ge" VALUES('id Tech 6','','','Yes','3D','Windows & Xbox One & PlayStation 4','Doom (2016)','Proprietary','');
INSERT INTO "ge" VALUES('id Tech 5','C++ & AMPL & Clipper & Python','Script','Yes','3D','Windows & OS X & Xbox 360 & Xbox One & PlayStation 3 & PlayStation 4','Rage & Wolfenstein: The New Order & Wolfenstein: The Old Blood & The Evil Within','Proprietary','First id Tech engine to feature MegaTexture technology & starting with Rage');
INSERT INTO "ge" VALUES('id Tech 4','C++','C++ via DLLs','Yes','3D','Windows & Linux & OS X','Doom 3 & Doom 3 BFG Edition & Quake 4','GPL','Also termed the Doom 3 engine; features advanced: lighting & shadows & interactive GUI surfaces');
INSERT INTO "ge" VALUES('id Tech 3','C','C','Yes','3D','Windows & Linux & OS X','Quake III Arena','GPL','Also termed the Quake III engine');
INSERT INTO "ge" VALUES('id Tech 2 (Quake)','C','QuakeC','Yes','3D','Windows & Linux & OS X','Quake','GPL','First true 3D id Tech engine');
INSERT INTO "ge" VALUES('id Tech 2 (Quake II)','C','C','Yes','3D','Windows & Linux & OS X','Quake II','GPL','Also termed the Quake II engine');
INSERT INTO "ge" VALUES('id Tech 1 (Doom)','C','ACS','Yes','2.5D','Windows & Linux & OS X','Doom & Doom II & Heretic & Hexen & Strife & Chex Quest','GPL','2D-based level geometry & sprites & and particles & uses clever methods to give illusion of 3D depth');
INSERT INTO "ge" VALUES('HPL Engine','C++','AngelScript','Yes','3D','Windows & Linux & OS X','Penumbra: Overture & Penumbra: Black Plague & Penumbra: Requiem & Amnesia: The Dark Descent & Amnesia: A Machine for Pigs & Soma','Proprietary & GPL version 1','Cross-platform & compatible with OpenGL & OpenAL & and Newton Game Dynamics libraries; defining features include ability for advanced object interaction via use of Newton''s physics code');
INSERT INTO "ge" VALUES('Horde3D','C++','','Yes','3D','Windows & Linux','','EPL','Small 3D rendering engine for large crowds of animated characters');
INSERT INTO "ge" VALUES('HeroEngine','C++ & C#','HeroScript Language','No','3D','Windows','Star Wars: The Old Republic','Proprietary','');
INSERT INTO "ge" VALUES('GoldSrc','C & C++ & Assembly','','Yes','3D','Windows & OS X & Linux & PlayStation 2 & Xbox & Dreamcast','Half-Life & Team Fortress Classic & Half-Life: Opposing Force & Counter-Strike & Ricochet & Deathmatch Classic & Half-Life: Blue Shift & Half-Life: Decay & Day of Defeat & Counter-Strike: Condition Zero & Counter-Strike Neo & Counter-Strike Online','Proprietary','Highly modified Quake engine');
INSERT INTO "ge" VALUES('Godot','C++','GDScript','Yes','2D & 2.5D & 3D','Cross-platform','','MIT','');
INSERT INTO "ge" VALUES('Gamvas','JavaScript','JavaScript','Yes','2D','HTML5','','MIT','HTML5 canvas game engine with Box2D integration');
INSERT INTO "ge" VALUES('Gamestudio','','C-Script & Lite-C','No','3D','Windows','List','Proprietary','Games can be published royalty-free');
INSERT INTO "ge" VALUES('GameSalad','Lang','Script','Yes','2D','iOS & Android','','Proprietary','');
INSERT INTO "ge" VALUES('GamePlay3D','C++','Lua','Yes','3D','Windows & Linux & OS X & iOS & BlackBerry 10 & Android','','Apache 2.0','Aimed at the indie game developer ecosystem & similar features to cocos2d-x');
INSERT INTO "ge" VALUES('GameMaker: Studio','C++','Game Maker Language','Yes','2D','Windows & Windows 8 & Xbox 360 & Xbox One & PlayStation 3 & PlayStation 4 & PlayStation Vita & OS X & Ubuntu & HTML5 & Android & iOS & Windows Phone 8 & Tizen','Hotline Miami & Spelunky & Undertale & Gunpoint','Proprietary','Limited 3D abilities');
INSERT INTO "ge" VALUES('Gamebryo','C++','','Yes','3D','Windows & PlayStation 3 & PlayStation 4 & Xbox 360 & Xbox One','List','Proprietary','');
INSERT INTO "ge" VALUES('Game Editor','','Custom (C styled)','Yes','2D','iPhone & iPad & OS X & Windows (95-Windows 7) & Linux & Windows-based smartphones & GP2X & Pocket PCs & Handheld PCs','Notable games','GPL & Proprietary','');
INSERT INTO "ge" VALUES('Future Pinball','','','No','3D','Windows','','Freeware','');
INSERT INTO "ge" VALUES('Frostbite','C++','','Yes','3D','Windows & PlayStation 3 & PlayStation 4 & Xbox 360 & Xbox One','List','Proprietary','Used originally for Battlefield (series) video games');
INSERT INTO "ge" VALUES('Freescape','','Freescape Command Language','Yes','3D','Amstrad CPC & ZX Spectrum & IBM PC & Commodore 64 & Commodore Amiga & Atari ST','List','Proprietary','');
INSERT INTO "ge" VALUES('Fox Engine','','','Yes','3D','Windows & PlayStation 3 & PlayStation 4 & Xbox 360 & Xbox One','List','Proprietary','');
INSERT INTO "ge" VALUES('Forgelight Engine','','','No','3D','Windows','Free Realms & PlanetSide 2 & Landmark & EverQuest Next & H1Z1: Just Survive & H1Z1: King of the Kill','Proprietary','');
INSERT INTO "ge" VALUES('Flixel','ActionScript','','Yes','2D','','Various games by Gregory Weir','MIT','Boilerplate code for Flash games');
INSERT INTO "ge" VALUES('Flare3D','ActionScript 3','','Yes','3D','Web & Windows & iOS & Android & BlackBerry','List','Proprietary','');
INSERT INTO "ge" VALUES('Exult','C++','','Yes','2D','Windows & Linux & OS X & BSD','','GPL','Free software re-implemented Ultima VII game engine');
INSERT INTO "ge" VALUES('Euphoria','','','Yes','3D','Windows & PlayStation 4 & Xbox One & PlayStation 3 & Xbox 360 & iOS & Android','','Proprietary','');
INSERT INTO "ge" VALUES('Essence Engine','','','No','3D','Windows','List','Proprietary','');
INSERT INTO "ge" VALUES('Esperient Creator','Lang','Lisp & CScript','No','3D','Windows','','Proprietary','');
INSERT INTO "ge" VALUES('Enigma Engine','','','Yes','3D','Windows & OS X,','Blitzkrieg & Blitzkrieg 2','Proprietary','');
INSERT INTO "ge" VALUES('Enforce','','','No','3D','Windows','Shade: Wrath of Angels & Alpha Prime & Carrier Command: Gaea Mission & Take On Mars','Proprietary','');
INSERT INTO "ge" VALUES('Elflight Engine','Java','','Yes','3D','Cross-platform','','Proprietary','Targeted for web based games');
INSERT INTO "ge" VALUES('Electron toolset','C#','NWScript','No','3D','Windows','Neverwinter Nights 2','Proprietary','');
INSERT INTO "ge" VALUES('ego','','','Yes','3D','PlayStation 3 & Windows & Xbox 360 & OS X & Wii & Wii U & Xbox One & PlayStation 4','List','Proprietary','Primarily used for racing games');
INSERT INTO "ge" VALUES('DX Studio','C++','JavaScript','No','3D','Windows','Notable games','proprietary & Freeware','');
INSERT INTO "ge" VALUES('Dunia Engine','C++','','Yes','3D','Windows & PlayStation 3 & Xbox 360 & PlayStation 4 & Xbox One','List','Proprietary','Based on CryEngine');
INSERT INTO "ge" VALUES('DimensioneX Multiplayer Engine','Java','Java & VBScript','Yes','2.5D','Cross-platform','Underworld Online','GPL','Produces browser games with pseudo-3D views; games can be made into Facebook Apps; intended for beginners');
INSERT INTO "ge" VALUES('Dim3','C++','JavaScript','Yes','3D','Cross-platform','','MIT','');
INSERT INTO "ge" VALUES('Delta3D','C++','Python','Yes','2.5D','Cross-platform','','LGPL','');
INSERT INTO "ge" VALUES('Defold','Lua','Lua','Yes','2D','iOS & Android & HTML5 & Windows & OSX & Linux & OSX','Blossom Blast Saga & Hammerwatch Coliseum','Proprietary','');
INSERT INTO "ge" VALUES('Dagor Engine','','','Yes','3D','Windows & PlayStation 4 & PlayStation 3 & Xbox 360 & Linux & OSX','List','Proprietary','');
INSERT INTO "ge" VALUES('Cube 2','C++','CubeScript','Yes','3D','Windows & Linux & OS X','Cube 2 & Red Eclipse','zlib','Efficient 6-directional height map based geometry (versus traditional Polygon soup model) & hence the name Cube & FPS engine');
INSERT INTO "ge" VALUES('Cube','C++','','Yes','3D','Windows & Linux & OS X','AssaultCube & Cube','zlib','Prior generation (means it has a successor) & 2D grid-based system & optimized for outdoor not indoor maps');
INSERT INTO "ge" VALUES('Crystal Tools','','','Yes','3D','PlayStation 3 & Xbox 360 & Windows & Wii','List','Proprietary','');
INSERT INTO "ge" VALUES('Crystal Space','C++','Java & Perl & Python','Yes','3D','Windows & Linux & OS X','Keepsake & The Crystal Scrolls & Yo Frankie!','LGPL','');
INSERT INTO "ge" VALUES('CryEngine','C++','Lua & C#','Yes','3D','Windows & OS X & Linux & PlayStation 3 & PlayStation 4 & Wii U & Xbox 360 & Xbox One & iOS & Android','List','Proprietary','');
INSERT INTO "ge" VALUES('Creation Engine','C++','Papyrus','Yes','3D','Windows & PlayStation 3 & Xbox 360 & Xbox One & PlayStation 4','The Elder Scrolls V: Skyrim & Fallout 4','Proprietary','');
INSERT INTO "ge" VALUES('CPAL3D','','','No','3D','Windows','Memento Mori','Proprietary','');
INSERT INTO "ge" VALUES('Corona','Lua','','Yes','2D','iOS & Android & Kindle & Windows Phone 8 & Apple TV & Android TV & OS X & Windows','','Proprietary','');
INSERT INTO "ge" VALUES('Core3D','Objective-C','','Yes','3D','Windows & Linux & OS X & iOS','CoreBreach','3D Engine MIT & Source Code GPL v2','[6]');
INSERT INTO "ge" VALUES('CopperCube','','','Yes','3D','Windows & OS X & Android & WebGL & Adobe Flash','','Proprietary','');
INSERT INTO "ge" VALUES('Construct','C++','Javascript','Yes','2D','Windows & OS X & Wii U & HTML5 capable internet browsers','','Proprietary & GPL Classic version','');
INSERT INTO "ge" VALUES('Coldstone','','','Yes','2D','Mac OS 9 & OS X & Windows','Pillars of Garendall','Proprietary','');
INSERT INTO "ge" VALUES('Codea','Lua','','No','2D','iOS','Cargo-Bot','Apache 2.0','');
INSERT INTO "ge" VALUES('Cocos2d & Cocos2d-x & Cocos2d-html5','C++ & Python & Objective-C & JavaScript','JavaScript & Java & Lua','Yes','2D & 2.5D & 3D','Windows & Linux & OS X & iOS & Android & BlackBerry & Tizen','Hardest Game Ever 2 & DQMSL & Tiny Village & Badland & Small Street & Tiny Tower & Pocket Planes & Hill Climb & Star Thief & Geometry Dash','MIT','Android target binds to Java; iOS target uses Objective-C');
INSERT INTO "ge" VALUES('Clickteam Fusion','','','Yes','2D','Windows & iOS & Android & HTML5 & Adobe Flash','Five Nights at Freddy''s','Proprietary','');
INSERT INTO "ge" VALUES('Clausewitz','C++','','Yes','3D','Windows & OS X & Linux','All Paradox Development Studio games since 2007','Proprietary','');
INSERT INTO "ge" VALUES('ClanLib','C++','','Yes','2.5D','Windows & Linux & OS X','','zlib','');
INSERT INTO "ge" VALUES('Chrome Engine','C++','','Yes','3D','Windows & Linux & PlayStation 4 & Xbox One','List','Proprietary','');
INSERT INTO "ge" VALUES('Cafu Engine','C++','Lua','Yes','3D','Windows & Linux & OS X','','GPL or Proprietary','Includes map editor and networking[5]');
INSERT INTO "ge" VALUES('C4 Engine','','','Yes','3D','PlayStation 4 & PlayStation 3 & Windows & OS X & Linux & iOS','List','Proprietary','Retired & no longer available for licensing[4]');
INSERT INTO "ge" VALUES('Buildbox','C++','','Yes','2D','Windows & OS X & iOS & Android','Ball Jump & Sky & The Line Zen & Phases','Proprietary','Drag and drop game builder without scripting');
INSERT INTO "ge" VALUES('Build engine','C','','Yes','2.5D','Windows & Linux & OS X & DOS','Duke Nukem 3D & Shadow Warrior & Blood & Redneck Rampage','Custom & free non-commercial use','FPS engine; 2.5D & 2D grid base geometry');
INSERT INTO "ge" VALUES('BRender','','','Yes','3D','Windows & DOS & PlayStation','Carmageddon & FX Fighter & I-War (Independence War).','Proprietary','');
INSERT INTO "ge" VALUES('Bork3D Game Engine','C++','','Yes','3D','IOS & OS X & Windows','List','Proprietary','');
INSERT INTO "ge" VALUES('Blender','C & C++','Python','Yes','2D & 3D','Windows & Linux & OS X & Solaris','Yo Frankie! & Sintel The Game & ColorCube','GPL','2D/3D game engine packaged in a 3D modeler with integrated Bullet physics library[2][3]');
INSERT INTO "ge" VALUES('Blend4Web','JavaScript & Python & C & C++','JavaScript','Yes','3D','WebGL & Windows & Linux & OS X & iOS & Android','Experience Curiosity & Petigor''s Tale & Back to the Middle Ages','GPLv3 or commercial','Game content & including graphics & animation & sound & and physics & is authored in the 3D modeling and animation suite Blender[1]');
INSERT INTO "ge" VALUES('BigWorld','','Python','Yes','3D','Windows & Linux & Xbox 360 & PlayStation 3','List','Proprietary','');
INSERT INTO "ge" VALUES('Aurora toolset','C++','NWScript','No','3D','Windows','Neverwinter Nights','Proprietary','');
INSERT INTO "ge" VALUES('Ardor3D','Java','','Yes','3D','Cross-platform','','zlib','Fork of jMonkeyEngine 2.0');
INSERT INTO "ge" VALUES('Anvil','C++ & C#','','Yes','3D','Windows & PlayStation 3 & PlayStation 4 & PlayStation Vita & Wii U & Xbox 360 & Xbox One','List','Proprietary','');
INSERT INTO "ge" VALUES('Anura','C++','','Yes','2D','Windows & Linux & OS X & iOS & Android & BlackBerry 10','Frogatto & Friends','zlib','[citation needed]');
INSERT INTO "ge" VALUES('Antiryad Gx','','C & C++ & Gel','Yes','3D','Windows & Mac OS & Linux & iOS & Android & AmigaOS & AROS & MorphOS & NACL','','Proprietary','');
INSERT INTO "ge" VALUES('Allegro','C','Ada & C++ & C# & D & Lisp & Lua & Mercury & Pascal & Perl & Python & Scheme','Yes','2D','Windows & Linux & OS X & iOS & Android & Raspberry Pi & DOS','','zlib','Graphics & audio & input');
INSERT INTO "ge" VALUES('Aleph One','C++','Lua & Marathon markup language','Yes','2.5D','Windows & Linux & OS X','Aleph One (Marathon remake)','GPL','FPS engine');
INSERT INTO "ge" VALUES('Alamo','','','Yes','3D','Windows & OS X & Xbox 360','Star Wars: Empire at War & Star Wars: Empire at War: Forces of Corruption & Universe at War: Earth Assault','Proprietary','');
INSERT INTO "ge" VALUES('Adventure Game Studio','C++','AGSScript','Yes','2D','Windows & Linux','Chzo Mythos & The Blackwell Series','Artistic 2.0','Mostly used to develop third-person pre-rendered graphic adventure games & one of the most popular for developing amateur adventure games');
INSERT INTO "ge" VALUES('Adventure Game Interpreter','','C style','Yes','2D','DOS & Apple SOS & ProDOS & Macintosh System & Atari TOS','List','Proprietary','');
INSERT INTO "ge" VALUES('4A Engine','','','Yes','3D','Windows & OS X & Linux & PlayStation 3 & PlayStation 4 & Xbox 360 & Xbox One','Metro 2033 & Metro: Last Light','Proprietary','');

p.s. For you folks of any ancient Sci-Fi tenure, you might enjoy running this one:

select count(*) from GE where license like '%MIT%' or license like '%GPL%';

Numerology ... anyone?


[ view entry ] ( 601 views )   |  permalink  |  related link

<<First <Back | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | Next> Last>>