external

Run your own Germination X server

dave griffiths - Fri, 2011-11-04 14:14

We are in the process of moving the Germination X game to a new server, which gives me the chance to properly document the steps required to set it up - this is based on a clean Debian Squeeze 6.0.1 box on Linode.

Step 1: Get the source and Clojure installed

sudo apt-get install subversion
svn co http://svn.lirec.eu/scenarios/GerminationX/
wget https://raw.github.com/technomancy/leiningen/stable/bin/lein
cp lein /usr/bin; sudo chmod +x /usr/bin/lein
sudo apt-get install default-jdk
cd GerminationX/oak
lein deps (automatically installs all the clojure dependancies)
cp fatjars/* lib/ (installs the FAtiMA precompiled jars)

Step 2: Install mongodb (used to store the game world)

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
add: "deb http://downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen" to /etc/apt/sources.list
sudo apt-get update
sudo apt-get install mongodb-10gen

Once the server is running, you can browse the database (players and tiles containing plants) using the "mongo" console, the database is called "oak".

Step 3: Start the server

Configure core.clj to build a new world (see comments in source) and test by running as normal user (WARNING: this is not secure!!! - only for testing!!!)

./run.sh

This will start the game server printing output to stderr/stdout, and after a while the three plant spirit FAtiMA processes. Wait a moment then check port 8001 - the game should be running. Once checked, comment out world building in core.clj and kill the 4 java processes.

Step 4: Locking down the game server

For reasons of security the game server should be run as a user with very restricted permissions - this means if someone finds a way to run commands via the process in some way, they wouldn't be able to do much to the server except access some game data. The standard user for this is called "www-data".

sudo chown www-data:www-data public
sudo chown www-data:www-data public/log.txt
sudo ./server.sh start
Check port 8001

Check the server is running with "sudo ./server.sh status" or stop it with "sudo ./server.sh stop". This code was based on a similar script for Naked on Pluto, thanks to Aymeric! The game logs it's stdout/stderr output in /var/log/oak-server-8001.log while some in-game logging currently goes to public/log.txt (so it can be visible from a browser).

We are also running the game via apache using a reverse proxy, (again based on the setup used for NoP) this gives us an added layer of protection/load management etc.

Categories: external

Is that a robot in your suitcase?

Science Daily - Robot news - Wed, 2011-11-02 14:30
A flying robot as small as a dinner plate that can zoom to hard-to-reach places and a fleet of eco-friendly robotic farm-hands are just two of the exciting projects a robotics team in Australia is working on.
Categories: external

Fast high precision eye-surgery robot developed

Science Daily - Robot news - Thu, 2011-10-27 13:27
A researcher in The Netherlands has developed a smart eye-surgery robot that allows eye surgeons to operate with increased ease and greater precision on the retina and the vitreous humor of the eye. The system also extends the effective period during which ophthalmologists can carry out these intricate procedures.
Categories: external

New master student: Miguel!

Future Applications Lab - Wed, 2011-10-26 22:52

He's been here for a while now, so it's time for an announcement: Miguel Pais is our new master student!

Miguel (on the left, hidden behind his laptop) is working with Nao, the robot, within the Lirec project. Together with our project partners at INESD-ID in Portugal Miguel will be exploring how robots' social cues can mediate people's interactions with each other.
Categories: external

Germination X – designing for cooperation

dave griffiths - Thu, 2011-10-20 08:33

Over the last week I've been designing and implementing a lot more game mechanics for Germination X which are needed for an upcoming visit to the Mobile Life Lab in Stockholm. The more interesting ones involve some direct player - player interaction. The thing I'm trying to balance is keeping the central design simple (what you have to do), but adding just enough for it to be taken further by players (how you do it). One important part of this is emphasising cooperation without making it mandatory - something I think is a mistake to do, and leaving the way that people interact online as open to interpretation as possible. Tale of Tale's Endless Forest is a good reference point here.

The focus is adding a kind of "levelup" system for players to progress through the game in a longer term way than currently, along with some surprises. Also adding a way for players to send fruit they pick to other players as gifts, or to the plant spirits as a kind of "offering".

The other major change is updating the game to use MongoDB to store all it's data. I'm using congomongo as the Clojure wrapper, and it's been fairly simple to integrate with the existing game code as I can replace normal Clojure functions like reduce with versions that iterate over records in the database. These can also be written to load data and work on it in chunks, to keep the memory overhead fixed:

(defn db-reduce "run f on each item in the collection, return the result" [f ret coll] (loop [skip 0 ret ret] (let [limit 200 ; limit to loading 200 records at a time items (fetch coll :limit limit :skip skip)] ; do the fetch (if (not (empty? items)) ; are there any items? (recur (+ skip limit) ; do the next chunk (reduce f ret items)) ; reduce f over the items ret))))
Categories: external

Robotic bug gets wings, sheds light on evolution of flight

Science Daily - Robot news - Tue, 2011-10-18 02:49
When engineers outfitted a six-legged robotic bug with wings in an effort to improve its mobility, they unexpectedly shed some light on the evolution of flight. The wings nearly doubled the running speed of the 25-gram robot, but was that good enough for takeoff?
Categories: external

Tree-dwelling animals were the first to fly, new research suggests

Science Daily - Robot news - Tue, 2011-10-18 02:49
A six-legged, 25 gram robot has been fitted with flapping wings in order to gain an insight into the evolution of early birds and insects.
Categories: external

Robotic telescope network with access via Internet to be built

Science Daily - Robot news - Tue, 2011-10-11 12:46
Internauts will be able to connect to 17 telescopes on four continents to share observation time. A world network of robotic telescopes is to be developed as part of a European citizen science project that has just kicked off in Spain. The network, to which any citizen will be able to connect and share observation time, will offer free open access via the Internet.
Categories: external

Goal to build more than 30 more KASPARs to help children with autism

Science Daily - Robot news - Tue, 2011-10-11 12:46
Researchers in the UK have a goal to build over 30 more KASPAR robots to help children with autism.
Categories: external

manSEDANse 2011

dave griffiths - Sun, 2011-10-09 15:34

I was honored with an invitation to present some thoughts on open source/free software at this year's manSEDANse festival in Tampere. It was nice to talk about the connections between Germination X, Naked on Pluto and Betablocker DS with some quick live demos, and catch up on the developments of open hardware projects such as OHANDA from Tuomo Tammenpää and Cheap Fat and Open from Jacob Sikker Remin.

Categories: external

Lirec meeting in Bamberg

dave griffiths - Mon, 2011-10-03 11:53

Last week was another Lirec meeting in Bamberg, where I was able to present an in depth description of how Germination X works. I also had the chance to talk with SICS/mobile life lab (one of the other project partners) about how we can take the game forward with the aim to provide some studies for how people relate to Lirec's companion/characters/plant spirits - and hopefully also other players.

The game's main mechanics are as follows:

Germination X is similar to other farming games except for the third factor - that plants may get ill if their ecosystem cannot provide them with what they need. The other thing that makes Germination X unique in the socal games space is of course the addition of the plant spirits.

Each spirit represents a group of plants - the more specific permaculture term is a "layer", as the groups represent the layers of a forest, from the root level (called rhizosphere) all the way up to the canopy trees.

Note: dandelions are more correctly part of the herbaceous layer, but we are taking artistic licence here, and lending it to the ground cover spirit for the moment.

In the FAtiMA rules for the game, the spirits have relationships defined for each of the plants in their group, and relationships defined between themselves. This allows us to use the way FAtiMA models emotions to get some nice results, for example if a player plants an apple tree the Tree Spirit may experience "Joy". However, the Ground Cover Spirit doesn't like the Tree Spirit as it's plants shade it's clover and dandelions too much - this action will cause it to express "Resentment". Such processes, so the theory goes, create more understandable and believable characters.

Categories: external

Emotional Colour Map

dave griffiths - Wed, 2011-09-14 16:12

This is the emotional colour map for Germination X. It's a 22 by 8 sized image, with 8 colours for each OCC emotion (those we haven't done yet are white).

From left to right, these represent: LOVE, HATE, HOPE, FEAR, SATISFACTION, RELIEF, FEARS_CONFIRMED, DISAPPOINTMENT, JOY, DISTRESS, HAPPY_FOR, PITY, RESENTMENT, GLOATING, PRIDE, SHAME, GRATIFICATION, REMORSE, ADMIRATION, REPROACH, GRATITUDE, ANGER.

It's primarily based on a set of colours Lina has been working on. She found it useful to group the emotions into positive and negative sets. Something I think is significant is that these colours were made with the colours of the plants and the general feel of the game in mind. I think the problems I found with this exercise was a lack of context - perhaps thinking too abstractly about this is a bad idea.

It's great to see this work being picked up by the Life project by Evan Raskobb at Space Studios - looking forward to seeing more of where they go with this.

Categories: external

GX – messages, colours and continuous worlds

dave griffiths - Fri, 2011-09-09 12:34

A big update for Germination X today.

The main new stuff includes:

The process of moving around the world is now more continuous, as the land is split into sub-tiles that are loaded 9 at a time. When you move out of the central tile the 3 at the back are discarded while the 3 at the front are loading. Spirits can also "see" into the tiles surrounding their current one, and so can navigate the entire world slowly, but independently.

Spirit emotional colours - both in their character design and in their messages. I'll post more fully about this later.

The messaging system has been rewritten and now forms the major information source from the spirits. It's probably a little too much right now, and some thought is needed on effective ways to communicate some of these things. All the spirit's messages are triggered by actions driven by the FAtiMA agent. Here is an example of what happens when a "praise" action is received for an object:

(defn spirit-praise [spirit plant] (modify :log (fn [log] (log-add-msg log ; we can't exactly be sure why the fatima agent ; has triggered the praise action, but we can make ; an educated guess by looking at the plant ; if it's not the same type as the spirit (if (not (= (:name spirit) (layer->spirit-name (:layer plant)))) ; we're happy as it's providing a benefit to our plant (make-praise-msg 'spirit_helper_praise spirit plant) ; it's the same type (cond (= (:state plant) 'grow-a) ; we're happy because a new plant is growing (make-praise-msg 'spirit_growing_praise spirit plant) (= (:state plant) 'fruit-a) ; our plant is flowering (first phase of fruiting) (make-praise-msg 'spirit_flowering_praise spirit plant) (= (:state plant) 'fruit-c) ; our plant is fruiting (last phase) (make-praise-msg 'spirit_fruiting_praise spirit plant) ; i give up! :else (make-praise-msg 'spirit_general_praise spirit plant))))) spirit))

The Haxe client then reads the messages which consist of these codes and a host of other information (eg. the spirit's current emotional state and the players involved) and builds the text for display.

Categories: external

New plant spirits and dandelions

dave griffiths - Thu, 2011-09-08 14:00

A large part of the recent work on Germination X has been finalising the character design for the plant spirits. We need something which can exhibit some connection with the permaculture plant layer the spirit represents along with a way to express emotions with the restrictions of the browser platform. This is an image from Lina's concept art - many more of which are online here.

After a few iterations we have some ready to use in the game, the colours will be driven by their emotions (more on that later on). These are the ground cover (mulching), tree and shrub layer spirits:

Along with this, all the artwork in the game has been updated, taking Lina's latest versions and also increasing the resolution. I also had a chance to work on a new dandelion from Lina's uncoloured version, here are all of the different variations, with growth, autumn and illness stages.

Categories: external

Isometric engineering

dave griffiths - Wed, 2011-09-07 16:22

The first report from south western Sweden where I am on unofficial residency/hacking retreat in the environs of the Tjärnö Marine Research Laboratory.

This is a great place for my main task, to focus on Germination X, and I'm starting with new isometric ground tiles. I'm aiming for the feeling of roots and interconnectedness with just a whiff of geological process.

Germination X is about thinking by sketching, and this started with a couple of rough drawings playing with different pathways across squares. If the connection points are kept consistent they fit together to build cubes, and automatically, the cubes joined together too.

I also thought that varying the widths of the paths would be more interesting, and built a kind of template from the master Germination X cube.

If I kept to these guidelines the plan should work - but I wasn't sure how it the end effect would actually look. Using the template (visible underneath the paper, still in analogue mode) I drew five different variations of these pathway cubes.

After a bit of fixing and colouring in the gimp, this is an example chunk of world rendered in the Germination X 2D engine. Although the lining up is still not perfect, I like the roughness. Any combination of cubes will fit, you can swap any one for any other without breaking the pattern. The only tricky bit is that the random number generator is seeded from the position of the cubes, so the same pattern is generated consistently for any part of the world without having to store anything.

Categories: external

Robots learn to handle objects, understand new places

Science Daily - Robot news - Sat, 2011-09-03 19:30
Infants spend their first few months learning to find their way around and manipulating objects, and they are very flexible about it: Cups can come in different shapes and sizes, but they all have handles. So do pitchers, so we pick them up the same way. Now researchers are teaching robots to manipulate objects and find their way around in new environments.
Categories: external

Colourful emotions

dave griffiths - Fri, 2011-08-26 14:57

We're currently putting the new plant spirit characters in Germination X and thinking more about how to use colour changes as part of the expression of the many emotions the FAtiMA agents contain.

I made this chart quickly, deliberately avoiding thinking about potential reasons for my choices. Interestingly I found I needed to start with the motion curves first (which describe how the colours are blended between over time) and these seemed much less arbitrary than the actual colours I chose. The reason could be that there is a closer connection between movement (however simple) and gestural expressions.

Categories: external

We'll be at MobileHCI 2011 in Stockholm

Future Applications Lab - Wed, 2011-08-17 16:33
We will naturally be at MobileHCI 2011 starting in two weeks from now. MobileHCI will be held i Stockholm, Sweden, and is organized by Mobile Life Centre - the very same centre where we are based! We are all thus very involved in the organization, and will personally make sure it will be an outstanding conference for all.
Besides taking part in the organization, we will also be presenting. On wednesday during the first paper session in Riddarsalen, Henriette Cramer will present the paper 'Performing a Check-in: Emerging Practices, Norms and ‘Conflicts’ in Location-sharing Using Foursquare' , by herself, Mattias Rost, and Lars Erik Holmquist.
Another, more unconventional presentation takes place after the conference dinner at Munchenbryggeriet, where Lars Erik will be DJ:ing under his alias Got To Have Pop.
You will also see us throughout the conference during various other things, but do not hesitate say hi!
Categories: external

Columbus in Personal Ubiquitous Computing

Future Applications Lab - Wed, 2011-08-17 10:08
A paper entitled Mobile exploration of geotagged photographs, authored by Mattias Rost, Henriette Cramer, and Lars Erik Holmquist, published in Personal Ubiquitous Computing is now available online through the following SpringerLink.
Abstract:
Columbus is a mobile application that lets users explore their surroundings through geotagged photographs, presented to them at the location they were taken. By moving around the physical world, the user unlocks photographs and gets to see and experience them in unison with their location. During two consecutive field trials, we investigated how the application was used and experienced and how photographs and locations are explored together. We found that previous experience with the surroundings people was exploring affected how they experienced the localized content. We report on the system’s design and implementation, the trials as well as resulting insights that can be used by other developers of locative media applications.
Categories: external

GX companion planting diagnosis

dave griffiths - Fri, 2011-08-05 10:57

Finally the spirits in Germination X can provide some kind of help by diagnosing what is wrong with your plants if they get ill, and sending you a hint via a small message. They also look for other players who can plant seeds and ask them to help you. All the actions being driven by the FAtiMA modular AI system.

Visually we've also been experimenting with increasing the size of everything and allowing you to look around the world by dragging (which is quite jumpy at the moment). I still need to update the graphics to this higher resolution and fix the jumpiness, but I think it could be a better way of exploring the larger world than the separate "tiles" approach we have now.

Categories: external
Syndicate content