Lorenz Barnkow
email: lorenz.barnkow@haw-hamburg.de

Kai Von Luck

Semiautomatic and User-Centered Orientation of Digital Artifacts on Multi-Touch Tabletops

Keywords: Multi-touch tabletops, Orientation of artifacts, territoriality, group work

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The growing availability of commercial and low-cost multi-touch hardware in the recent years has led to increased research interest in this area [START_REF] Schning | Touching the future: the rise of multitouch interfaces[END_REF]. As a result, several new techniques have been presented to support individual and collaborative work on multi-touch tabletops. In addition to supporting collaborative work, interactive tabletops are also suitable as a base of digital conversions of classic board games [START_REF] Wallace | Exploring automation in digital tabletop board game[END_REF] or as novel input devices for computer games (e. g. realtime strategy [START_REF] Chaboissier | Realtimechess: lessons from a participatory design process for a collaborative multi-touch, multi-user game[END_REF]). The spatial proximity of people at tables allows for direct eye contact, communication using speech and gestures as well as direct perception of what is happening on the table [START_REF] Pinelle | Designing digital tables for highly integrated collaboration[END_REF]. One of the key challenges to support groups on multi-touch tabletops is the correct orientation of digital artifacts to meet the different perspectives of the participants arranged around the table [START_REF] Kruger | How people use orientation on tables: comprehension, coordination and communication[END_REF]. Numerous techniques for the technical implementation of the orientation of digital artifacts can be found in the literature of the HCI and CSCW fields. In this paper, a combination of automatic and manual orientation is presented, which reduces the manual effort while also providing a high degree of flexibility. In a preliminary evaluation both the facilitation of the work and the acceptance of this solution was examined quantitatively and qualitatively.

Related Work

While working at tables the people involved usually show a distinctive territorial behaviour, partitioning the table into three regions: personal, group and storage territories [START_REF] Scott | Territoriality in collaborative tabletop workspaces[END_REF]. The group territory refers to the shared table space in general, while the areas immediately in front of each person are called personal territory in which personal and private tasks are performed. Storage territories are mainly used to store artifacts for later use or to pass stacks of artifacts to other people [START_REF] Pinelle | Designing digital tables for highly integrated collaboration[END_REF]. The orientation of artifacts on the table serves three roles: comprehension, coordination and communication [START_REF] Kruger | How people use orientation on tables: comprehension, coordination and communication[END_REF]. Comprehension refers, among other things, to the readability of text, which may decrease significantly in case of poor orientation [START_REF] Wigdor | Empirical investigation into the effect of orientation on text readability in tabletop displays[END_REF]. Having artifacts face users supports coordination in such a way that personal territories and ownership become visible. Likewise, the active reorientation of artifacts towards one or more users usually initiates a communicative exchange.

Methods for the orientation of artifacts on multi-touch tabletops can be divided into three categories: manual, automatic and combined. Using means of manual reorientation each person is given the freedom to specify an arbitrary orientation for every artifact. These methods include explicit definition of angles, use of handles, physics-based approaches and multi-touch gestures [START_REF] Hancock | Rotation and translation mechanisms for tabletop interaction[END_REF]. All of them generally offer the same flexibility on multi-touch tabletops that would be expected from the real world, but they differ in terms of learnability and usability. On multi-touch tabletops, work can also be facilitated in such a way that the system automatically performs reorientation of the artifacts and thus relieves the users from this task. Such automatic orientation can be performed towards the spatially nearest table edge, based on established territories [START_REF] Shen | Diamondspin: an extensible toolkit for around-the-table interaction[END_REF], towards the table edge of the spatially nearest user [START_REF] Rekimoto | Augmented surfaces: a spatially continuous work space for hybrid computing environments[END_REF] or based on the position of the users [START_REF] Schiavo | Evaluating an automatic rotation feature in collaborative tabletop workspaces[END_REF]. However, entirely automatic orientation is rarely optimal [START_REF] Dragicevic | Visualizing and manipulating automatic document orientation methods using vector fields[END_REF] and negates the communicative role of orientation. Combined (or semiautomatic) methods complement the support of automatic systems with the flexibility of manual reorientation. One example is the use of vector fields and gestures to manipulate these vector fields [START_REF] Dragicevic | Visualizing and manipulating automatic document orientation methods using vector fields[END_REF]. However, since only regions rather than artifacts can be manually reoriented, the orientation is not preserved when artifacts are moved thus its coordinating role is compromised [START_REF] Kruger | How people use orientation on tables: comprehension, coordination and communication[END_REF].

The presented automatic and combined methods pose difficulties regarding the flexibility, awareness as well as the communicative and coordinating roles of orientation. A facilitation of work due to automatic methods was elaborated on in the literature [START_REF] Dragicevic | Visualizing and manipulating automatic document orientation methods using vector fields[END_REF], yet it has not been proven or measured. On the contrary, one study suggests that a fully automatic orientation offers no measurable speed advantage over manual orientation and also restricts the freedom of users [START_REF] Schiavo | Evaluating an automatic rotation feature in collaborative tabletop workspaces[END_REF]. This paper presents a combined method of orientation, which was evaluated in a preliminary study to measure the facilitation of work and assess the usability based on the data collected from logs, questionnaires and interviews.

Evaluation of Semiautomatic Artifact Orientation

The semiautomatic orientation method examined in this paper combines automatic orientation towards the spatially nearest user with multi-touch gestures for manual rotation of digital artifacts. To reflect the previously described ter-ritorial behavior in the system, a personal territory at the table edge is created for each user, similar to [START_REF] Klinkhammer | Adaptive personal territories for co-located tabletop interaction in a museum setting[END_REF] (see Fig. 1). However, these personal territories are each associated with a different color and are manually created, moved and removed. By default, the digital artifacts (i. e. interactive widgets such as pictures or news articles) on the tabletop are automatically oriented towards a focal point relative to the spatially nearest personal territory, thus facing the appropriate user, and assume the color of that personal territory in order to strengthen the perception of ownership (see Fig. 1). At any time and for each artifact this automatic behavior may explicitly be turned on or off using a button on the artifact or be overridden by manually rotating an artifact using multi-touch gestures. Manually rotated artifacts do not change their orientation by themselves, unless the automatic orientation feature for this artifact is switched on again by the user. Also mapping the color of an artifact to the corresponding personal territory of its owner is only carried out with activated automatic orientation. The colors also indicate whether the automatic orientation is activated, thus make the current mode (see [START_REF] Raskin | The humane interface (book excerpt)[END_REF]) visible at all times for each interface item.

Participants

Ten groups with three unpaid participants each (24 males, 6 females) were recruited. The subjects were between 18 and 45 years old and 24 of them were students. All used computers frequently and most of them (86%) used touchscreens frequently, though few (13%) had experience with large digital tabletops.

Apparatus

The experiments were performed on a custom built, rear-projected multi-touch tabletop with an interactive surface of about 200cm × 65cm and a screen resolution of 2560 × 800 pixels (see Fig. 2). The connected computer runs Windows 7 and the test application was built using C# and WPF. In addition to capturing interaction logs, all sessions were recorded using three cameras.

Task

To evaluate the semiautomatic orientation method, an appropriate task was prepared, based on a realistic use case. Based on an interview the workflows in an editorial office were studied, with particular focus on group work involving two or more persons. These included firstly joint sifting through potential pictures for news articles, and secondly an editorial meeting in which the status of the upcoming issue was reviewed and discussed. The developed test application implemented similar use cases loosely based on these workflows and provided tools to browse for news articles and pictures on the internet, using Google News, Flickr and Google Images. The search tools also offered a function to create synchronized and connected copies of these widgets, so that, for example, search results could be jointly browsed. Furthermore, a newspaper widget was made available, which could be compiled into a virtual magazine, using drag-and-drop gestures (see Fig. 3).

In this study, the participants worked in groups to create a newspaper. This task included both loosely coupled phases during which the participants worked on their own as well as tightly coupled phases with strong emphasis on communication and the exchange of artifacts. There were no explicit role assignments, thus all participants had equal rights during the tightly coupled phases.

During the first part of the task every participant was instructed to search for three news articles on two given topics (e. g. "sports" and "entertainment") and pass these articles on to their neighbors in counterclockwise direction. Upon receiving articles from their neighbors each participant reviewed the articles and selected one article for each subject, discarding the rest. The remaining articles were presented and discussed to determine the sequence in which they should be added to the newspaper. This initiated the second part of the task, during which every participant searched one picture for each article of the newspaper. These pictures were also presented to the group and discussed to jointly choose the most appropriate picture for the corresponding article.

Procedure

Each group performed the aforementioned task in two configurations which differed in the given topics for the newspaper and whether the automatic orientation was available or not. Using questionnaires before the experiments, the demographic characteristics of the subjects and their computer skills were gathered. In addition, all groups received an introduction to the system prior to the experiments and then had 10-15 minutes to test it on their own and ask further questions. Due to the limited scope of the application and small number of tools and widgets available to the user, this initial trial phase could be kept relatively short. The combined amount of time spent working on both task configurations was between 40 and 100 minutes (mean = 69.5, SD = 21.7). With further questionnaires after the experiments, the usability and collaboration at the table was assessed. The experiments were concluded with an interview with each group.

Results

Effects of Automatic Orientation on the Spatial Use of the Tabletop

Figure 4 shows an example of the spatial use of the tabletop by a group in both test conditions based on the logged interactions. This plot illustrates that the use of automatic orientation has no apparent effect on the spatial use of the tabletop, in contrast to the available space, which visibly restricts the operating radius of the two users on the right side of the plot. This indicates a lack of table size, which was criticized in later interviews as well. The same usage pattern could be seen for all 10 groups across the experiments.

Facilitation of Work

Based on a statistical analysis of the interaction logs, the facilitation of work by the automatic orientation was measured. For this, the interactions were distinguished as to whether they involved a manual rotation gesture or not. For the task condition using the combined method for orientation (task condition 1) an average of 15.4% of all interactions also involved manual rotation. Within the task condition using only manual rotation (task condition 2), the share of rotational gestures was, on average, at 33.8%, thus more than twice as high.

Figure 5 shows that this difference was visible across all groups and proved to be statistically significant (F 1,18 = 45.041; p < 0.00001).

User Experience

The postexperiment questionnaire consisted mainly of statements with a 6-point Likert scale (fully agree to fully disagree). Further open questions were omitted because of the subsequent interview. Overall, the subjects rated the operation of the test application to be easy (mean = 2.1; SD = 0.9). This was also reflected in the interviews, where the direct touch based interaction was described as an intuitive and fun experience. The assignment of colors to indicate ownership was both intuitive (mean = 1.2; SD = 0.5) and useful (mean = 1.8; SD = 1.1), which was reaffirmed in the interviews. The manual rotation of digital artifacts was easy to perform (mean = 1.9; SD = 1.0), while the automatic orientation was both useful (mean = 2.2; SD = 0.9) and satisfactory (mean = 2.2; SD = 0.9). The interviews revealed broad support for the automatic orientation, since it could be overridden at any time and thus offered both flexibility and facilitation of work. The automatic orientation was found particularly helpful while passing digital artifacts between the users. However, the continuous orientation towards a focal point proved to be unpopular, because artifacts were slightly reoriented with every movement. Firstly, some users felt this was a loss of control and secondly they thought a perpendicular alignment (with respect to the table borders) might be more orderly and space-saving.

Conclusions and Further Work

Given the falling prices for commercial multi-touch hardware (e. g. Samsung SUR40) and its growing number of users, multi-touch tabletops present a great potential for a wide range of applications in very different areas, such as professional collaboration, learning together and entertainment software in both private and public spaces (e. g. in bars or hotel lobbies). This paper presents a combined method for orientation of digital artifacts on multi-touch tabletops and analyzes its effects on the spatial use of the tabletop, the facilitation of work and the user experience through a preliminary study. The analysis of interaction logs showed no discernible effect on the spatial use of the available table space, with and without automatic orientation. A statistical analysis revealed that the share of manual rotation gestures is doubled when no automatic orientation is available. The survey of test subjects by questionnaires and interviews indicated a high acceptance for the combined orientation method. The automatic orientation especially helped in the transfer of artifacts between the users, since they were able to concentrate on the actual task at hand. This might help to improve the usability and user experience of collaborative work on digital tabletops including joint browsing and organizing holiday pictures [START_REF] Hilliges | The living-room: browsing, organizing and presenting digital image collections in interactive environments[END_REF] or exchanging and sharing resources in digital board games [START_REF] Wallace | Exploring automation in digital tabletop board game[END_REF].

Because of the hardware used it was not possible to unambiguously assign every touch contact to the right user. At this point, further investigations are needed because the facilitation of work could not be proven for each individual person. Moreover, the experimental tasks included both loosely and tightly coupled phases, meaning it is unclear whether the combined approach for orientation is appropriate in both situations.

Fig. 1 .

 1 Fig. 1. Screenshots of a personal space (left) and automatic orientation towards the user (right).

Fig. 2 .

 2 Fig. 2. Experimental setting

Fig. 3 .

 3 Fig. 3. Dragging a picture from the search tool into the newspaper widget (left) inserts it into the corresponding page (right).

Fig. 4 .

 4 Fig. 4. Use of the tabletop by region using automatic orientation (left) or manual rotation only (right).

Fig. 5 .

 5 Fig. 5. Use of manual rotation during both task conditions


Andrea Minuto
email: a.minuto@utwente.nl

Gijs Huisman
email: gijs.huisman@utwente.nl

Anton Nijholt
email: a.nijholt@utwente.nl

Follow the Grass: a Smart Material Interactive Pervasive Display

Keywords: Smart material interface, quiet computing, ambient, organic, display

Smart materials offer new possibilities for creating engaging and interesting forms of interaction and ways of displaying information in a material way. In this paper we describe Follow the Grass, a concept of an interactive pervasive display for public spaces. The display will be built up out of a number of blades of grass that are actuated in eight directions using nitinol muscle wires (i.e. a shape-memory alloy). A Microsoft Kinect-based tracking system is employed to detect users' presence. Follow the Grass can be used for entertainment purposes by displaying animations through movement of the grass, as well as for indoor way-finding and ambient persuasive guidance. We present a number of scenarios with varying scales of interaction, and different applications, followed by a description of the initial hardware design of a single blade of grass and its actuated root. We will give a description of the tracking system, and how it tracks users and is capable of identifying individuals. Finally we will provide suggestions for the further development.

Introduction

For two decades researchers and designers have actively explored new methods of physical interaction with computer systems [START_REF] Fitzmaurice | Bricks: laying the foundations for graspable user interfaces[END_REF]. The seminal work of Ishii and Ullmer [START_REF] Ishii | Tangible bits: towards seamless interfaces between people, bits and atoms[END_REF] helped spur the development of tangible interfaces; interfaces that allow users to manipulate physical objects that modify digital information. With technological advances, tangible interfaces have started to incorporate smart materials [START_REF] Ishii | Radical atoms: beyond tangible bits, toward transformable materials[END_REF]. These materials are characterized by having physical properties that can be altered in a controlled way. Interfaces that incorporate such materials can be referred to as Smart Material Interfaces (SMIs [START_REF] Minuto | Smart material interfaces: A vision[END_REF]). In essence, where "traditional" tangible interfaces couple physical objects to digital information often displayed on a screen, smart materials allow the digital information to be represented by the physical state of the material. An advantage of this is that the information can be directly embedded into the materials of the physical environment. Furthermore, the use of smart materials allows for new forms of silent, energy efficient and more natural ways of actuating physical output (e.g. Sprout I/O [START_REF] Coelho | Sprout I/O: a texturally rich interface[END_REF]; Lumen [START_REF] Poupyrev | Lumen: interactive visual and shape display for calm computing[END_REF]).

In this paper we will present a concept of an interactive pervasive display that uses nitinol shape memory alloy (SMA) wires to actuate an artificial blade of grass in eight directions. These blades of grass can be thought of as physical pixels, and, when multiplied, can form a physical ambient display. Such a display can be employed for entertainment, indoor way-finding, or ambient persuasive guidance.

We will first review related work on ambient displays, ambient persuasive guidance and smart materials. Then we will present a detailed outline of the "Follow the Grass" concept, present a number of scenarios, and offer a description of the hardware prototype of the blade of grass and actuated root, and software design of the tracking system. We will conclude by providing suggestions for the further development of the hardware and software.

2 Related work

Ambient technology

The interest in Tangible Interaction [START_REF] Ishii | Tangible bits: towards seamless interfaces between people, bits and atoms[END_REF] is part of a development in HCI research that is moving away from the typical "window, icon, menu pointing device" (WIMP) interaction [START_REF] Jacob | Reality-based interaction: a framework for post-wimp interfaces[END_REF]. Reality-based interaction (RBI) encompasses interfaces and interaction styles that support humans' existing knowledge about the physical world [START_REF] Jacob | Reality-based interaction: a framework for post-wimp interfaces[END_REF]. In this sense, the vision of ubiquitous computing is particularly relevant. Weiser's view [START_REF] Weiser | The computer for the 21st century[END_REF] of ubiquitous computing holds that computing can be unobtrusively integrated into everyday objects and environments. This proposes a direct coupling of computation and the "real" physical world, in an integrated natural manner. Furthermore, distributed networks and sensor technology can make such systems intelligent, resulting in objects and environments that can naturally adapt to their users [START_REF] Wisneski | Ambient displays: Turning architectural space into an interface between people and digital information[END_REF]. Examples of such systems being used for presenting information or providing entertainment are plentiful. The ambi-entROOM [START_REF] Ishii | ambientroom: integrating ambient media with architectural space[END_REF] uses lights, sounds and movement to unobtrusively communicate a host of background information, such as the physical presence of others or the activity of an actual hamster. Similarly, Hello.Wall [START_REF] Prante | Ambient agoras: Inforiver, siam, hello.wall[END_REF] consists of a grid of lights integrated into a wall, information can be presented by changing light patterns, that react to the proximity of the user to the installation. Another example is The Information Percolator [START_REF] Heiner | The information percolator: ambient information display in a decorative object[END_REF], which displays information through air bubbles rising up in a number of transparent tubes filled with water. One application of The Information Percolator tracks people's movement along a corridor and represents this information in the ambient display. A more physical approach to ambient displays is implemented in Super Cilia Skin [START_REF] Raffle | Super cilia skin : An interactive membrane[END_REF], which is a magnetically actuated display that makes cilia (i.e. individual actuators) move lightly to emulate the physical touch of a finger or a gesture trace. A similar approach has been used in the artistic installation Project Dune (Studio Roosengaard1 ), which is composed of large amounts of fibers that brighten according to the sounds, touch and motion of passing users, accompanying them along the walk.

For an overview of similar ambient displays we refer the reader to Vande Moere [START_REF] Vande Moere | Beyond the tyranny of the pixel: Exploring the physicality of information visualization[END_REF]. What all of these ambient displays have in common is that they display information in an unobtrusive, yet aesthetically pleasing and fun way.

Persuasive ambient technology

Recent evidence suggests that ambient technology can also be employed for persuasive purposes (for example Breakaway [START_REF] Jafarinaimi | Breakaway: an ambient display designed to change human behavior[END_REF] and Twinkly Lights [START_REF] Rogers | Ambient influence: can twinkly lights lure and abstract representations trigger behavioral change?[END_REF]). The fact that such ambient systems are integrated into the environment, means they do not explicitly tell people to change their behavior. Instead they can suggest alternatives for a certain behavior [START_REF] Rogers | Ambient influence: can twinkly lights lure and abstract representations trigger behavioral change?[END_REF], or provide implicit visualizations of 'bad' behaviors [START_REF] Jafarinaimi | Breakaway: an ambient display designed to change human behavior[END_REF]. The strength of this approach lies in the notion that people are not consciously aware of the ambient intervention, yet still adjust their behavior [START_REF] Rogers | Ambient influence: can twinkly lights lure and abstract representations trigger behavioral change?[END_REF].

There has been a substantial amount of research investigating the effects of static persuasive cues on the way people navigate public spaces. Such studies typically use textual [START_REF] Brownell | Evaluation and modification of exercise patterns in the natural environment[END_REF] or visual cues [START_REF] Rogers | Ambient influence: can twinkly lights lure and abstract representations trigger behavioral change?[END_REF] to guide people in a certain direction, for instance towards the stairs instead of the escalator. Examples of visual cues include lines that, when viewed from a certain angle, form guiding arrows [START_REF] Boehm | Ambient persuasive guidance[END_REF]. Others used lenticular lenses to produce the illusion of lines moving to one side with the goal of guiding pedestrians [START_REF] Furukawa | Vection field" for pedestrian traffic control[END_REF].

Compared to the use of static visuals, the advantage of using ambient technology for persuasive purposes is that the system can be dynamically adapted to the users' behavior and to individual differences, as Kaptein says in [START_REF] Kaptein | Persuasion in ambient intelligence[END_REF]. This makes it more suitable for individual users, as well as allowing the system to adapt based on situational circumstances. For example a suddenly appearing obstacle that requires changing the direction in which pedestrians are guided. Here the use of smart materials is promising, because they offer both the ability to change dynamically as well as the ability to blend into the environment.

Application of smart materials

Considerable efforts have been made to explore the possibilities of applying smart materials in interfaces. For example, Surflex [START_REF] Coelho | Surflex: a programmable surface for the design of tangible interfaces[END_REF] consists of a foam with coiled nitinol muscle wires embedded. The muscle wires can be used to reshape the foam. This principle has been applied as a way to use SpeakCup [START_REF] Coelho | Shape-changing interfaces[END_REF], a device used to record and replay messages by physically manipulating its shape (Shapechanging interfaces [START_REF] Coelho | Shape-changing interfaces[END_REF]). Another suggested application of Surflex is as a form of physical computer-aided design. Indeed, Parkes and Ishii [START_REF] Parkes | Bosu: a physical programmable design tool for transformability with soft mechanics[END_REF] presented just such a design tool, for motion prototyping and form finding, named Bosu. Bosu consists of a number of flexible modules that can be physically manipulated (e.g. bent, twisted). The physical manipulations can then be played back thanks to nitinol muscle wires embedded in the modules.

Apart from design tools such as Bosu, smart materials have been used in the creation of novel ambient displays. Shutters [START_REF] Coelho | Shutters: a permeable surface for environmental control and communication[END_REF] is a curtain with a grid of shutters that are actuated by nitinol wires. Shutters can be used to regulate the amount of light and air flow that enters a room, as well as serving as an ambient display by creating patterns using the grid of shutters. An ambient display that aims for a more tangible experience is Lumen [START_REF] Poupyrev | Lumen: interactive visual and shape display for calm computing[END_REF]. A grid of cylindrical physical pixels are actuated to move up and down, using nitinol wires. The physical pixels contain LED's that allow Lumen to display animations both visually, and physically.

While nitinol is by far the most widely applied smart material, others have used ferro fluids and thermo-chromic materials to create physical ambient interfaces. WeMe [START_REF] Masson | Weme: Seamless active and passive liquid communication[END_REF] for example, is an ambient display that visualizes the presence of members of remote families represented by bubbles of ferro fluid. Wakita et al. [START_REF] Wakita | Emotional smart materials[END_REF] note how, in the design of such interfaces, the materials and colors are felt as part of the emotional communication of the interface. Using the property (in this case colors) of the material directly, their aim is to communicate mood by changing the color of the Jello Display-Keyboard using IR-chromic material.

The application of smart materials in interfaces enables designers to build interfaces that can take advantage of human tactile senses and perceptions of movement to improve interaction [START_REF] Jung | Skin: designing aesthetic interactive surfaces[END_REF]. This allows for the complete abandonment of the digital display in favor of shapes and movements, creating a more direct way to communicate with the user and establishing a novel design language that could reduce the cognitive load (unlike WIMP interfaces which add new symbols interpretation).

In the next section we will present our idea of applying smart materials in an ambient pervasive display that can be used for entertainment, indoor way-finding and ambient persuasive guidance. The keys to communication here are the shape and movements of the artificial blades of grass. As was mentioned in [START_REF] Minuto | Smart material interfaces: A vision[END_REF] we want to try to keep the perception of the interface as analog as possible, experimenting with materials and shapes.

Follow the Grass

Follow the Grass is an interactive pervasive display made of artificial blades of grass. By moving individual blades of grass sequentially, it is possible to create animations (e.g. a Mexican wave-style animation2 ). Such animations can be used to communicate information to users. While the grass-pixels were designed for general use as an ambient display, their appearance and movement capabilities, make them particularly well suited for giving directions in indoor way-finding, or for ambient persuasive guidance and entertainment.

Follow the Grass mimics the way grass waves in the wind, not by representing only a single pixel but a mass of objects. In a large field installation it would be possible to emulate a virtual wind by moving the grass in waving patterns. Such a 'virtual wind' blowing through the grass field can be initiated by the presence of the user (see chapters Scenarios and following). Using a dedicated tracking system that follows and records the identity of users, it is possible to distinguish between different users, and to address them individually.

The grass-pixels were born out of the idea that, by using smart materials, we can create interaction in a less traditional manner (no WIMP) and convey information through the materials' properties (shape, position, colors, etc.). By using a muscle wire 3 we can accomplish a variety of movements allowing the blade to bend toward a specific direction (for now four cardinal point plus the four diagonals), with different speed to accentuate certain movement just by increasing the reaction time. Furthermore nitinol wires are highly reliable and resistant to many kinds of stress. Compared to servo-motors, the nitinol wires operate silently, not drawing the users' attention to the hardware operating behind the scenes. This allows a more seamless experience of the grass, making it ideal for pervasive applications.

Some previous works involved display methods similar to the one used in the Follow the Grass concept. The Project Dune has fibers with LED's embedded in the tips, that respond to sound. However, these blades of grass are not actuated and therefore lack the capability to address a certain direction. In Super Cilia Skin [START_REF] Raffle | Super cilia skin : An interactive membrane[END_REF] the set of cilia creates a visual approximation of a contiguous deformable surface. Differently, the Follow the Grass concept attempts to make use of individually actuated blades of grass to address direction, or create a path by orienting individual blades of grass in unison. Compared to Coelho's work Sprout I/O [START_REF] Coelho | Sprout I/O: a texturally rich interface[END_REF] that uses nitinol wires to bend a fabric grass in a linear movement (left-right only), we make active use of two degrees of freedom (see next sections for more details of implementation and movements). Sprout I/O was born as a remote control device and interactive actuated interface. The Follow the Grass concept, on the other hand, was conceived instead as an actuated pervasive display, envisioned to be mass produced and to be put in different public spaces. In addition Follow the Grass should provide interaction designers with a flexible infrastructure to develop animations to be depicted in the grass.

Unlike real grass, on which you can walk, it is not possible to step on the artificial grass at this stage, however, in the future we will be able to build a more robust base which would allow users to walk on the grass. But a limited number of blades can be put on a pedestal, or, in the case of a grass field, under a transparent floor, allowing the user to walk over the grass still perceiving its presence and animations.

We envision the interaction to take place in public spaces where the users are free to walk such as a hall of a complex building, a crossing of corridors or just the entrance of a building. The tracking system handles the tracking of all individuals that pass the installation, and adds a special profile to each one of them. For example if you are in a hospital, and you need to know where the office of Dr. Red is, you can register your request at the reception desk. At this point the system can track your movements, and attach your request to you as an individual. By animating the grass in the direction of the office of Dr. Red, the only thing left to do is follow the grass distributed along the way.

Scenarios

For the application of our system we illustrate several kinds of scenarios. In each of the scenarios the hardware and software will be the same, but in some cases adjustments are needed to adapt to the specific interaction. In every scenario the individual roots and blades of grass are the same. In some scenarios we assume that we know the objective of the user (such as: path or game objective), for example an existing "Helpdesk" or a pre-filled user profile. In this scenario (Fig. 1 and2) we imagine a large-scale public installation, where a field of artificial grass is placed underneath a transparent floor. The users walk over the field without touching it, while the system tracks the identities of the users and produces personalized patterns under each user, by moving the nearby blades of grass. This can be used purely for entertainment purposes by simply displaying animations. For example a rippling effect, similar to a drop of water being dropped onto a water surface, causing concentric waves to form around the user. Another example is simulated wind that causes blades of grass all over the field to move in a natural manner. The field can also be used to guide individual users in a certain direction, by bending the blades of grass to form a path. A similar approach can be used to draw attention to specific objects in the space, by bending the blades of grass towards the object. Such an approach could be relevant for museum exhibitions or serious gaming purposes.

Field

Lawn

In the "Lawn" scenario (Fig. 3) the total number of blades of grass is reduced by placing strips of grass (lawns) along the walls of a public space. This ap-Fig. 2. Scenario Field. The grass bends creating a path from under the user to his/her goal. proach preserves part of the entertainment possibilities of the "Field" scenario and maintains the possibility to provide personalized guidance to users. Users could simply follow the direction of the waving grass along the wall. Attention can be drawn to specific areas along the wall, for example the office of the person the user is looking for. Here, a specific location is addressed using a scale model of an area (Fig. 4 and5), for example a university campus. The scale model will represent the surrounding area, with the space between the models covered in the artificial grass. Users can interact with the scale models through gestures (using the Kinect included in the system) in order to ask for directions. The grass will respond by forming a path from the users current location to the requested destination. This setup can also be used to highlight events in a specific part of the area, by playing animations that focus on the area in which the event takes place.

Map

Patch

The last scenario (Fig. 6) is a small scale field (3x3 blades of grass) coupled with the tracking system. The patch of artificial grass can be placed on a pedestal at the place where a corridor splits. In the presence of the user, the grass will attract the users attention in entertainment mode (waving in different pattern or bending toward the user) and if profiled, address a direction in guiding mode.

System: tracking and actuation

The system is composed of two distinct components: one for the physical output (the grass) and one for the input, which is the presence of the users detected by the tracking software.

With the system, it is possible to track a specific person in a small group of people. This makes it possible to address this specific person individually, and provide him/her with personalized information, such as specific directions at the right time.

The interaction starts when people enter the area covered by the tracking system.

Software

A Kinect4 -based tracking system is being developed to be able to address and track all the users in its sight. The idea is to have a system that is able to track identities from a simple blob tracker 5 . We intend to identify the user by knowing the tracking faults of the blob tracker itself and solving the problem in two phases. First, each time a blob merges with another we will trace and save the previous and new relation (and related information), creating a sort of logical history of relation of blobs (with "AND" and "OR" logic conditions). Second, we will try to confirm the identity (between the observed ones) using logical operation and matching with hints that the software acquires from the behavior and features analysis of each blob (in development).

The user can be identified in one of the specific checkpoints (if needed for giving personalized information) or just by entering the sight zone, a numeric ID is attached to the blob and tracked during the movements.

When the system is unable to track the user, there are three possibilities:

-The user is out of sight.

-The blob has merged with someone else's blob. In this situation we aggregate the information in "AND" until the system is able to address the blobs again.

-The blob has split into two or more parts. The information of the old blob is inherited in a doubt condition, i.e. an "OR" mode, on the generated blobs.

This way we generate blobs with some of the information precisely (aggregation of reliable information in "AND") and others in doubt (separation of blobs, in "OR" condition). To solve the "OR" condition we use a feedback loop that checks the features of the new blobs from time to time (shape, contrast, color, height, etc.) with the one from before. Basically giving hints on which one is the most reliable solution. We then backward propagate on the other blobs to solve other pending doubt conditions. The system has some limitations and can only be used in a controlled environment (at the moment only inside the field of view of the Kinect). However, it is modular so that it will be further developed with other tracking features and the possibility to extend the field of view by connecting more units together.

Physical

Each grass-pixel is made of three parts: the controlling electronics, the "root", or actuator base (Fig. 7), and the externally visible blade of grass. The electronic Fig. 7. Physical actuator element, It is possible to see the movable head of the "root", where the blade of grass will be attached. A) the original 3D model for the project, B) the cardboard prototype with spring, C) latest prototype update with silicon"spring". component consists of an Arduino6 board that controls the power on a specific duty cycle to the muscle wire, using a PWM (Pulse-Width Modulation). This way it is possible to control the amount of power used to heat the wire. It is possible to vary the duty cycle to make the heating process faster or slower, resulting in faster or slower movement of the grass, allowing for controlled organic movements and animations.

The root is the physical actuator that forms the base on which the blade of grass is placed. The root is hidden from view, leaving only the blade of grass visible. Originally made of a long cardboard prism with squared base, it is now substituted with a more practical wood splint. The base measures 20 centimeters in height, to allow enough contraction space for the muscle wire. The wires contract longitudinally about 4% of their total length. Attached to the main structure is a spring that holds a square that serves as the platform on which the blades of grass are attached. At the end of each edge of the top, a nitinol muscle wire is attached. The other end of the wire is connected to the lowest part of the main structure. The wires were originally kept in tension by a spring, but this created a balancing problem. The latest version has a soft silicon mold for enhanced stability.

The blade of grass will be affixed to the top part of the root, and will be made out of a flexible material so that when the base moves, the blade of grass gently sways.

The reaction time of the actuator is relatively fast, taking about half a second to contract. Here we refer to the complete contraction time, from resting position to the end of the animation. In order to avoid a "switch-click" effect (sudden movement from initial position to the final), we slowed down the reaction to a more "organic" contraction speed of around one second. Combined with a relaxation time of around one-and-a-half seconds 7 , the animation of a waving piece of grass is nearly symmetrical.

Conclusion and future works

Our aim in this paper was to describe the ongoing work in building an interactive physical pervasive display, that can be used for indoor way-finding, ambient persuasive guidance, as well as for entertainment. Following the visions of ubiquitous computing and tangible interfaces, the Follow the Grass concept offers an engaging way for users to interact with their environment. As it has been demonstrated in [START_REF] Rogers | Ambient influence: can twinkly lights lure and abstract representations trigger behavioral change?[END_REF] and [START_REF] Furukawa | Vection field" for pedestrian traffic control[END_REF] it is possible to change the behavior of people by giving peripheral visual cues. Follow the Grass has the potential to have the same effect. Furthermore, the tracking system enables the interface to react dynamically to the users' presence, making it possible to give the correct information at the right time to the correct individual. This creates a more personalized experience for the user. The capability of the artificial grass to display animations adds to the expressiveness of the interface, and creates opportunities to engage and entertain the user.

The design of the actuated root is still ongoing. We are working to improve on a number of issues, including the precision of the addressed direction, as well as more secure and unobtrusive attachment of the nitinol muscle wires to the base. Once we have a sufficiently robust version of the actuated root we aim to realize the 'patch' scenario consisting of a grid of 3x3 blades of grass. Future developments for the actuated root could include installing a tilt sensor on top which would reduce the number of nitinol wires required, from four to three.

The sensor would enable measurement of the angle of the platform to which the blade of grass is attached, allowing fine adjustments to be made using only three muscle wires. The next step would be to make a serializable version of the root for creating a larger field of artificial grass. Miniaturizing the electronic components and constructing a dedicated controller module, would make the system more suitable for modular deployment. The tracking software will have to be improved and optimized for larger scale interactions (e.g. big rooms and halls). We are in contact for a possible future version of "Lawn" in a museum.

Fig. 1 .

 1 Fig. 1. Scenario Field. The users are walking on a transparent floor over the grass,.

Fig. 3 .

 3 Fig. 3. Scenario Lawn. On the top the grass bends toward the door on the right side and toward the corridor on the left. On the bottom the detail of the grass bending toward the door.

Fig. 4 .

 4 Fig. 4. Scenario Map. Installation from the side.

Fig. 5 .

 5 Fig. 5. Scenario Map. The grass is bending toward the tower.

Fig. 6 .

 6 Fig. 6. Scenario Patch. The grass bends indicating a direction to the incoming user.

http://www.studioroosegaarde.net/project/dune/info/

Mexican wave-style: it is a large scale example of a metachronal wave. These movements produce the appearance of a travelling wave.

Flexinol or muscle wire is special kind of nitinol wire that change shape by contraction its length.

http://www.microsoft.com/uk/wave/hardware-kinect.aspx

With BLOB we refer to regions with no fixed shape in the image that differ in properties compared to the surrounding. E.g.: brightness or color.

Arduino is an open hardware platform http://arduino.cc, one board controls one blade of grass, but with some optimization, the number of blades can be incremented.

Acknowledgements

This publication was supported by the Dutch national program COMMIT and a CTIT-ITC collaboration project.


Daniel Böhrs

Dirk Wenig

Rainer Malaka

Mobile Gaming with Indirect Sensor Control

Keywords: mobile gaming, sensors, mobile devices, labyrinth game

The rapid growth of the mobile gaming market and the steadily improved hardware of mobile phones enable developers to create complex and extensive 3D games on mobile phones. While most current casual games have simple interfaces with few buttons, 3D games require new control interfaces to providing sufficient control options without limiting the field of view on the screen. This is important to improve the user experience. Within this work new ideas based on the use of the accelerometer as indirect control mechanism are presented. The accelerometer is used to switch between different interaction layers, which are also different game views for the player. Combined with this concept a buttonless touch area interface is used. We are planning to evaluate the ideas with a 3D game prototype running on Android devices.

Introduction

Controls for mobile phones are mostly touch screen and sensor interfaces. Currently this results in an adaption of conventional hardware elements from computers or consoles to build similar game controls on mobile phones. In games with various interaction possibilities, problems can occur while trying to map all needed controls on the display because the field of view can be limited substantially. Another approach is the use of sensors like the accelerometer, which is built into nearly all modern devices. This technique is especially popular in the racing game genre. A problem is that turning the device to the sides or shaking it can cause a lack of the overview. Both concepts limit the field of view in different ways. In order to tackle this challenge, we present the concept of an adapted combination of a accelerometer and a touch interface. The touch controls are integrated as a buttonless interface by using touch areas while the accelerometer is used as an indirect control mechanism. It enables the player to switch not only between different views, but also between controls. The overall result should be a clear interface with no disruptive objects on the screen and providing as much control as possible.

Related Work

Chu, K et al. [START_REF] Chu | Mobile input devices for gaming experience[END_REF] showed that mobile games on touch devices generally have a lack of comfort in the control system because of not existing hardware controls. New approaches must be found or existing ones have to be improved. Chui Yin Wong et al. [START_REF] Chui | Evaluating playability on haptic user interface for mobile gaming[END_REF] published study results demonstrating advantages of optimized touch interfaces in comparison to hardware controls. For example, the best scores while playing were arrived on touch interface and the amount of miss clicks was very low. An alternative approach is the use of the accelerometer which is already well established. This solution is mentioned by Kevin Browne et al. [START_REF] Browne | An empirical evaluation of user interfaces for a mobile video game[END_REF]: They used a touch based interface, one with an accelerometer and a gesture based system within a 2D scroll shooter game. The accelerometer interface was preferred by the testers and led to the best results in experience measurements. The use of accelerometers in 3D game is demonstrated by Fadi Chehimi and Paul Coulton [START_REF] Chehimi | Motion controlled mobile 3D multiplayer gaming[END_REF] and is analogical to 2D games while using more axes for calculating movements within the game. The use of the accelerometer was rated mostly positive. Paul Gilbertson et al. [START_REF] Gilbertson | Using "tilt" as an interface to control "no-button" 3-D mobile games[END_REF] used the same approach but realized the game tunnel run without any buttons. The evaluation showed that players favor this type of control interface and the user experience ratings increase.

Concept

The developed prototype is a time based ball-through-labyrinth game with two different perspectives. Within the labyrinth corridors are objects, which must be passed by the user. The ball moves forward continuously without users control. One view is the topdown view, which is active if the device is placed horizontally (fig. 1). In this view the player can rotate left or right. The other view is a third-person view which allows the player to navigate around obstacles inside a corridor. In this view the player shifts the ball to the left or right. The player is not forced to switch the view because he is able to see the map and the obstacles in both views. But the ability of swiftly moving around an obstacle by translating is a huge benefit which should motivate the players to switch the views by themselfs. This game is the basis for the idea of buttonless interaction in games with different control layers and views switched with the accelerometer. Within the concept multiple controls can be applied to smartphones without obstructing the players view and reducing screen-space by placing numerous visible buttons.

Overall three concepts were implemented as parts of this work. A touch area and sensor interface, a touch area interface and a traditional touch button interface. The last one is used as control compare with the evaluation results of the other two approaches.

Touch areas with accelerometer support

The first concept provides no visible objects on the touch screen (fig. 2). It is is divided vertically in two areas. Pushing the left side will trigger an action to the left and similar behavior is triggered on the right side. In the top view rotation is done by pushing the areas while in the third person view pushing leads to translations to move around obstacles. The switching between the two views is done by pitching the device. Holding it horizontally brings up the top view while holding it obliquely will switch to the third person view. The result is a clean screen and an intuitive way to switch the views.

Touch areas without accelerometer support

The second concept is based on the first one but without sensor interactions. Instead of switching the views by tending, another touch area is inserted at the bottom (fig. 3). This concepts reduces the interaction to touch controls without limiting the field of view.

Traditional touch button controls

The third concept is based on the known techniques by placing visible buttons on the screen to allow interaction (fig. 4). The number of buttons for this concept is 6: Two buttons to rotate, two to translate and two to switch the view. The buttons for switching the view are toggle buttons. The translation and view switching can be done in all views while the rotation is only possible in the top view. Currently we are planning an evaluation of the three concepts. Therefore, the presented prototype logs the interactions and sends them to a database for evaluation. At the end of the game a questionnaire is presented to get feedback about the users experience. The evaluation will investigate the advantages and disadvantages of the three control concepts and tests if the sensor support and the touch area concept could be approved as working. Every participant will play all three modes in random order. Future studies could adapt the concept for more complex games like shooters or role playing games.

Fig. 1 .

 1 Fig. 1. Concept of a pitch gesture

Fig. 2 .

 2 Fig. 2. Touch areas with accelerometer support

Fig. 3 .

 3 Fig. 3. Touch areas without accelerometer support

Fig. 4 .

 4 Fig. 4. Traditional touch button controls


Victor T Sarinho¹
email: vsarinho@gmail.com

Antônio L ² Apolinário
email: apolinario@dcc.ufba.br

Eduardo S Almeida³

A Feature-based Environment for Digital Games

Keywords: Digital game domain, game features, OOFM, FEnDiGa

Digital games can be considered as an important software development area in our society. This paper proposes the Object Oriented Feature Modeling (OOFM) usage in the digital game domain. It aims to represent and manipulate distinct game features, defined by NESI and GDS models, in a parameterized and hierarchical way. As a result, a Feature-based Environment for Digital Games (FEnDiGa) is provided, a product line platform able to integrate and adapt represented game features in different types of available game engines.

Introduction

Digital games can be considered as an important software development area in our society. Analyzing the digital game domain, it is possible to verify multiple examples of game genres and categories presenting common features among them [START_REF] Wolf | The Medium of the Video Game[END_REF], distinct modeling approaches able to represent digital games [START_REF] Sarinho | A Feature Model Proposal for Computer Games Design[END_REF][START_REF] Sarinho | A Generative Programming Approach for Game Development[END_REF], and a great influence of game engines during game design and implementation activities [START_REF] Binsubaih | Game Portability Using a Service-Oriented Approach[END_REF]. This paper proposes the Object Oriented Feature Modeling (OOFM) [START_REF] Sarinho | Combining feature modeling and Object Oriented concepts to manage the software variability[END_REF] usage in the digital games domain. It aims to manage distinct game features provided by NESI [START_REF] Sarinho | A Feature Model Proposal for Computer Games Design[END_REF] and GDS [START_REF] Sarinho | A Generative Programming Approach for Game Development[END_REF] models in a specialized OOFM structure, providing the game logic, rules and goals (the G-Factor [START_REF] Binsubaih | Game Portability Using a Service-Oriented Approach[END_REF]) in a parameterized and hierarchical way. As a result, the Feature-based Environment for Digital Games (FEnDiGa) is provided, a software structure able to integrate and adapt represented game features in different types of available game engines.

The reminder of this paper presents three game development steps necessary to provide and use the FEnDiGa structure: 1) the variability documentation of digital games in a generic way; 2) the creation of a feature-based environment and process able to work with generic game features; and 3) the configuration of feature game resources in order to provide a final game.

Step 1: Documenting the Game Variability

An interesting problem in the digital game domain is the representation of game characteristics. There are many types of game representation approaches in the literature presenting a lot of game elements, game behaviors and so on. In a previous work [START_REF] Sarinho | A Feature Model Proposal for Computer Games Design[END_REF][START_REF] Sarinho | A Generative Programming Approach for Game Development[END_REF], two distinct generic feature models were proposed (Fig. 1): the NESI model, documenting the conceptual variability of a digital game, and the GDS model, documenting the implementation variability of a digital game.

The NESI and GDS models.

The NESI model [START_REF] Sarinho | A Feature Model Proposal for Computer Games Design[END_REF] defines a digital game as a combination of Narrative, Entertainment, Simulation and Interaction. A Narrative is a Flow, a dynamic script trying to achieve Goals following defined Rules of a game. Entertainment is represented by the player Immersion during the gameplay, following a Theme proposal to integrate the player and the game in the proposed reality. Simulation is a combination of Elements (resources to play) and respective Relationships that happen in a defined Environment (spaces to play). The human Interaction is represented by Control (game inputs) and Presentation (game outputs), consolidated by the GamePlay that represents a current game execution as a whole. With these main features, other subfeatures related to game concepts were defined, providing more than 350 conceptual game features to be configured and manipulated by game designers.

On the other hand, the GDS model [START_REF] Sarinho | A Generative Programming Approach for Game Development[END_REF] defines a digital game as a combination of GameSystem, DecisionSupport and SceneView main features, generating more than 250 related sub-features. The GameSystem feature is the main joint point of a game. It is responsible to control the game execution, describing available GameBehaviors, GameContext and GameObservers for a digital game. The DecisionSupport feature is an effort to integrate some artificial intelligence strategies used by different digital games, presenting DecisionEntities, the ContextState of each DecisionEntity, Deci-sionObservers monitoring DecisionEntities values, and predefined DecisionBehaviors able to read and update DecisionEntities and ContextStates values during their executions. The SceneView feature is a collection of SceneNodes distributed by Spatial sessions with various SceneBehaviors and SceneObservers able to perform scene actions in a game. A SceneNode represents a collection of information about the scene, describing specific Location and BoudingVolume for collision detection among other scene nodes, as well as hierarchical information about AudioNode, Graphic-Node and PhysicsNode simultaneously.

3

Step 2: Creating a Feature-Based Environment NESI and GDS models describe generic and distinct Feature Models (FMs) and Feature Configurations (FC) for digital games. OOFM provides basic elements (Feature-Type, Feature, and so on) to work with represented FMs and FCs. The OOFM Framework [START_REF] Sarinho | Combining feature modeling and Object Oriented concepts to manage the software variability[END_REF] is a combination of OOFM elements plus extra classes, interfaces and packages that follows the Model-View-Controller (MVC) architectural pattern [START_REF] Krasner | A cookbook for using the MVC user interface paradigm in Smalltalk-80[END_REF]. It defines abstract FeatureState, feature observer, FeatureBehavior and Adapter structures in order to organize the production of final system for represented FMs and FCs.

FEnDiGa is a concrete specialization of the OOFM Framework focused on the digital game domain (Fig. 2). It is a game development environment that: represents game features based on NESI and GDS models via OOFM resources; combines game features using the proposed OOFM Framework structures, and implements game features using specialized adapters of desired game engines. The representation of game features are performed by FeatureClass structures [START_REF] Sarinho | Combining feature modeling and Object Oriented concepts to manage the software variability[END_REF]. They are created for each main feature of the respective NESI and GDS models (game feature containers), presenting feature methods that prepare each featureModel and respective featureConfigurations for games.

The integration of represented game features can be performed by FeatureState, feature observer and FeatureBehavior specializations. Using a FeatureState, different game features (but representing similar characteristics) can be used to model a common state. A good example is the ElementState class, which is a combination of Element, Avatar and DecisionEntity game features.

FeatureState instances can be monitored by FeatureStateObserver instances, which are triggered whenever a FeatureState update is applied. They verify collisions among Element instances or updates in current values of Avatar Skills, for example. When a feature observer is triggered, a FeatureBehavior instance is performed, providing support for game behaviors described by game features, such as Action, Relationship, GameBehavior, DecisionBehavior and SceneBehavior.

Finally, for the implementation of game features, it consists of preparing specific Adapter instances to reflect available features and FeatureState instances in the desired game engine. They are the main interface among game engines procedures and represented game features in order to execute the configured game.

Moreover, considering the FEnDiGa development steps, features and states can be configured by Game Designers and Game Programmers, observers and behaviors can be contextualized by Game Programmers, and adapters can be provided and used by Game Engine Specialists and Game Programmers, respectively. Fig. 3 illustrates this game development process, describing their game actors and important game development activities. Step 3: Configuring the SimplifiedPacman Game With FEnDiGa structures ready to be instantiated by the FEnDiGa development process, the next step is the development of a final game (SimplifiedPacman in this case) by the configuration and interpretation of adapted game features.

Initially, identified game features based on NESI and GDS models are instantiated via FEnDiGa by the game developer. Next, several game states, such as pacmanState and pillState, are created to represent and integrate instantiated features. Feature updates and the notification of FeatureState updates are performed by behavior instances, which are defined by ScriptBehavior (such as pacmanDieBehavior) and Feature-Behavior specializations (movePacmanBehavior, for example). Also, for feature observer instances based on condition evaluation (collisionSystemObserver) and defined ScriptObserver (lifeEndEvent) results, they evaluate desired game states and indicate which behaviors must be performed, according to observer results. Finally, for the adaptation process, Adapter interfaces are implemented, such as SimplifiedPac-manSpriteAdapter and SimplifiedPacmanJGObjectAdapter, in order to adapt available engine resources (such as Sprite and JGObject) for defined FEnDiGa structures. They are used by engine procedures (such as init, start, render, and so on) in order to associate an engine behavior for each adapted state in a game.

As a result, by the proposed configuration of features, states, behaviors, observers and adapters, a complete structure for the SimplifiedPacman game, ready to be performed, is provided. Fig. 4 illustrates the SimplifiedPacman final architecture, adapted to three distinct game engines (GTGE, JGame and JME3) [START_REF]From Wikipedia, the free encyclopedia[END_REF].

Conclusions and Future Work

This paper presented the application of the OOFM technique in the development of digital games represented by NESI and GDS feature models. For that, the FEnDiGa structure and development process were defined, providing a game development environment able to integrate conceptual and implementation aspects of games.

By the FEnDiGa usage, the game development work can be resumed to: instantiate representative features of a game; define states, observers and behaviors to represent a game context based on instantiated features; and define which states will be worked by adapters during the game execution in a final game engine.

Several types of combinations among defined FEnDiGa structures can also be performed, allowing as a result a great level of reuse for game categories represented by features (the game mixing). In addition, NESI and GDS specializations can be also supported, allowing the production of customized frameworks for games and game sub-domains (FEnDiGa-RPG) according to designer interests.

In other words, by the FEnDiGa usage, the game logic becomes standardized (based on NESI and GDS models), portable (G-Factor [START_REF] Binsubaih | Game Portability Using a Service-Oriented Approach[END_REF] in an independent way via Adapters usage) and reusable (distinct combination of game features) in a new software development approach.

For future work, some extra activities will be performed, such as the evaluation and simplification of NESI and GDS models, the development of FEnDiGa supporting tools, and the FEnDiGa usage in different game development approaches (engines, frameworks), categories (RPG, FPS, Adventure) and complexities (complete games instead of simplified versions, collaborative development, etc.).

Fig. 2 .

 2 Fig. 2. The FEnDiGa architecture.

Fig. 3 .

 3 Fig. 3. The FEnDiGa development process.

Fig. 4 .

 4 Fig. 4. The SimplifiedPacman game achitecture.


Christos Karamanos

Nikitas M Sgouros
email: sgouros@unipi.gr

Automating the Implementation of Games based on Model-Driven Authoring Environments

Keywords:

In recent years the emergence of multiple game platforms (e.g., mobile, specialized consoles, PC) along with the rising interest in game creation by users with limited technical background calls for the development of high level authoring environments that base the creation process on abstract game models and automate their implementation. This paper describes our research towards the creation of such a development and execution environment that incorporates a graphical authoring environment based on an abstract model of common action RPG games along with a 3-D rendering client that automatically translates the resulting game into an OpenGL ES implementation.

Introduction

In recent years the emergence of multiple game platforms (e.g., mobile devices, specialized consoles, PC) has placed a considerable burden on game development thus creating the need for authoring tools that can automate multi-platform implementation. In addition, the rising interest in game creation by users with limited technical background calls for the development of high level authoring environments that focus the development efforts on describing the game idea rather than on its specific technical implementation. This can be made possible through the development of abstract game models that capture the basic characteristics of whole classes of games and allow for different instantiations of this basic model through appropriate authoring environments.

As a first step towards the development of model-driven authoring this paper describes a game creation environment that seeks to provide high level authoring capabilities for a popular class of games we refer to as action RPGs. In these games the player moves in 3-D space having to face a series of enemies and escape from certain traps while collecting treasure items and various devices that boost his health and physical abilities. Collecting a certain amount of treasure items allows the user to terminate successfully the game, while decreasing its health level to zero after a series of unsuccessful battles leads to unsuccessful termination of the game.

The game environment provides a graphical authoring tool that allows a user with limited technical background to specify the plan of the 3-D space that comprises the game space and the location and attributes of the rest of the game elements (enemies, traps, treasures, health points, enhancement items), In addition, the specifications created by the user are then fed to a rendering client that automatically creates and manages the 3-D game environment based on the specifications it receives via the Web from the authoring system. The authoring and rendering systems run as separate applications. In particular, the authoring environment runs as a Web application, while the rendering client executes on a variety of computing devices that will eventually run the game since it is built using OpenGL ES.

While there has been significant work on general-purpose game engines (e.g. Unity, JMonkey, Unreal) the use of these engines require significant technical background and programming expertise. There has been considerable research in game authoring environments for users with non-technical background mainly centered on the development of scripting environments [START_REF] Mcnaughton | Generative design patterns for computer role-playing games[END_REF][START_REF]Scratch. Website[END_REF] and an interpreter for executing the scripts, or on the use of UML-based models [START_REF] Reyno | Automated Prototyping in Model-Driven Game Development[END_REF]. While this approach can support simple games in 2-D environments, as we move to 3-D and/or increase the complexity of the games in terms of the characters and objects involved the amount of scripting grows significantly making the addition of functionality and debugging these scripts increasingly difficult. Our approach offers a more user friendly solution to users with limited technical background based on deciding what game model to use and providing graphical ways of configuring basic features of each game model. In addition, the rendering client can be used as a stand-alone game engine API allowing for in-depth modification of the resulting game.

Game Maker [START_REF] Habgood | The Game Maker's Apprentice[END_REF] is a popular development tool that provides a graphical front-end to an interpreted scripting language (GML) for game creation. Our approach seeks to create a development environment on a higher level of abstraction than Game Maker. In our system users graphically configure complete game models thus significantly reducing the need for scripting. In addition, there is no need for a special-purpose scripting language since the game models can be directly mapped to OpenGL implementations thus providing more efficient and portable implementations.

In the rest of this paper, section 2 describes in detail the graphical authoring environment while section 3 presents our work-in-progress in developing the rendering client. Finally, section 4 is a discussion and future work section.

The Authoring Environment

The authoring environment models game space as a 2-D grid that will be subsequently mapped by the rendering client to a 3-D space. There are two main character types (see Fig. 1) that can move around in game space: players (controlled by users) and enemies (that are opponents to the players and controlled by the rendering client). Each grid cell may possess one or more of the following nine primary attributes: (i) Clear (the cell has no attributes) (ii) Wall (the cell contains a motion obstacle) (ii) Trap (the cell contains a trap which has a negative effect on some of the player's attributes (e.g. speed, agility)) (iv) Enemy Control Area (the cell is within an area that an enemy can move into) (v) Player (the cell currently contains a player) (vi) Enemy (the cell currently contains an enemy) (vii) Treasure (the cell contains an effect that influences positively the material rewards obtained by a game character) (iix) Buff (the cell contains an effect that gives a beneficial boost to the performance of a game character) (ix) Health (the cell contains an effect that gives a beneficial boost to the health of a game character). When combined these primary attributes give rise to fourteen composite attributes for each cell (e.g., Buff in Enemy Control Area, Health in Enemy Control Area, Player in Enemy Control Area etc). In addition, the author now has to set attribute values for the game characters (players & enemies) and the rest of the game features (health items, treasure items, enhancement items, traps). For the player type these include setting points in a numerical scale for: (i) Speed (how fast the player moves in game space) (ii) Health (how fit is the game character) (iii) Attack (the potential for winning a battle with an enemy as an attacker) (iv) Defense (the potential for winning a battle with an enemy as a defender) (v) Agility (the ability to escape from a trap). For the enemy type the game author can set the same attribute values as the ones for the player type. In addition the author can set the value of the Enemy Areas attribute which describes the set of grid cells in which the specific enemy can move.

For health items, the game author can set the amount of health points the item would have in a numerical scale. The player's total health points will increase according to these points when player retrieves the health item.

For treasure items, the game author can set the amount of treasure points the item would have in a numerical scale. The player's total treasure points will increase according to these points when player retrieves the treasure item.

For enhancement items (buffs), the game author can set values for: (i) Buff Type (the player's attribute that will be enhanced if player retrieves the enhancement itemattack, defense, speed, agility) (ii) Buff Points (the amount of enhancement points).

For trap items, game author can set values for (i) Trap Type (the player's attribute that will be affected/decreased if player activates the trap) (ii) Trap Effect Points (the trap's activation threshold) (iii)Trap Affect Points (the amount of decreased points after trap activation)

A player and an enemy battle each other whenever their distance becomes less than an amount defined by the rendering client. In this case the rendering client randomly assigns to one of the characters the role of the attacker while the other one becomes the defender (the roles of the characters change consecutively while the battle progresses). A random value is added to the attack/defense attribute of the attacker/defender and the winner of the battle is the character with the larger value of his corresponding attribute which is then subtracted from the health points of the losing character. The encounter continues until the player escapes the battle by increasing the distance against the enemy more than the defined threshold or if one of the characters loses all its health points.

For each trap the game author specifies its activation and affect values. Each time a player/enemy enters a trap a random value is added to the value of his agility and their total is compared with the activation value for the trap. If this total is larger, the player/enemy escapes from the trap unharmed. Otherwise, the value of one of his attributes (attack, defense, speed, agility) defined by the author for this trap is reduced by the affect value of the trap.

While a trap reduces the value of a character attribute, a buff increases the value of a chosen attribute by an amount set by the game author. Finally, a treasure increases the value of a treasure item that is defined by the author. For each treasure item the author defines a specific amount for its successful collection. Successfully collecting all treasure items provides a winning terminating condition for a player in the game. Framework MVC, Java, JSP, JSTL, CSS, Javascript -JQuery, AJAX. Execution of the editor is implemented using an Apache Tomcat web server. The Spring Framework MVC (Model View Controller) was used to make the application parts easier to recognize and manage. As a framework that is based on the MVC model, it consists of three distinct entities (model, view and controller) and provides a clear division between them. Business logic and user interface are treated as totally two different layers that are easy to manage. The use of Spring annotations makes request handling easy and straightforward. Furthermore, the ability to use features such as security and role management for future expansion of the editor, makes Spring fit for use as the base of the Web client. The operational logic of the application was implemented in Java while the client side (View) consists of a set of JSP pages formatted with CSS and using Javascript -JQuery. AJAX technology was used for the direct communication between the client and the server so that the requestresponse to materialize without being visible to the user during the construction of the game space.

The Rendering Client

The rendering client is responsible for creating and executing the game based on the specifications received by the authoring system. In addition it can be used as a standalone game management API as long as it receives game specifications that are compatible with the ones created by the authoring system. It is implemented in Java based on the OpenGL ES API. Figure 4 provides a snapshot of the game environment created by the client on a mobile device.

Discussion & Future Work

We describe our research towards the creation of authoring environments based on abstract game models that describe the basic characteristics for whole classes of games and allow their automatic instantiation in a variety of computing platforms. These game models provide configurable implementations for all the mechanics in each game type including player management, terrain generation, navigation and interaction among the game objects. Our approach seeks to eliminate the need for special-purpose scripting languages by providing direct mapping of the game models to OpenGL implementations. There are a lot of open problems that need to be addressed in order for this approach to become feasible. In particular, there is the need for the development of automated synthesis capabilities so that parts of different game models could be combined in order to automatically create implementations for new types of games not envisaged by the system. Furthermore, the complexity of the mapping between game specification and its implementation is expected to increase as the game models are extended to describe higher level behavior between game objects (e.g., conflicting goal-driven behavior between characters) and more complex plot structures (e.g. aristotelian plot conceptions). More immediate future work in this area is focused on running user trials of the authoring and rendering systems along with the development of abstract models for other classes of games (e.g., sports, business or social games) and the provision of multiplayer capabilities in the rendering client.

Fig. 1 :

 1 Fig. 1: Class diagram of the available game components.

Fig. 2 :

 2 Fig. 2: Graphical representation of the available game components.

Fig. 3 :

 3 Fig. 3: A snapshot of the 2-D game grid with some of the components defined.

Figures 2

 2 Figures 2 and 3 provide snapshots of the graphical environment used during authoring. The technologies used for the development of the application are: Spring

Fig. 4 :

 4 Fig. 4: Snapshot of the rendering client depicting the player (the blue & yellow cube) close to a trap (the green floor) facing an enemy (the black & purple cube) and a health item (the blue cube).

Acknowledgments. Presentation of this work was partially supported by the University of Piraeus Research Center.