GAZE-CONTROLLED LBREAKOUT2

This document describes how to use the game LBreakout2, available from http://lgames.sourceforge.net/index.php?project=LBreakout2, with an SMI eyetracker. Current modifications allow to
a) control the paddle with your eyes only
b) play multi-player mode mouse vs mouse, mouse vs gaze, gaze vs gaze.

Please also see the paper "Gaze beats mouse: a case study" by Michael Dorr, Martin Boehme, Thomas Martinetz, and Erhardt Barth, The 3rd Conference on Communication by Gaze Interaction - COGAIN 2007, Leicester, UK, pages 16-19 (http://www.cogain.org/cogain2007/COGAIN2007Proceedings.pdf).

DISCLAIMER

The modifications we made to LBreakout2 were originally intended only as a quick hack to demonstrate our eyetracking equipment at a university open day for high school students. Therefore, we distribute the source code only on an "as-is" basis and we cannot guarantee any functionality. Please note that LBreakout2 is released under the GNU General Public License, see gaze_breakout/COPYING for details.

COMPILATION AND INSTALL

Modifications were made against lbreakout2-2.6beta3. Installation requirements can be found in gaze_breakout/README; to control the game with gaze, installation of libSDLnet is mandatory.

Linux

To compile the program:

cd gaze_breakout
autoconf
./configure --enable-sdl-net --disable-install --disable-nls
make

Windows

Building LBreakout2 under Windows requires MinGW/MSYS. Please see gaze_breakout/README for some directions. For convenience, we also provide a pre-compiled binary at http://www.inb.uni-luebeck.de/~dorr/breakout

The following DLL's need to be available (e.g. in $PATH or the gaze_breakout/client directory):

SDL dll's (>=1.2)
zlib1.dll
libpng12.dll

SETUP AND PROGRAM EXECUTION

We assume a setup with two machines, one running the game, one running SMI's iView software, but it is also possible to run both processes on one machine - process communication will still be performed via the network.

TRACKER SETUP

Adjust iView settings in Setup/Preferences/Hardware/Ethernet so that they match the numbers below (listed under "Single-player mode").

GAME PC SETUP

Single-player mode


cd gaze_breakout/client

For "normal" use with mouse only:
./lbreakout2

For use with gaze:
./lbreakout2 local_port_number et_address remote_port_number

(Under Windows, modify client/start_breakout.bat to your needs).

The following parameters are required for gaze mode:

Local port: UDP port on which this machine (the one running breakout) is listening for gaze samples. This must be the same number as specified in the iView software under Setup/Preferences/Hardware/Ethernet/Send UDP packets to ...

ET address: IP address (or hostname) of PC connected to the SMI tracker (the one running iViewX). This must be the same address as specified in the iView software under Setup/Preferences/Hardware/Ethernet/Listen on ...

Remote port: UDP port on which tracker PC is listening for commands. This must be the same number as specified in the iView software under Setup/Preferences/Hardware/Ethernet/Listen on ...

Please ensure that there are no firewalls blocking these ports.

Multi-player mode

We will just describe a gaze-vs-mouse-setup here; other combinations are straightforward. To play LBreakout2 in multi-player mode, you will need at least two machines.

Start a network game server on one machine (SERVER):
cd gaze_breakout/server
./lbreakout2server

(Please ensure that there is no firewall blocking port 8000.)

Start game on "mouse" machine:
cd gaze_breakout/client
./lbreakout2

Select "Network Game". "Connect" to server (address of SERVER above). Use player name "mouse".

Start game on "gaze" machine:
cd gaze_breakout/client
./lbreakout2 local_port_number et_address remote_port_number

Choose single-player level, calibrate ("c"). Use "ESC" to go back to the main menu.
Select "Network Game". "Connect" to server (address of SERVER above). Use player name "gaze".
Choose "mouse" as opponent; click level set "INB_PingPong" and "Challenge". Mouse player accepts the challenge and the game starts ...

GAMEPLAY

Pressing "c" calls a calibration sequence. Acknowledge calibration points with the space bar. "q" aborts calibration. Balls can either be released with the mouse button or, in gaze mode, they will be released automatically after 5 seconds (to eliminate the need for user interaction in gaze mode).

FEEDBACK / SUPPORT

We can provide only limited support. In particular, we most likely will not be able to support eyetrackers that do not use the SMI protocol.

However, if you have questions or any kind of feedback, please contact Michael Dorr (dorr @ @ remove.the.obvious.junk.com @ @ inb.uni-luebeck.de).