Thursday, February 17, 2011

Integration into Unity

So I feel like I've made some pretty good progress this week. I have ported all of my code into Unity, which wasn't a terrible ordeal. I just had to get rid of my constructors for all of my Nodes, make my Nodes into GameObjects, and replace my properties with public variables.

At first I thought I needed to make a runtime GUI to manipulate my network in-game. However, Unity has a very nifty GUI editor for actually creating your own windows and widgets. I'm working on one that will allow a user to create the network nodes without having to even run the game.

You can see in the bottom left corner the Network Editor tab (that's mine). You can see the properties of a selected Node and add edges to other Nodes by dragging them into the Object field and specifying the edge type. It was really simple to do, and I couldn't imagine it being any easier to set up. Plus, I will be able to make a really cool-looking interface. I was thinking something like this from Ghost in the Shell:
Someday :)

For my alpha review, I plan on having done:
1. Saving and loading scenes of networks (this is already done theoretically, just need to check a few things).
2. Visualization of Activations.
3. Setting up and triggering activation groups.

This will put me a little behind on my schedule, but I think the time spent working with Unity will shorten the time needed for test scenarios. Plus, now that I know how simple it is to use Unity, I think my estimates were a little generous anyway.

2 comments:

  1. Glad that the port was smooth; that's always a big unknown. Will you have a flowchart-style editing mode (similar to Kismet) or is that not the most natural interface for what you are doing?

    ReplyDelete
  2. I'm using the Unity interface to implement something similar. In the Editor mode, you'll add new nodes, change parameters, and make connections. In Play mode, you'll see the effect of any activations you set up, as well as be able to enter text input to see the effect. My interface will be 3D though. It may not be the best for user interface concerns, but it looks cool and the interface is not of primary concern for this project.

    ReplyDelete