Site Sponsors:
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!

Outloading?


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!

Punt!


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!

-Rn



[ add comment ] ( 306 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"
Blend4Web
Blender
"Cafu Engine"
"Cocos2d & Cocos2d-x & Cocos2d-html5"
Construct
"Crystal Space"
Exult
"HPL Engine"
OGRE
PLIB
Pyrogenesis
"Retribution Engine"
Spring
Torque3D
"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;
BEGIN TRANSACTION;
CREATE TABLE ge(
"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','');
COMMIT;





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?

=)



[ add comment ] ( 571 views )   |  permalink  |  related link
Fixing SVC.XML Errors in Apache Batik 
It was 2AM. Well into the 1st shift for my day.

Having just enthusiastically created 20 images for use in a 2D attack simulator, I was eager to get those Inkscape designs into my Java simulator.



Upon noticing that even the Linux OS I was using was unable to display thumbnails for the images in-question, I should have known that something was going wrong. Undaunted however, I rather venially tried to load the XML files as saved by Inkscape.

What part of the word "boom" did I not understand?


After the usual & customary 'googling, it became apparent that the problem was that Inkscape was using absent-classes to control bits of undo, layering, and other XML snippets that were simply not to be found in the Apache Batik Framework. After that epiphany, the quick-and-easy work-around became obvious.

(HINT: The use of additional JAR files was NOT required!)

Submitted for your R&D approval therefore, please consider this link so as to slap me with .02 for taking the time to share the solution to what - for many - has proven to be a real show-stopper to re-using output from many an SVG.XML program in their own - as well as in other people's - vector-laden software creations.

Note also that while sharing might indeed be caring, that gifting your fellow 'geeks with pennies from a YouTube view or two is one nice way to return the favors.


Enjoy the Journey!

-Rn



Google Fodder:

org.w3c.dom.DOMException: The current document is unable to create an element of the requested type (namespace: http://www.w3.org/2000/svg, name: flowRoot).
at org.apache.batik.dom.AbstractNode.createDOMException(Unknown Source)
at org.apache.batik.anim.dom.SVGDOMImplementation.createElementNS(Unknown Source)
at org.apache.batik.anim.dom.SVGOMDocument.createElementNS(Unknown Source)
at org.apache.batik.dom.util.SAXDocumentFactory.startElement(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.anim.dom.SAXSVGDocumentFactory.createDocument(Unknown Source)
at org.apache.batik.anim.dom.SAXSVGDocumentFactory.createSVGDocument(Unknown Source)
at org.apache.batik.bridge.DocumentLoader.loadDocument(Unknown Source)
at org.apache.batik.swing.svg.SVGDocumentLoader.run(Unknown Source)




[ add comment ] ( 361 views )   |  permalink  |  related link

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