BDX - Open-source 3D Blender-Integrated Game Engine

Yo!

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, animated sprites, 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. If you wanna get a quick run-down, check out the General Overview on the Wiki.

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).

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.

Here’s also a smoother GFYCat of a game in production in BDX.

Cool~!

Thanks! Please feel free to check it out!

If you want to learn in a bit more detail, again, please check out the General Overview - it shows a lot of the basic ideas behind the engine in a simple to read write-up. The API is browsable on the Wiki, as well, and we tend to keep it up-to-date with the bleeding-edge. We also have a sub-reddit over at /r/bdx, which is pretty empty as the main users of the engine are also the contributors, so everybody’s busy solving stuff on their own, haha.

Welp! It’s been quite awhile, hasn’t it? We’ve done a pretty good amount since the last time I posted.

BDX has hit v0.2.5, and that means lots of bug-fixes, some performance improvements when actually executing the game project, and, of course some new features. Some points of interest:

  • New Color class to better handle and manipulate color (like using HSV notation).
  • Depth-texture rendering, and new pre-packaged 2D filters like depth of field and outlining.
  • A Material class to allow you to easily alter and swap out individual materials on GameObjects.
  • A Mesh class to allow you to more easily alter vertex and UV positions.
  • Mist / Fog support from Blender.
  • Render-to-texture support.
  • Viewports to allow you to better tweak how the game is rendered on-screen.
  • Lots of minor fixes and smaller additions.

Check it out, we tend to keep the documentation up-to-date whenever we add new features. This can mean that, for example, some features

P.S. I can’t seem to find a way to message a moderator - I didn’t know that I posted this in the wrong section (not under game engines). If someone could tell me how to report to a moderator to have the thread moved, or if a mod who stumbles upon it could move it, that’d be appreciated. Thanks!

Yo!

So, I’m here posting about another release of BDX, the LibGDX / Java-powered, 3D, Blender-integrated, open-source, cross-platform game engine. This time, it’s version 0.2.6. In a slightly related note, it’s approaching 2 years since I first touched the engine! Haha, wow, time flies.

Anywho, this release was mainly focused on bug-fixes, with just a couple of new features. A quickie changelog:

  • A lot of bug-fixes and QOL conveniences.
  • Meshes have been refactored a bit more to reference Materials directly (so each Mesh has a set of Materials, which makes sense and is similar to how Blender handles it).
  • A new function was added to allow you to update the physics body of a GameObject.
  • Text support has been pretty drastically improved, with text objects now supporting outlines, shadowing, alignment, and newlines.

Anyway, that’s about it. You can see the detailed changelog here (minus the last two commits).

If you’re interested, feel free to check out the engine. We’re still lacking some advanced features like shadows and armature support, but I’m using it for my main (kinda large) project, and it’s working out rather well.

For more information, take a look at our Wiki - it’s pretty well-fleshed out, in my opinion. The General Overview hits the major points of usage, while the API pages document the added functionality BDX affords you.

Anyway, thanks for reading!

Hi

Shouldn’t this topic be moved into the section “WIP games, tools & toy projects”?

Hey!

I’d think it should go under “Engines, Libraries, and Tools”, but as I mentioned earlier, I couldn’t find a method to message a mod to move the thread, so I’m not sure of how to proceed.