Hive system: reusable game logic components

Hi everyone,

As you might know, the Blender Game Engine has game logic bricks that you can connect. It allows you to build game logic visually. However, although it is great for simple things, it scales up poorly.
Over a year ago I had an idea to extend these bricks to a full node-based game logic system, that should scale up much better, and easily extensible by Python programmers.

With Blender 2.5 (and its Python API) being under heavy development, I decided to take another game engine as a 3D testing ground. After playing with Python-Ogre for a while, I discovered Panda3D, and it’s really great! The bindings were a breeze compared to Python-Ogre, it saved me a lot of time.

So here I present the completed hive system, a framework to build and connect reusable Python components, in particular game logic. Eventually it will have bindings to the BGE, but right now it works only with Panda :slight_smile:

The code is GPL (for now), and available here:

launchpad.net/hivesystem

It comes with a very detailed manual.

For a quick demonstration, there is also a little screencast, based on the Panda Hello World tutorial:

launchpad.net/hivesystem/trunk/0 … encast.swf

The hive system is bigger than just game logic nodes and visual programming. It can be used within Python to make other reusable game components. For example, an inventory for RPG or adventure games, or a combat system.
Perhaps it could be useful for shaders as well, I don’t know.

The system works, but the features are not complete. Many useful nodes are still missing. The GUI works, but it is quirky and ugly (I have no talents in that direction).

Anyone who wants to test it (or to develop!) is most welcome!

cheers

Sjoerd

I’m unable to run the swf (why is it inside an swf anyway?).

Hi Anon,

The screencast is in .swf (Flash) format. You need a flash plugin installed in your web browser to see it.

The Python code itself is in a standard tarball, you can extract it with e.g. WinZip. There are some instructions where to copy the files.

Hope that helps.

cheers

Sjoerd