As you may know, the Hive system is a Python system for nodal logic. It was one of the GSoC projects in 2012.
Here are some updates for those who would like to follow its progress.
The current version is 0.91, which is “early beta”: The core functionality is done, but the HiveGUI is still in the early stages. Most importantly, it has been running mostly externally under Qt,
The porting of HiveGUI as a Blender add-on is a recent development, and the tutorials and documentation have not yet been updated.
There is now an Blender Hive add-on, it just reached alpha. You can download the add-on here .Unzip the add-on in your addons folder and enable it in Blender User Preferences.
What the add-on does:
It adds three new icons in the Blender Node Editor:
- Hivemaps (nodal logic)
- Workermaps (custom node definitions using nodes and custom Python code)
- Spydermaps (configuration).
Enable “Use Hive Logic” when you click the Hivemap icon (joystick) in the Node Editor. This will setup a default Hive project inside your blend. Whenever you save the .blend (or start the BGE) the nodetrees are written to Hive text blocks.
There are currently two Hive project .blends that work with the add-on: Tetris and a moving spider example. Both of them have been adapted from Hive system tutorials. All Hive project .blends can be downloaded here.
The performance will depend on your Blender version:
- In standard Blender (2.67-2.68), the nodes will display weird, and you can run the BGE only once (afterwards you have to restart Blender)
- In 2.69 / recent Blender trunk (since revision 59431), the nodes will display weird, but you can run the logic as often as you like. You can download a recent build here.
- In the Hive branch, everything works correctly. There are pre-compiled Blender builds available, containing the Hive branch + the add-on:
Windows 32bit(thanks Agoose77)
OSX 10.7 Lion(thanks Scorpion81)
To run the moving spider example, you will need a Blender build with FFMPEG.
- In principle, you could create Tetris or some other game from scratch, but are very likely to run into bugs.
- There are some features in the external HiveGUI that don’t work inside Blender: attribute blocks, interconnection points, text auto-completion and hovering events.
- Don’t try things like undo or node grouping.
External Hive installation
Note that all tutorials and examples are for the external GUI. If someone is willing to make Blender videos, that would be great!
Chapter 1 of the tutorial is the easiest, let me know if you have any trouble.
In addition, the demo shows a complete, 12-step implementation of a Tetris game. It contains about 140 nodes and 70 lines of Python. Compare to this to an average implementation in pure Python (about 500 lines of code) or C/C++ (about 1000-2000 lines of code).
Community input on node design
At some point, community input will be needed on the design of nodes. What nodes would you like? Should they work exactly like the current logic bricks, or do you want them to be different? I can give everyone their own customized version of the Motion Actuator if they like, coding them is no trouble at all. But some community standards might be helpful, just to make sure that people can come to this forum for help about nodes and talk about the same thing.
This will become more relevant once the Hive system has matured a little bit further.
But in the meantime, everyone is welcome to post or send me mockup node diagrams or individual node designs, and I will see if I can implement them already.