Tuesday, November 15, 2011

Progress and Control

Hi all,

Unfortunately, I wasn't able to work on my project very much last week... but this week it's time to get back in action.

I was able to get the tabs to change between modes working.  They need a bit of tweaking, but for now, they do the job nicely.

Hovering over the top tab changes the mode to Create.
When in creation mode, agents are created at the hand points after a small delay.  This gives the user time to decide where to place the next two agents.  Of course, this isn't the best solution.  I really would like to get hand depth involved here in order to give the user better control over when and where to create agents, as mentioned in an earlier post.

Hovering over the middle tab changes the mode to Select.
Here you can select agents and have them follow each hand.  Deselection still works by 'clapping', but I want to try the 'shake off' idea suggested to me during alpha reviews.

Hovering over the bottom tab changes the mode to Control.
Right now this does nothing.. very sad.. but I want this to be my next major focus for beta reviews.  I'm caught between jumping right into flow fields and starting with something a little bit less complex and then building up.  My idea right now is to start with giving selected agents directional headings.  This requires being able to create vectors from hand motions and applying those vectors to the agents.  With this more basic system in place, I could then build on that to generate vectors over a grid to create the flow field.  Then the agents would update their current velocities based on the flow vectors in their predicted grid position.

That's all for now,
Thanks!

Marley

Thursday, November 3, 2011

Alpha Review Thoughts

Hello,
I have received the feedback from the first review of my project.  I'm happy to say it was very positive and included a couple of nice suggestions and things to keep in mind.

One critique was in reference to the clapping gesture that deselected the agents.  In truth, the user does not actually have to clap, only bring their two hands together.  I do however like the shake idea they provided and may implement that in addition to the original method for deselecting in order to compare and determine which is more intuitive.

Something else brought up was teaching the user how to use this system. It's definitely in the back of my mind.  I would like to just have simple visuals (text and/or demonstrations) that appear for each option as the user explores them the first time the system is started.  After that the visuals would only display after a certain amount of time of idleness as a kind of prompt or reminder.

In regards to the progress I've made so far this week, the user can now select the create tab and agents will appear at the two hand positions.  This implementation is very basic at the moment; the agents appear at each position after a two second delay.  The user can then choose the select tab and select the agents like before.

My next goals are to figure out a good way for allowing the user more control over when and where an agent is created, cleaning up the switch between modes, and to begin thinking about the other control schemes.  I've been brainstorming about vector fields and how to begin implementing them as a starting point.

Thanks,
Marley

Wednesday, November 2, 2011

Changing Modes

Hi all,

This week I'm working on a simple GUI for switching between the creation, selection, and control modes. I haven't come up with the best solution, but it should work and that's the most important thing at this time. Being able to switch modes will allow me to implement and test the features of one mode without interference from the others (such as trying to create agents but accidentally selecting newly created ones).

Simple GUI for changing between creation, selection, and control modes.
In this example, the right hand has selected create mode and the left hand is creating new agents.
Three tabs will be labeled for each mode.  Moving a hand point near these tabs will cause the closest tab to move out, and perhaps change color. This reaction both signals the user and hopefully makes it easier for the user to then select that tab if they want to.  By hovering over the tab for some amount of time, the tab is selected and the mode is changed.

Creation
When in creation mode, the hands can move around the scene and create agents.  One idea is that moving a hand forward in the depth plane will 'plant' the agent, thus creating one at that point.  This way agents aren't being created in every point in space where the hand was located and also gives the user some control, unlike  an alternative idea which would be to simply delay when agents are created.

Selection
This is the mode I've been working on the most.  Here both hands can select separate groups of agents and then each group follows that respective hand.  I think I will leave this simple control aspect in the selection mode for now.

Control
The control mode will probably have a few of its own tabs each representing a different control scheme.  Select groups in selection mode and then go to control mode.  The selections will then be locked and the user can set up different control schemes by first selecting the scheme to use and then using the appropriate gesture.


I would like to not have to rely on selecting tabs... but for now, like mentioned before, it would be the easiest way to implement all of the different aspects and test them separately.  I'm definitely open to any ideas about ways around this.  Another issue I can already foresee, is selecting agents and then moving the hand to the tabs.  If you want to select a specific agent in the middle of a large group, how can the user tell the system that it only wants that one and not pick up other agents on the way to that agent and on the way back to the tabs?  I guess one way would be to have two selection schemes.  One where both hands can freely move about and select agents, and another where both hands work in tandem to inhibit selection until the desired agent is reached.

Anyway, that's all for now.
Once the different modes are set up I will begin working on some of the control schemes.  Leader following, simple directional headings, and maybe flow fields are ones that I would like to start with.  There will be more about that in future posts.

Thank you,
Marley