Friday, 18 July 2008

2D overlay interface on ORIENT_UI & connected to IONServer (Augsburg)

Hello all,

I created a simple 2D overlay as the user input recognition interface on ORIENT_UI. This overlay displays text when user has input something or has no input for a long time (or in certain situation which requires the input, can be added later). There are some animated pictures displayed on this overlay to promted the user to wave the Wii controller.

The 2nd thing I did was to connect Augsburg's IONServerSocket project (with miniDemo GUI interface) to ORIENT_UI. First of all, I converted their projects to MSVS 2005 version - I think it is easier for other people who work on MSVS 2005 to run and change the codes. So now you can start ServerION.exe from ServerION\ServerION\bin\Debug, you will still see Augsburg's miniDemo GUI interface opened. Then you can run the new version of ORIENT_UI and click Go at the bottom-right corner - now two applicatoins are connected by socket. When you want to give some input, you should click on SeverION's miniDemo GUI window first, then you can either click 1 or 2 on your keyboard, then ORIENT_UI will give you the response. Mapping other keys on the keyboard or adding real input devices like Wiimote/DanceMat should be very straight foward becasue Augsburg has already got the codes in their project.

Comments and modifications are welcome. The 2D overlay is very simple at the moment (please use resolution 1280 x 960, otherwise you can change some code about setPosition for text and picture in the class User.Utility3.cs - apologize for this setting) , please feel free to discuss the changes with me. I haven't uploaded the new code to SVN, just want to make sure you guys are happy with the 2D overlay and the server connection parts first. So please download the all the code from the following website to test the changes:

http://homepages.feis.herts.ac.uk/~comqwch/ORIENTDevelopment.rar (67.17MB)

I just downloaded from SVN the most recent version of ORIENT 1 hour ago, and I have added new codes in the following classes:
ORIENT_UI.Programs.cs
ORIENT_UI.RenderWindow.cs
User.UserGestureAction.cs
(new class) User.Utility3.cs

Many thanks :) I look forward to hearing from you.

Tuesday, 15 July 2008

OSM Previewer

Hi guys!

Just created new OSM file previewer (used to test set graphical content) according to the current framework. Scene navigation is similar to previous versions, mouse controls camera rotation and WASD keys control camera movement.

Compiled version is also available at:
http://gaips.inesc-id.pt/~psequeira/orient/OSMPreviewer.zip

Cheers

Wednesday, 9 July 2008

Repeating Goal and Cultural Goals

Goals can be repeated now by using 'NewEvent' in the xml instead of 'RecentEvent'. For example,

<ActivePursuitGoal name="x">
<PreConditions ... />

<SucessConditions>
<NewEvent occurred="True" ... />
</SucessConditions>

<FailureConditions ... />

<ExpectedEffects ... />
</ActivePursuitGoal>


And the Precondition should not contain RecentEvent=false for the NewEvent in the SuccessConditions.

Goals that are shared by all in a culture can be specified using the same format as the ActivePursuitGoal except replacing the ActivePursuitGoal with CulturalGoal and have to be specified in the culture.xml file. These goals do not need to be listed in individual agent's xml file because it will be automatically added as goals for all agents.

Fullscreen mode

Hey everyone!

Only now I've had the chance to post about the new fullscreen graphical feature:

Created fullscreen display mode for Orient. Screen resolution will match resolution chosen in Ogre config, and restore desktop resolution upon exit. Removed old FearNot! interface widgets.
Still we need to get rid off old FearNot! code and StoryFacilitator actions.. I've talked to Rui and we'll have that ready soon.

About the initial screen, maybe it would be good to have an initial screen with background image and a "start" button like the one that exists now. What do you think?

New Agent Mind

Hi everyone, I have uploaded the FAtiMA source code with WorldTest and UserInterface (the version I showed at the Venice meeting). It is in the AgentMind folder. An instruction to set up the projects in eclipse is also provided (Setting up the AgentMind projects in Eclipse.doc).

Tuesday, 8 July 2008

Expected Outcome in triggers

Just added the option of specifying a expected outcome for a trigger, the syntax is the following:

<trigger expectedOutcome="EVENT(CHARACTER_NAME, ACTION_NAME, ACTION_PARAMETERS)">

    <condition>

       ...

    </condition>

    <actions>

       ...

    </actions>

</trigger>



Please note that there are no double/single quotes when specifiying the expectedOutcome. Here's an example of a correct expected outcome: expectedOutcome="EVENT(John, Kick, Luke)"

The expected outcome is used in the double appraisal process. If the author decides to specify an expected outcome for a trigger, then that expected outcome is sent to the active agents for them to assess. The response to the query about the expected outcome is used to score the trigger (in the default process the triggers are scored by querying the active agents about each of the narrative actions that will get executed if the trigger is fired).

user interaction integrated

I updated the "Orient" and "Orient-Interaction" repositories: just stuff transfered over from Mini Orient. When Orient is run now, a server is started that listens in the background to incoming connections. If Orient Interaction is run in parallel and a WiiMote is connected then everytime a user interface action is performed (Wii gesture, dance mat step, RFID scan, etc.) the Orient Interaction program connects to the server that sits within ION, which then raises a new ION action, of the respective type (i.e. UserGestureAction). At the moment there is nothing to respond to these actions yet.

Monday, 7 July 2008

Welcome

The Orient development blog is open now, lets see if this will work. Please create a small posting, when you commit changes to the SVN and quickly described what you have changed. Feel free to also use this as a technical discussion platform. Everything we discuss on here won't be lost later and might contribute to the SW documentation later. Cheers