Development of HIVE

Patience is a virtue

I just added a video describing how to test the latest demo (really simple WSAD demo).

Mouse and Keyboard rely events being fed to the event manager. I only feed keyboard events at the moment, and they’re just stringified BGE event names (*without “key” at the end, in lowercase) so the demo will be updated as Hive2 is developed). It also means mouse support isn’t there.

I finally found it with google lol I couldn’t find it with github’s own search engine, like a certain site’s coughBAcough search engine, it either retrieve a bunch of similarly named items or none at all :no:

I haven’t tested it yet but thanks for the hard work making this happen

The video demo file won’t render properly, so I’ll re-record a new one (with a better microphone!) in the future, after Christmas.

Recently, I’ve added a new Hive logo, added a large number of nodes to the standard library, and fixed a few editor and (smaller number of) hive library bugs.

I’ve added an experimental option for hive instantiation and binding, which will pave the way for addObject-like-actuator code (this specific code is related to sandboxing support - being able to pipe events to the newly created hive, close it etc). Currently the interface to control these hives is pretty thin, the control layer needs some thought.


Since my last update, I’ve done lots of work behind the scenes.

Unfortunately, I’ve dropped support of the Blender UI (until I have time to circumvent the problems associated with PyNodes), and the BGE isn’t being actively developed (I’ve removed the code that supports it). I can return the BGE code, but as a bug was present in the gameloop control code, and because Panda3D offers more control, I’ve made more progress in Panda. I’ll be sure to backport most generic Panda features back to the BGE.

For fun, here’s a screenshot from the current UI.

I had taken a break for a month or two, due to exams, but I’ll be starting development once again in the coming weeks. There are some big development tasks to be addressed, and the original author (Sjoerd-de-vries) has provided some input which will help in these tasks. Most importantly of all is the design goal of fully supporting “spydersilk”, a data-oriented modeling system which provides a whole new dimension to both the UI side of Hive (allowing complex data objects to auto-generate UI) and the functionality (acquire-through-conversion extensibility (where after defined conversion relationships between different data models, each type gains the features of the other by means of conversion)).

Anyway, as ever, more to come!

A change list since the last update:

Python API improvements:

  • Simplified the policy system and validates at build time.
  • Changed data type system to use strings externally and internally (converted at comparison time).
  • Extended dragonfly.
  • Added aphid module for editor-related Hives (e.g hivemap relative import).
  • Added support for type and options annotations of Python classes, methods and properties (hive.types for arguments, * hive.return_type) and adds convenience functions for python properties (hive.typed_property - adds type info to python property getter).
  • Added binding class generator (for bind classes / plugin forwarders).
  • Separated code generation module
  • Supported multiple parents to bee runtime instances

Editor improvements:

  • Improved edit undo support
  • Made import paths visitable (to find source)
  • Added node from import path
  • Created default file if drag node over webview
  • Added console window
  • Added realtime debugger window
  • Dragged and drop hivemap files, project directories or hivemap text to load hivemap
  • Improved selection
  • Added shift selection support

Included in this list is real-time debugging, and breakpoints!

I’ll keep this post short for now :slight_smile:

Attachments


Agoose, could you tune this system to write C and then compile?

To be able to insert custom behavior into the game engine at a very high level?