I wanted to just pop in here and let you guys know about an open-source cross-platform 3D game engine that I've been contributing to called BDX.What Is This?
BDX is a 3D Java-based game engine integrated with Blender and powered by LibGDX. Being that it's integrated with Blender, it runs on Windows, Mac, and Linux. As it runs on LibGDX, it should export to Windows, Mac, Linux, HTML5, Android, and iOS.Hahaha, OK, But Really, What Is This?
Overall, BDX is a fairly light "engine" that's kind of a bridge between Blender and LibGDX. It provides advanced functionality that's not there under vanilla LibGDX (like per-pixel lighting, components, and input maps), and exports data from Blender to use in the engine. So it kind of turns Blender into a full game engine.
It's just easier to call BDX as a whole an "engine" than explain it all completely, haha.But Why, Though?
The biggest reason to use BDX is that it's Blender-integrated, which means that you don't need to import or export anything. You push P in Blender's 3D window, and the entire Blender scene gets exported to run. This means that in addition to there being no importing and exporting, Blender can directly serve as your world editor. You place things where you want, and they'll be there when you play the game.
The second is that in this integration is supported lots of built-in features that are available from Blender's GUI itself, like the materials, physics settings, object properties, parenting, and other things. For most of this stuff, we use the settings available under Blender's Game render mode (at the top of the 3D view), though BDX comes with a Blender add-on to add a couple of game-related panels (and perform the heavy stuff behind the scenes).
Another reason is that we have a clean, game-focused API, which makes things like moving, rotating, coloring, tinting, swapping materials or models for, or checking for collisions between GameObjects simple and pain-free. To make things easy, you can either code in Blender's text editor, or set up an IDE to code with (which I'd recommend). BDX can use either one.And How???
We've got documentation over at the Github homepage. The General Overview page lists some of the features alongside some example code for you to see how the various aspects of BDX work. The creator of the engine has video tutorials up (which, by now, might be a bit outdated), and I've started on a set of written tutorials, though they're kinda... Well, they could be improved upon, haha. They just don't really go into making a full game, but rather explain the game development process from the beginning, more-so.What's It Look Like?
Most of what you'd be looking at is just standard Blender and an IDE. However, here's some old shots of what it looks like, and an old finished game in the last pic. Cool~!
Thanks! Please feel free to check it out!