From BlenderWiki

Jump to: navigation, search
Note: This is an archived version of the Blender Developer Wiki. The current and active wiki is available on wiki.blender.org.

Proposal

Name

Spencer Alves

Email / IRC / WWW

Email: spencer at oatcake dot net (or personal: xxxx)

IRC: impiaaa

webpage/blog: http://www.boatcake.net

IM: Google Talk at either email address above

Additional Contact Info

Phone: xxxx

Physical Address: xxxx

Synopsis

I propose a project to make a node editor for logic systems similar to the one discussed in this wiki article. The Hive system is an existing project being developed that aims to create a high-level interface for programming systems. It it can be integrated as a system for engine logic in the Blender Game Engine, the Engine will become more accessible to new users and more useful for existing users. The project would be developed in a combination of C and C++, which I am very familiar with from my employment at Sprocket Digital and my computer science classes, and Python, which I am familiar with from a few years of experience on hobby projects.

Deliverables

  1. Bindings for existing Hive nodes to the Blender Game Engine
  2. Low-level optimizations to the evaluation pipeline
  3. Steps towards a node-based GUI for the BGE

Project Details

My overall goal is to integrate the Hive system into the BGE logic system and make it a suitable replacement for logic bricks, as discussed in this wiki article. Using an existing node interface, we can promote development with the interface on other platforms than Blender. Steps to integrate Hive fully would include improving the BGE API, writing new nodes, optimizing existing nodes, context caching, and working on the Hive GUI. However, given the timeline and focus on Blender, it is likely only possible to focus on BGE bindings. The Python back-end to the Hive system also opens up opportunities for wide extensibility outside of node graphs. It will allow Python programmers to more easily integrate with the Blender Game Engine. With such extensibility and a familiar interface, the game engine and Hive could also be used for making animations. Hive additions can also be re-used in other Hive projects. In order to completely replace the logic brick system in Blender there should also eventually be a migration layer to convert brick systems to node systems.

Project Schedule

  • June 15: BGE extensions and bindings planned out
  • July 31: Hive system fully integrated
  • August 15: Optimizations to Hive
  • August 24: New nodes for Hive

Bio

My name is Spencer R Alves, and I'm studying computer science at Rose-Hulman Institute of Technology. I enjoy hanging out with friends, playing computer games, and tinkering on my computer. Not all of my experiments have been totally useless, you can see some of what I've come up with here. I've been using Blender for a while (since 2.49 at least), but I really only use it to write 3D programs and make cool pictures. I've been following its development via BlenderNation and the Blender Development Blog, and I'm excited to begin contributing to it. I'm almost done writing an importer script for Blender, which you can find here. I'm fluent in Python and C and familiar with C++. In addition I'm very familiar with Java and Objective-C. I have experience working on embedded devices from iPhone development and work at Sprocket Digital. The iPhone app I was able to complete over the summer, and while the project at Sprocket Digital is ongoing, I wrote much of the user interface code in one summer.