GameKit: new Blender game engine using Ogre+Bullet, DirectX/OpenGL,Mac,Linux,iPhone

Here is another small update on the progress on reading .blend files, and playing them using Ogre graphics coupled with Bullet physics.

GameKit can directly read any data from any .blend file, including meshes, cameras, lights, animation, collision detection and physics and basic logic bricks. You can program it using C++ or Lua scripting or very basic support through logic bricks and an experimental node editor.

Download a precompiled demo for Windows, Mac OSX and Linux or the full source code here:

http://gamekit.googlecode.com

This software uses exclusively MIT/BSD/Zlib licensed software, so it can be used as part of any proprietary/commercial software and hardware platforms without any restrictions.

http://bulletphysics.com/ogrekit.jpg

awesome . . .

sounds interesting

Wow. So Irrlicht can make use of the blender graphics and logic with this tool? Will the game be largely the same as it is in the BGE? What are the benefits of using Irrlicht instead?

Isn’t Irrlicht the engine they used in Irrlamb?
(I loved that game. Sad that it had so few levels:()

Right now it is mainly graphics and physics. Game logic and many other things are not extracted and implemented in this gamekit yet. But hopefully I get to adding more features, such as BGE logic bricks support.

Will the game be largely the same as it is in the BGE?

It should be largely the same indeed.

What are the benefits of using Irrlicht instead?

  • Main difference is that Irrlicht, Bullet and readblend use a more liberal software license, (ZLib), instead of the viral license use in BGE ((L)GPL).
  • Irrlicht supports OpenGL ES (subset of OpenGL), DirectX and software rendering, and has an iPhone port.
  • Other differences between BGE rasterizer and Irrlicht are minor, and more easily ported from one to the other (BGE seems to have more features at the moment, Irrlicht might be faster because it has vertex buffer object (VBO) support)

Thanks,
Erwin

This is extremely interesting!
I really look forward to seeing more on this.

So why are you making a competing engine if the BGE just had the API updated and had huge scenegraph speedups along with occlusion culling and before that the updates that came with Apricot?

This is why there’s no all-in-one outstanding free option for making games that beats commercial software, because everyone is set on making their own engine instead of working together. It’s also the reason why there’s no free renderer that beats Mental Ray, because nearly everyone wants to work on their own renderer and not come together for a cause of making one that’d be even more powerful.

So does this mean you’ll be abandoning the BGE other than the periodic Bullet physics update?

Calm down. For many purposes, the (L)GPL license is just not suitable, hence my effort.

It is not a competing, but collaborative effort: my focus is entirely on the Bullet Physics Library. I continue to support Bullet for the BGE. Also, I’ll try to share as much as possible with BGE, but excluding the (L)GPL licensed parts. So both BGE and this gamekit are using Bullet for collision detection, physics as well as occlusion culling. Hopefully logic brick support can be shared too, so Blender and BGE can be prototyping tool for gamekit. Note that gamekit uses Irrlicht as graphics engine, so it is not ‘my own graphics engine’. I can’t wait to see the first BGE games running on iPhone, through gamekit.

Did you realize that the occlusion culling is a feature taken from the Bullet library?
Thanks,
Erwin

i thought ben implemented view frustum and occlusion culling around bullet’s DBVT, not just called, say btCullMyScene(); so technically i wouldn’t say it was just “taken” from the library :wink:

No. I advised Ben to use btDbvtBroadphase, which support both occlusion culling as well as view frustum culling. Luckily Ben also reports and fixed several bugs, so it is a two-way collaboration.

There are some Bullet demos that show both culling methods.
Search for ‘occlusion’ in http://code.google.com/p/bullet/source/browse/trunk/Extras/CDTestFramework/BulletSAPCompleteBoxPruningTest.cpp

Okay, sorry about that, sometimes I draw the wrong conclusions and assumptions, it can be pretty common for me;)

You and Ben do make a great team on stuff related to Bullet, as your physics engine is one of the best things about the BGE.

Looking forward to the possibility of iphone games. It’s always nice to have options when creating a project. Please keep us up to date on this project Erwin.

Erwin wrote…
> For many purposes, the (L)GPL license is just not suitable, hence my effort.

I 100% agree.

> I can’t wait to see the first BGE games running on iPhone, through gamekit.

This is something I’m very interested in being part of.

With regards Bullet and iPhone :wink:

Mal

Erwin, I’m very excited about this project. I was looking through 3D rendering engines for ES supporting handhelds about a month ago, and I also found Irrlicht to be the most compelling option (because of the Zlib license).

OpenGL ES support will allow Blender-made games to run on the next generation of handheld devices, of which the iPhone is only an early forerunner. I’m very keen on the idea of being able to design games for my Open Pandora in Blender :slight_smile:

I think another factor people may not be considering here is the outstanding legal benefit a gamekit like this will provide for commercial users of the BGE itself. If Erwin is able to bring this gamekit up to full emulation of the BGE (including logic bricks and Python library support), then it will show that the .blend file format is an interpreted game content format, and that a .blend file’s licensing should not be determined by the license of the chosen interpreter.

I’m also glad to hear this, BGE license system is quite a bummer, besides having more options is always nice.

Did the license FAQ recently posted on the Blender.org website not answer anything about BGE games being sold commercially or something, because I know Ton is aware of this?

Here it is
http://www.blender.org/education-help/faq/gpl-for-artists/

The license issue comes when turning your game into a standalone, though I’m not sure how hard it would be to add an exception to the GPL for the Blenderplayer itself. .blend files themselves is considered program output and is not covered by the GPL

But having a blend file is like inviting anyone to open it and do wathever they want. It would be like leaving an investigation paper on txt instead of a pdf.

you can open edit and do whatever you want with a pdf too, the only true way of handing a relatively hard to copy/edit paper is handwritting it with a ballpoint (OCR isn’t that good yet) XD

mm or is there a way to “hide” the blend file?
edit: what would be cool is that you’d have the option in blender to save the blend as a “read only” .blend or
“read only by (some specified) program at (some specified) location”.