SepMultitouchGaming

Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

Development of Multitouch-Enabled Games

Abstract

The first intention of this work was the development of a complex program for a multitouch-table, using the libTISCH library, which provides the interaction and interface design. Thus the libTISCH library was tested excessively and its quality improved during the development of this program. In order to choose a complex program, fulfilling the required extensive use of widgets and different interaction styles, we decided in favour of a strategy game. Instead of just adapting a computer strategy game, we decided to port an intricate tabletop game, because our second intention was to lower the required knowledge of complicated game rules in order to make difficult tabletop games more open to the public.

The libTISCH library

During the development of this project, several improvements to the libTISCH library (http://tisch.sf.net/) were made. The following list will describe several of these improvements:

  • nesting of widgets: There were several problems with the nesting of widgets. The main problem was the adding and removing of several nested containers.
  • communication between Widget Layer and Interpretation Layer: By using many widgets, several packets were dropped in the communication because of the UDP protocol. Therefore, the protocol was changed to TCP. Another solution would be to combine the Interpretation Layer with the Widget Layer to remove this communication problem completely.
  • deletion of widgets: A problem with the deletion of widgets was also solved.

Another aspect was the creation of new widgets, based on standard widgets. I implemented a few new widgets, which are described in the following list:

  • Textbox with Slider: This widget can show a text of any number of lines. When the number of lines is larger than the number of visible lines, a slider widget is blended in, which can be used to change the shown lines.
  • Menubuttons: As each button has a different function, I created a new widget based on the "Button" class, called "menubutton", which has an additional type variable. When a menubutton is tapped, a type specific code part is executed.

Tabletop game: BattleTech

We chose BattleTech, because it is a well-known old roundbased strategy tabletop game, and the game principles are quite simple. Any number of players, each having a certain number of units, fight against each other in a last-man-standing battle. The units can be tanks, hovercrafts, mechs (humanoid shaped vehicles) and so on. To keep the game simple, I only used the basic rules of the game and therefore only mechs and simple terrain (high wood, low wood, clear field). As the computer makes all the difficult calculations of the game, the game can be played very easily and fast. A match of two units against two units took in a test game only about 20 minutes (with the real game, such a matchup would result in a playtime of about 2 hours). The program also gives significant visual assistance to the player. Some of these visualizations are shown in the following list.

  • Movement: When a unit is selected during the movement phase, all possible moves and rotations are indicated by the highlighted gametiles and the red triangles. The selected unit can be moved on one of the highlighted tiles and rotate on each red triangle. The following pictures show a selected unit and two example moves that could be done.


  • Attack: When a unit is selected, all possible targets are highlighted. After selecting a target, also the probability of a succesfull attack is shown in the menu.


  • Status of units: the status of units is shown as a datasheet. The armor points are shown as circles within a drawing of the unit. For every point of damage suffered during the game, an armor circle is crossed by a red line. Therefore the player gets a good impression of how damaged a unit is.


Final Work

SEP Development of Multitouch-Enabled Games

ProjectForm
Title: Development of Multitouch-Enabled Games
Abstract: The first intention of this work was the development of a complex program for a multitouch-table, using the libTISCH library, which provides the interaction and interface design. Thus the libTISCH library was tested excessively and its quality improved during the development of this program. In order to choose a complex program, fulfilling the required extensive use of widgets and different interaction styles, we decided in favour of a strategy game. Instead of just adapting a computer strategy game, we decided to port an intricate tabletop game, because our second intention was to lower the required knowledge of complicated game rules in order to make difficult tabletop games more open to the public.
Student: Andreas Dippon
Director: Gudrun Klinker
Supervisor: Florian Echtler
Type: SEP
Area:  
Status: finished
Start: 01.08.2009
Finish: 03.02.2010


Edit | Attach | Refresh | Diffs | More | Revision r1.9 - 10 Feb 2010 - 12:53 - AndreasDippon