General Tsructure Of Game Design
Games, MMOG-s (Massively Multiplayer On-Line Games), on-line social sites etc have become a major cultural and economic force. The main distinguishing features and attraction of these applications is their interactivity and emergent quality --participants constantly change the state of affairs with their actions. Gameplay, the resulting dynamic flow of events, is fascinating: this is like execution of an algorithm, where elementary actions are defined by game rules, but the logic, the flowchart is composed "on-the-fly" by players. Our understanding of games and gameplay is still on the level of alchemy. Search for adequate formal methods for description and classification of games and gameplay has only started. We do not have established and widely accepted models and methods; the proposed models and classifications of games are mostly subjective. Here is analyzed the current state of game research and proposed a game specification language, which allows to consider essential features of a new game before implementation. This together with proposed method for recording the "inner" working of games and gameplay allows better to understand games and gameplay and get objective data for studies. Some examples of game specification and recording of game engine's states demonstrate investigating dynamics and emergent qualities of gameplay.
Figures - uploaded by Jaak Henno
Author content
All figure content in this area was uploaded by Jaak Henno
Content may be subject to copyright.
Discover the world's research
- 20+ million members
- 135+ million publications
- 700k+ research projects
Join for free
On Structure of Games
Jaak HENNO
Tallinn University of Technology
Abstract. Games, MMOG-s (Massively Multiplayer On-Line Games), on-line
social sites etc have become a major cultural and economic force. The main
distinguishing features and attraction of these applications is their interactivity and
emergent quality participants constantly change the state of affairs with their
actions. Gameplay, the resulting dynamic flow of events, is fascinating: this is like
execution of an algorithm, where elementary actions are defined by game rules,
-the-
Our understanding of games and gameplay is still on the level of alchemy. Search
for adequate formal methods for description and classification of games and
gameplay has only started. We do not have established and widely accepted
models and methods; the proposed models and classifications of games are mostly
subjective.
Here is analyzed the current state of game research and proposed a game
specification language, which allows to consider essential features of a new game
before implementation. This together with proposed method for recording the
allows better to understand games and
gameplay and get objective data for studies. Some examples of game specification
and demonstrate investigating dynamics and
emergent qualities of gameplay.
Keywords: Game, gameplay, interaction, specification language, emergence
Introduction
Video games (computer and console games) have become a major economic and
cultural force. The total revenues of game business in USA have grown ten times in the
last ten years and for several years are already greater than revenues of cinema business.
Even the current economic confusion has not affected the game business in
December 2008 game industry reported the highest single-month revenues in video
game history [
]. More and more people are participating in MMOG-s (Massively
Multiplayer On-line Games); rather similar are social networks (Twitter, Slasdot, Digg).
In this environment are constantly appearing new practices, e.g. new forms of language
(Twitter tweets, which can contain only 140 characters), new ways to listen music [
]
- game Pong was introduced in 1973) generation,
], is in many ways different from
[
].
Games have contributed to several changes in individual human beings and in
society, but the theoretical base for games study is week. There are no formal methods
to describe games and gameplay, to classify games in meaningful way. Classification
of games is often based on visual appearance (horizontal scroller, maze), on technology
used (arcade games, console games) or simply by game size (casual games), but these
classifications do not describe game nature, e.g. gameplay, which can actually be very
similar for games which in superfluous classifications are claimed different.
1. What is a Game?
If we want to understand and analyze games and game design, we must define what is a
, to determine the basic features, common to all/most games.
There are many different characterizations of games. When Ludwig Wittgenstein
considered different forms of games (children games, Olympic games, flirtation, Go
etc) he concluded game
contains several concepts which share a "family resemblance" to one another [
].
Johan Huizinga considered in 1955 games as an art form: There is beauty in
games. I am fascinated by the rich gameplay so many games offer using only a
handful of rules. Every session of play becomes a performance; a ritualized dance
s never the
same twice. Mine is an aesthetic appreciation of the freedom and possibilities set up
within the logical game space within the magic circle of the game ;
are in fact at the very center of what makes us human. Play is older than culture" [
].
Cris Crafford, author of many successful games, also consider ed different aspects
of the word game and also divided the into several classes:
are subset of entertainment limited to conflicts in which players work to foil each
challenges, stories, competitions, and a lot more
].
The definitions become more similar started to mean
mainly video, i.e. computer and console games:
[
];
- Sid Meyer, author of the very successful game
Civilization [
];
[
];
A game is a form of art in which participants make decisions in order to
manage resources - Greg Costikyan, another very successful
game designer [
];
s are the content of a game is its behavior -
not the media that streams out of it towards the player.
These definitions (and many others) all underline the following features of
contemporary video games:
games are a new form of art, but u
games require player introspection, active participation for creating the emotion, games
are art [
];
the main difference of this new art form is its interactivity: Interactivity is one of
the most important and distinguishable features of a game
];
the main attraction of gameplay is its emergent quality the flow of events in a
game depends on actions of gamers and in a good game it is virtually impossible to see
beforehand what all can happen. All rounds of play are different, they appear as the
consequence of players actions, which itself are very simple, but create a highly
complex result: gameplay is an emergent quality of the game system [
]. Emergence
of gameplay is in many aspects similar to emergence of language from separate
communication acts [
], [
] or to emergence of complex patterns in simulation of
simple cellular automata [
], [
].
This created by players actions unpredictability is the main attraction of games,
one thing: entertaining people...You have to make
10].
But fun emerges only if the game constantly presents new challenges and is
correctly balanced not too easy, but also not too difficult, so that players manage to
solve presented problems
too easy also kind of bore me [19 ]. Raph Koster, author of several successful MMOG-
s and former chief creative officer of Sony Online Entertainment claims:
; e feedback the brain gives to you for
[
], [
].
Even with current gaming revolution, it is still sometimes argued that games are
only little more than pastime, they do not have serious meaning. But what is the
meaning of e.g. Go game with very simple rules and setting, which has been played
centuries and which we still do not understand enough to create a program that could
play Go successfully against human players? The meaning of Go is the relationship
between the global and the local, between immediate profit and future potential and
how these are changed by our simple actions. Games make us consider effort and result,
cause and effect. Humans are very bad at understanding timed sequences of events:
we suck at odds assessment really ba
]. Gameplay is just a
timed sequence of events; it is like executing of an algorithm where elementary actions
are determined by game rules, but the whole sequence and its consequences - by
gamers. The current gaming revolution can be considered as massive research of
elementary algorithms, a crossover with SETI@home.
There are more aspects of gaming. Games turn practical goals and
reasons in on themselves and allow investigating them, enjoying them, setting them
free and escaping from them. World becomes free of everyday burdens.
Our modern life is like Tetris game we have not coped with one task when in
flows already another. Survey of workplaces in United States [
] found that nearly in
every three minutes workers were interrupted with some new task, message etc and that
people working on a computer had on average eight windows open at the same time
[
]. Specially designed games [
] help people to improve their ability to deal with this
flood of events and tasks, improve their mental skills (so-called fluid intelligence [
]).
Games change concept of broadcasting and provide a new understanding of
emergence of meaning. Information and knowledge are inherently social, studying
information and knowledge means studying information exchange. Meaning emerges
in network, in conversations. In on-line games always emerges communication and
players often create complex communication systems from scratch [
]. Games are a
new form of communication [
].
The ultimate purpose of every human activity is to make us happy. Research [
]
has shown that happiness and mental well-being is not directly tied to material well-
being. In current economical disturbances, happiness and mental health of many people
are decreasing. Gameplay provides easy way to get quickly positive emotions. No other
activity (everyday work) provides positive feedback so directly. However, how to
create games, which are fun, make players happy, force us to solve problems and learn
new skills?
2. How to describe a Game?
There have been several attempts to create some frameworks (more or less formal),
methods and models to describe and analyze games and to understand, what makes a
. The first such attempts were from game creators
themselves, but (a bit later) also academic researchers become interested in games.
Videogame is a dynamic process, with visual and audio UI (but also e.g. tactile and
force feedback have been used Wii, Dualshock). The most common (and most
superficial) classification of games is based on visual output:
This classification does not help to understand, why some rather simple games had
tremendous success (Mario, Tetris), but others (designed with million-dollar budgets)
have failed. Classification based on game theme (action, adventure, educational,
emulator, fighting, puzzle, racing, role playing, shooter, simulator, sports, strategy,
traditional, serious, massive multiplayer) also does not tell much, since there are many
games which belong to several of these classes and there constantly appear new games
which do not clearly belong to any of established classes.
2.1. Classifications from game authors
Chris Crawford argued The Art of Computer Game Design [7], that all
games have four fundamental elements:
representation - a closed formal system with explicit rules that subjectively
represents a subset of reality (quite often this is a virtual reality, invented in
this particular game e.g. like Portal [
]);
interaction - intricate web of cause and effect, by which all things are tied
together; the only way understand it is to let players generate causes and
observe effects;
conflict - player is actively pursuing some goal, but dynamic, purposeful
obstacles actively block the player's attempts;
safety - the results of a game are always less harsh than the situations the
game models.
Greg Costikyan identified the following main issues to consider by game designers
[11 ]: Decision making
Goals
Opposition
Managing resources
Game tokens
Information
Robin Hunicke, Marc LeBlanc and Robert Zubek introduced the MDA
(Mechanics-Dynamics-Aesthetics) framework [
] to describe games:
Mechanics describes rules and components of the game at the level of data
representation and algorithms;
Dynamics describes the gameplay, interactivity, run-time behavior of the
game over time;
Aesthetics describes the fun and types of expected emotional responses of
players: Sensation (sensory pleasure), Fantasy (make-believe), Narrative
(drama), Challenge (course of obstacles), Fellowship (social framework),
Discovery (uncharted territory), Expression (self-discovery), Submission
(pastime)
change
the hierarchy
just one component of fun .
Those are just different views of a game the technique practiced in IS modeling;
they help to understand, but do not yet provide basis for a formal model.
Several researches have followed the
pattern approach to architecture, e.g.
identified and described over 300 patterns in game design [
]. Their focus is on the
activities of the player and the patterns are purely verbal.
Raph Koster argues [
] s have been:
Visual
Iconic
Not textual
He compares games with choreography and brings as an example the Laban
notation used to describe dance. But Laban notation describes fixed sequence of steps,
prescribed dance, while in a game t player( s) it is
never pre-determined, otherwise it is not a game. Only steps are fixed by rules, but the
whole dance gameplay is composed by players and is every time different. Koster
is searching elementary parts of to
describe game dynamics, but he admits, that until now he has failed.
Game structure elements are also considered by Tracy Fullerton, Christopher
Swain & Steven Hoffman [
], but their list - Players, Objective, Procedures, Rules,
Resources, Conflicts, Boundaries, Outcomes - is rather obvious and not very helpful for
game designer.
Noah Falstein and Hal Barwood in their 400 Project have collected a large set of
rules for game designers [
]. Unfortunately, many of those rules seem trivial or vague:
Get the most out of your (always limited) material - either find ways to exploit an
element of your game, or cut it out All your game ideas must find a concrete
expression in playable elements
2.2. Classifications from Academic Community
The birth of video games (games using video screen to display game state) actually
occurred in serious scientific environment. In 1952 when A.S. Douglas was preparing
his PhD dissertation about Human-Computer interaction at the University of
Cambridge, he programmed Noughts And Crosses (Tic-Tac-Toe) for 35 x 16-pixel
screen connected to EDSAC computer to illustrate his thesis.
In 1985, when Mary Ann Buckles was studying German literature at UC San
Diego she become surprised by pop ularity of the game Adventure and made the
game and players the topic of her dissertation.
Many of the first game researches had literature/cinema/drama studies background
and wanted to carry over the techniques what they have learned there. Games were
interactive narratives , procedural stories or remediated cinema
These are all very academic constructs and often show ignorance concerning
it's an attempt to skip the 20th century altogether and avoid any intellectual
contact with it, a consumerist double assassination of both the avant-garde and
advanced theory [
]. -
Academic community wake up and stated to think about games seriously only with
the turn of the new century. In 2001 was established the international journal of
] (2001 was declared
studies), Gonzalo Frasca initiated
the site ludology.org. Ludology is the discipline which studies games, play, toys and
videogames [
] (ludus = game (Latin), logos = science (Greek)).
Game authors use lot of metaphors and poetic language when speaking about
games (Koster: We like games that deliver a sense of an
endless world, living environments, and open- Academic researches
(especially with IT background) consider games as programs, dynamic systems. For
dynamic systems have been developed many theories, many types of models and
modeling technologies to describe their structure and dynamics. It is not difficult to
develop structural models to describe already existing games, but these models provide
little help for developers who want to invent new types of games. Games are very
different from conventional IT systems. For instance, the structural model of the Portal
game from Valve (at least the first levels) is very simple, but this does not tell anything
about surprising gameplay. Even simpler is the structure of the game Auditorium [
]
just on input flow of energy, several manipulators which allow to change the direction
of the flow and sound organs, the flow of interactions is also quite simple, but what
kind -s?
An attempt to describe gameplay in terms of basic activities and categorize games
on this base is V.E.Ga.S. (Video Entertainment & Games Studies) tool [
]. The
elemental building blocks in
Russian folk tales that form the basis of their narrative structure [
]. Propp reduced
fairy tales to a series of actions performed by personae of the story and
claimed that all fairy tales are constructed using ca 31 of these plot elements which are
carried out by 8 different character types. These claims can be (partly) verified by the
Proppian Fairy Tale Generator [
]; for most reviewers the results are not very
convincing.
Creators of V.E.Ga.S. used similar idea to classify video games. By 2006, they had
analyzed 588 games, using (they correfunctions ):
ANSWER, MANAGE, HAVE LUCK, SHOOT, CONSTRUCT/CREATE, BLOCK,
DESTROY, MOVE, AVOID, POSITION, TIME, SCORE. If any of these do not seem
applicable, the brick TOY is used (i.e. further classification is required). There are 8191
possible combinations of these bricks. However, in real games were found only 301 of
these and the classification turned out to be very one-sided 68.10% of all game
families contained only 1 brick, thus authors concluded that their original idea has
failed. However, they got some new insights. First, some seemingly rather different
games (different themes, graphics, sounds and/or interface) turned out to belong to the
same class, e.g. the platform game "Kong" (Clone of Donkey Kong), an arcade game
"Frogger" and a race game "Trackmania Nations ESWC" occurred in same class. In
the same class come out also a beat-them-up game "Comix Zone", the FPS "Doom"
and the classic platform game "Jazz jack Rabbit". However, this result can be explained
also another way - all these games are what Crawford [ 7] calls "Sensorimotor
Challenges" games which challenge rapidity and dexterity of the player.
On the positive side, there appeared 21 classes containing at least four bricks.
Analysis also showed, that there are some persistent combinations of bricks, which
-
SHOOT + DESTROY (Duck Hunt) and SHOOT-THEM-UP = DRIVER + KILLER
(Space Invoiders); for instance there were 9 families of games containing the
DRIVER+KILLER metabrick.
Raph Koster suggests in his grammar of gameplay [21] to consider time, as an
entire dimension of a game, i.e. time is not an objective in the same way as e.g. the
brick "AVOID". Time belongs to general structure of a game, the same way as the
brick "SCORE" - it is an indication of the performance of the player. After removing
these bricks and some further simplifications remained three meta-classes:
DRIVER + KILLER + MANAGE + POSITION
DRIVER + KILLER
DRIVER + KILLER + POSITION.
which all belong to the generic FPS class. All three classes maintain a strong
common feature DRIVER + KILLER, differences are in the way of presenting this
theme. The first class with additional bricks MANAGE + POSITION requires the
player to chase the enemy and to choose the appropriate weapon in order to face him.
The second class is only based on DRIVER + KILLER, the enemies appear continually
and automatically in great numbers just shoot, do not think (one fundamental rule
about enemies in a successful FPS games seems to be , . In the
third class POSITION usually makes the player to fight man-to-man with his enemies.
Another metabricks were GOD = MANAGE + CREATE (SimCity) and BRAIN
= ANSWER + AVOID (quizzes). Authors also suspected the metabrick TACTIC =
POSITION + BLOCK, but the evidence for this metabrick was not sufficient.
The idea of describing games la Propp is definitely attractive. However, the
result seems to work sufficiently well only for FPS-s. But this is the most numerous
category of games, e.g. in the last ten years more than half of Annual Interactive
Achievement Awards from The Academy of Interactive Arts & Sciences (AIAS) (in
, but also in several other categories) went to FPS. Maybe the
popularity of this genre has helped to understand the essence of this type of games
better than other types of games.
Since attempts to invent a generative device have not been
successful, several researchers have tried to describe games by UML and other types of
diagrams. Flowchart-type diagrams were used to describe possibilities to advance in
simulations or adventure games [
], where gamers have to move around, find objects
and fill some tasks; similar approach was used in [
], [
]. These schemas describe the
plan of rooms and what is in these rooms. The diagrams
are similar to story-beat diagrams [
] which describe the scene location, scene
description, the object and cast members in the scene, events game engine listens and
what actions they trigger, what happens in response to these events. The UML
diagrams used in [
] also describe the structure of a game, i.e. game settings, but not
what really happens in gameplay. In [
] were used colored Petri nets to describe on a
very high level possible flows during
gameplay, but this very abstract model does not consider operational rules of the game.
3. How to see the "something "?
The current state of understanding of game design is sometimes compared with
it was clear to the alchemists that was generally being
conserved in chemical processes, even in the most dramatic changes of physical state
and appearance; i.e. that could be hidden
under many outer forms, and revealed by proper manipulation [
]. Game designers
also are convinced, that in a good game there is It is
my belief that a highly mechanical and predictable heart, built on the foundation of
basic human psychology, beats at the core of every single successful game
].
However, we still have not understood what is and what are the
.
People play games because they want to feel emotions and challenge [
]. Game
design is engineering of emotions. There are some studies of player
what happened before, during, and after play [
], [
], but in those studies the reason
for the player ns is only name of the game, no further details.
To build a scientific theory of something we need facts, gathered from experiments.
To build a theory of game mechanical and predictable heart data, gathered
by observing gamers and corresponding game states - the emotions, satisfaction, fun
depends on state of the game which they were playing.
Gameplay is like execution of a program. It consists of elementary actions (linear
code) and logic, which ties these elementary actions together. In gameplay, the
elementary actions (what player can do) are fixed by game rules. But players invent the
logic, which ties these actions into gameplay. Rules give only flow schema, decision
blocks are from player. Games are programs with variable logic, ballet with fixed pas,
but free choreography, tales, where character types and plot elements are known, but
the player determines how the story unfolds.
Player s emotion s, how they develop the story i
G
states game designer produces rules for interaction that, with the participation of the
player, generate game states that induce emotions in the player
]. We need data
about this mapping, information about what happened in game and caused this or
another reaction. Arguments should be record ed parameters from game engine or
details of game (formal) specification. Otherwise understanding of games is
comparable with alchemy, the state of chemistry before discovery of the molecular
weight there is no base for periodic table of games.
Figure 1. player in turn changes E.
3.1. Recording game's "inner" life
Objective, measurable data about gameplay is natural and easiest to obtain from
game itself. In static games (puzzles) game state can be recorded also from outside
screen capture + sound recording. This is a kind of bitmap image it shows, but does
not tell the structure of the state of the game. To restore the state of e.g. checkers from
an image positions of pieces should be recorded, i.e. bitmap should be transformed into
drawing. For dynamic video games, where the image on the screen is like
video/animation such outside recording is totally unsatisfactory.
A dynamic game is frame-based animation, similar to video. Static games can also
be considered like frame-based, only here frames do not change with constant speed,
but according to actions/moves. The information (output to player) is changed
by the step function of the game engine. In order to get information about game state
step function, which records the essential
information: state of game objects (position, speed, value of other attributes), amount
of player
when game is debugged [
] or when a recording feature is added which allows to store
gameplay as e.g. YouTube video [
].
Recording game parameters (usually only some of them) and presenting this
information on screen is common in many shooting games. For instance, in horizontal
shooter Star Track Ba ship (on the left) has to fight attacking from right
enemies (lot of them the more the merrier!). Player task is not to allow them to pass
his defense line. He can shoot them (orange circles are explosions where ship just had
destroyed some enemies), but there is a constant delay (reloading time) between his
missiles. He can move his ship only up and down (not out of the screen) and he has
from time to time contact his base (not visible) to get fuel. The last resort (if enemies
are approaching and he cannot shoot them
everything in a wide area before him, but after that, he should directly contact his base.
Figure 2. Star Track Battle (part of the screen) The upper band indicates amount of fuel, lower one number
of enemies approaching (on radar).
- want to shoot
speed and frequency of enemies etc, changing these makes game easier
or more difficult. We made with students some experiments about how reloading delay
and probability of the number of enemies, which appear during the reload time,
changed the overall appeal of the game.
parameters the players themselves could change the parameters. Player can select the
difficulty, ( ) in many games, but usually it is not implicit,
which parameters are actually changed; here we revealed these parameters.
Table 1. Playe
Probability of new enemies
There were some other dependencies between game staotional
state, for instance all players agreed
that, they wanted
to take more risks.
Some game data can make games easier to understand and thus increase the
enjoyment. In Tic-Tac-Toe an essential parameter for selecting the next square is the
: the number of all potential rows (i.e. rows which do not have
any enemy symbols) minus the number of potential enemy rows (an application of
; after showing this value most players (even 6
years old!) c-Tac-Toe after couple of plays. A
similar approach works well in many other combinatorial games, e.g. in -in-
Figure 3. Tic-Tac_Toe.
R is a standard procedure also in simulations where
emergent processes are studied. Usually these simulations are not games there is no
goal, but they are similar to MMOG-s and it is easy to transform them to games.
Figure 4. Visualization of simulation of emergence of common vocabulary. Agents are searching for food
(mushroom) and drink (bottle). Agents color indicates success of recent communications.
Probably the most natural way to study the function: game (inner) state
→
player's
emotional state is by "games with a purpose" [
])
to prepare some simple games where recording function is added (ludems), put them
on- tarted to
yet
in initial state.
4. Game Specification
In order to study the function: game state
→
player
'
s emotional state we need
formal representation of the function argument - game.
Formal representation serves also many other purposes. Producing even a simple
game is not an easy (or cheap) task. It is virtually impossible to say beforehand,
whether the game will be good - we do not yet understand the nature of FUN. Game
implementers (programmers) should understand the idea of the game author (usually
they are different persons).
There have been several attempts to create a formal framework for game
description:
BOGuS - the BOard Game Specification language [
] to specify a board game
(using cards), to be played interactively by a user at a computer terminal;
The Trias Politica [
] - Game Specification in Normative Multiagent System,
which is based on Rao and Georgeff's specification language BDI{CTL} and uses
multiagent decision trees based on observations and recursive modeling and formal
obligations; it uses four kinds of agents, called legislators, judges, policemen and
citizens;
LOTOS - specifically developed for the formal description of the OSI (Open
systems Interconnection) architecture [
], is applicable to distributed concurrent
systems, e.g. MMORGs; system is seen as a set of processes which interact and
exchange data with each other and with their environment;
event/situation calculus, fluents [
], [
] etc
The best-known formal method for game specification is the GDL Game
Description Language, developed in Stanford [
], [
]. This is a special purpose
declarative language for defining games. The language is based on game states. The
state of a game is a series of facts, game mechanics - logical rules. The language is
designed to present game description in order to develop game-playing programs and it
is used in the AAAI General Game Playing (program) Competition, i.e. the purpose is
to automate game-playing, but creating game-playing programs gives little or no
insight to understand human game.
GDL is a logical language, similar to Prolog, e.g. a GDL rule in Tic-Tac-Toe
is:
( ( ( ? ? ? ))
( ? ( ? ? )))
next cell x y player
does player mark x y
This rigorous (logical) form of specification allows presenting a game
unambiguously, but is not help humans to understand game nature. For humans,
especially for students participating in a game programming course far more useful is a
procedural language, which allows describing players and their actions, not
concentrating on relationships between them.
In the following is proposed a simple procedural game specification language ,
which is designed for use in game programming courses to introduce students to formal
methods of game description and allow them to present their games before
implementation. The language describes game as an event-driven system, using a
functional style, somewhat is considered also game visual and organizational structure.
The main elements of specifications are game objects, game events and objects
reactions to events. Game logic is considered only on the level of possible interactions
in gameplay how events are dispatched and what actions they trigger. The formal
level is not suitable for proving correctness of game-playing programs, but it allows
considering information flows in game program and thus finding inconsistencies in
specification very early. The formalism does not require end states and termination,
thus it can be also used to describe simulations and emergent processes.
5. The Game Specification Language
Game is an event-driven system, which players see as a frame-based animation.
Events trigger actions, which change the state of the system. Actions of players - how
they can change game states are defined by game rules.
The language assumes that specifications are implemented in a specific
environment, which implements the basic frame-based game loop, executing the
start gameenter fame etc.
It also assumes that the implementation environment is object-oriented and can create
some events created by interaction of game objects, e.g. collisions. The environment
should capture IO events (keyboard, mouse) and game-specific (i.e. defined in this
particular game) events and send information to players and create visual output.
For video games the visual side is very essential, thus the environment should
implement sprite graphics (drawing sprites on screen, scaling, rotating, flipping, alpha
blending and color transform) and also have vector graphics (2D or 3D). Graphic
objects - sprites and vector objects - should have coordinates and some attributes to
describe movement direction, speed. It should have collision detecting, at least the
simplest version, where the bounding box or sphere is used to detect collisions.
Several popular game programming environments: Gamemaker, Flash (AS3),
Openscript (Toolbook), Panda3D, Pygame etc satisfy (most) of these requirements,
thus are suitable as implementation environments for games, specified using this
language.
Specification is a 5-typle of disjoint sets
, , , , G Description O E A S
Description a brief description of the game in natural language (possibly with
images);
O classes of game objects. The set of classes O is hierarchically ordered, i.e. a
new class can extend some already existing class or some class defined by
implementation environment; notation
means that class
extends class
. Objects of classes (class instances) can get objects or data structures created from
other objects and/or their attributes as arguments when new objects are created, e.g.
object ship gets on creation event arrays missiles , enemies and explosions; when firing
a missile (creating a new object from the class Missile) passes these arrays to the
created object so that it can seek collisions with enemies and starts explosions.
The top object is constant
- this is the game engine, i.e. the
program, running the game.
Objects can receive and send events
, which are created by the system or by
other objects. The set of events of an object (class) O is denoted E(O); often it is more
compendious if the set of events is divided into input (what objects receive) and output
(what they send) events, denoted correspondingly
,
. In response to
received event objects perform actions and/or create new events. In event-driven
systems events are usually considered to be properties of the whole class, i.e. they are
sent to the class, not to some particular object of the class, but in game specifications it
is often very convenient to allow events which are sent to some distinguished object of
the class and not to the whole class. For instance, in turn-based game (e.g. Tic-Tac-
Toe) event turn is sent only to one player , won , loose are sent to different players and
e.g. it does not have sense to send event next (next frame) to enemies, who are dead.
This behavior is easy to implement using some object attributes in event specification.
Classes (both active and passive) have the set
of properties (attributes),
i.e. class variables. Attributes can have type public , private , static with usual
semantics. In most environments (Gamemaker, Flash) default type for all attributes is
private (local in Gamemaker), but for beginners it is often more convenient to set the
default type in specifications of attributes public beginners have often problems
concerning limited access to attributes. This also simplifies specifications, e.g. in the
Tic-Tac-Toe example (below) players do not need to manipulate their own arrays of
marked cells they can use the corresponding data structures of the game controller
(the top object).
All attributes have a fixed domain of allowed values. Objects
, which have
visual representation on screen, have attribute
- sprite of the object. Sprite
can be one image, but also a set of several images and/or animations, e.g. a DirectX or
Collada 3D-object can have built-in animation
.
For correct rendering to screen sprites are collected into an ordered display list or
(alternatively) objects have attribute Depth. Adding its sprite to display list is an action,
which objects must perform when they are added to game, i.e. as a reaction to event
Create. Since this depends on implementation environment, the feature is not shown in
specifications.
Usually domains of attributes are numeric and are (primitive) types in underlying
implementation language/system, i.e.
,
,
etc. There could be also
some operations defined on attribute domains (e.g. the negation operation on the
domain of sprites in example 1), i.e. attribute domains are abstract algebras. Common
properties for visual objects are their coordinates in game space (2D or 3D) and their
movement characteristics speed, direction. While coordinates are usually expressed in
Cartesian coordinate system, the movement can have several representations as a
vector (i.e. speed vector coordinates) but can be expressed also as direction angle and
linear speed along the direction line (polar representation).
Most classes allow generating several instances of objects from class, but some
classes are singular, have only unique object ( controller ).
The set of input events contains constant
- this is the event, when an
object (instance of a class) is added to the game (in object-oriented systems this means
executing the constructor function). Another common event is step - frame change, i.e.
new frame. To describe complicated interactions the event step (or some other event)
should be divided into several consecutive events: begin step, step, end step (as e.g. in
Gamemaker).
Common events are mouse and keyboard events: click , over, out, keypress and
interaction, collision of objects reaction to this event can make ball to bounce from a
pad. The collision event is not symmetrical; it occurs only when an object (e.g. object
bullet) executes testfunction collision(Other) and result is passed only to the object
who initiated test. Collision has different variations depending on how precisely it is
calculated whether only bounding boxes are used or it is necessary to find exact
contact of object surfaces.
Sending an event e to object O is denoted by
Here
are optional attributes of the event.
Game begins with event
This event is unique (for the object controller) and cannot occur later. This start
event may have attributes e.g. difficulty of level, addresses of servers where the game
is hosted etc.
To receive an event, object or class should be able to receive this event, i.e. be
event listener. In the following the listener declarations are omitted, it is assumed that
when an event
is sent to some class O or to some specific object
it has
corresponding reaction (action)
.
It is often convenient to allow objects to have states. Very common are states
based on attribute visible non-visible objects usually do not perform actions, thus
they also do not respond to several events, e.g. to animation event next. Structure of
object states can be more complex, e.g. a fighter can have states Creeping, Shooting,
Dead , a rocket can have states Flying, Landed, Fuelling etc. For objects with states,
the event actions become case-structures.
S stands for Sprites, visual (maybe also audio etc) denotation of objects. In
specifications, this is usually needed only to distinguish different objects from a class.
The set Sprites can have relations and/or operators, e.g. negation to indicate other (not
the same) object.
The following (partial) example illustrates the main ideas behind the proposed
high-level specification language.
In the example variable identifiers begin with capital letter, constant (object)
identifiers allowed value, prefix Arr denotes
an array (actually set, the order and indexing are not used) and actions are described in
a pseudocode.
implementation. Implementation depends heavily on implementation environment and
can be rather different in different environments.
Example1: Tic-Tac-Toe
Tic-Tac-Toe=
{ , , },{ , , , }, controller Player Square create turn move draw S
Description: two players take turns to mark a 3 x 3 grid; the player who succeeds
in marking a whole row, column, or diagonal wins.
xo
( ) { [], [], [], }
blank lines
attr controller Arr Arr Arr Arr
( ) { , ( , , )}
in
E controller create move Sprite i j
( ) { , , , }
out
E controller turn won loose draw
( ) { } attr Player Sprite
The operator acts on the set of sprites as negation, i.e.
The gameplay is described by reactions of objects to events:
( , ) {
( 1,2,3) ( 1,2,3)
{ ( ) . ( , ), . ( ( ))};
[[ (11), (22), (33)],
[ (21), (22), (23)],
[ (31), (32), (33)],
[ (11), (21), (31)
blank
lines
f controller create
for i for j
sq ij Square create r i c j Arr push sq ij
Arr sq sq sq
sq sq sq
sq sq sq
sq sq sq ],
[ (21), (22), (23)],
[ (31), (32), (33)],
[ (11), (22), (33)],
[ (13), (22), (31)]]
x . ( x);
o . ( o);
( x, )}
sq sq sq
sq sq sq
sq sq sq
sq sq sq
player Player create sprite
player Player create sprite
player turn
( , ( , , )){
. ( ( , ))
( ) {
(won, ( )),
(loose, ( )),
exit}
{
{ ( , )}
Sprite
lines Sprite
blank blank
f controller mark Sprite i j
Arr push sq i j
if Arr Arr
player Sprite
player Sprite
else
Arr Arr sq i j
( ){
(turn, ( }
{
(draw, ( }
(draw, ( }}}
blank
if Arr
player Sprite
else
player Sprite
player Sprite
( ) { , , , , }
in
E Player create turn won loose draw
( ) { ( , , )}
out
E Player move Sprite i j
( ( ), ) {
( ( , ) . ){
( , ( , , )}}
blank
f Player Sprite turn
sq i j controller Arr
controller move Sprite i j
6. Conclusions
Games have become a very significant factor in our society. They enable us to get
positive emotions and essentially shape our
[3 ], but our current understanding of games is on the level of
something, but is it logiston or Here are proposed some new views games are
mappings from game states to player's cognitive and emotional statesgameplay
is like execution of an algorithm, where elementary action blocks are determined by
game rules, but the logic (decisions, connecting these blocks) by player(s), their
cognitive and emotional states. In order to understand games we should study the
function: gam e (inner) states
→
player's emotional states. The existing models of
game influence on player emotional state are based on subjective opinions. If player
emotional state is considered as a function of the game, the argument of this function is
usually In order to investigate the mapping from game states to
player here is proposed a formal specification method for games and
demonstrated on examples use of information from game engine at playtime.
References
[1] http://www.gamasutra.com/php-bin/news_index.php?story=21885 (14.01.2009)
[2] http://blog.wired.com/business/2009/01/six-ways-cellph.html (14.01.2009)
[3] Mark Prensky. Digital Natives, Digital Immigrants, On-line: http://www.marcprensky.com/writing/
(14.01.2009)
[4] M. Prensky (2001). Do they really think differently? On the Horizon, MCB University Press, Vol. 9 No.
6, December 2001, http://www.marcprensky.com/writing/ (12.01.2009)
[5] Wittgenstein, Ludwig (1953/2002). Philosophical Investigations. ISBN 0-631-23127-7
[6] Johan Huizinga (1955) Homo Ludens.A Study of the Play Element in Culture. Boston, Beacon Press
[7] Chris Crawford. The Art of Computer Game Design. McGraw-Hill/Osborne Media, 1984 , ISBN 0-
88134-117-7; On-line: www.vancouver.wsu.edu/fac/peabody/game-book/Coverpage.html
[8] Katie Salen, Eric Zimmerman (2004) Rules of Play. The MIT Press 2004
[9] http://en.wikipedia.org/wiki/Civilization_(computer_game) [14.01.2009)
[10] Ernest Adams and Andrew Rollings (2003). Andrew Rollings and Ernest Adams on Game Design,
New Riders 2003, ISBN-10: 1592730019
[11] Greg Costikyan: I Have No Words & I Must Design. http://www.costik.com/nowords.html
(14.01.2009)
[12] Markus Friedl. Online Game Interactivity Theory. Charles River Media 2002, ISBN-10: 1584502150
[13] Markus Friedl. Online Game Interactivity Theory. Charles River Media 2002, ISBN-10: 1584502150
[14] Joris Dormans (2008) Visualizing Game Dynamics and Emergent Gameplay. Meaningful Play 2008,
Oct 9-11, 2008, http://meaningfulplay.msu.edu/proceedings2008/mp2008_paper_40.pdf (14.01.2008)
[15] J. Henno (2007) Emergence of Names and Compositionality. Information Modelling and Knowledge
Bases XVIII, IOS Press, Amserdam, pp 80-100, ISSN 0922-6389
[16] J. Henno (2007) Emergence of Language: Hidden States and Local Encironments. Information
Modelling and Knowledge Bases XIX, Hannu Jaakkola, Yasushi Kiyoki & Takahiro Tokuda (eds), IOS
Press Amsterdam-Berlin-Oxford-Tokyo-Washington DC, ISBN 978-1-58603-812-0, pp 170-181
[17] Conway, H. J. (1982). What is life. In Berlekamp, E.,, Conway, J. H., & Guy, R. (Eds.). Winning ways
for your mathematical plays (vol. 2). New York: Academic Press (Chapter 25)
[18] http://mathworld.wolfram.com/CellularAutomaton.html (14.01.2009)
[19] Raph Koster (2004) Theory of Fun for Game Design. Paraglyph Press, ISBN 10: 1-932111-97 - 2
[20] Raph Koster. Theory of Fun for Games. Keynote speech at Game Developer s Conference 2005,
http://kotaku.com/tag/game-developers-conference/ (14.01.2009)
[21] Defining Games: Raph Koster's Game Grammar.
http://www.gamasutra.com/view/feature/1979/defining_games_raph_kosters_game_.php (14.01.2009)
[22] Jonathan B. Spira, David M. Goldes (2007) Information Overload.: We Have Met the Enemy and He Is
Us. Basex, Feb. 2007, http://www.basex.com/web/webdownloads.nsf/io?openform (4.01.2009)
[23] T. Klingberg (2008) The Overflowing Brain: Information Overload and the Limits of Working Memory.
Oxford University Press, 2008, ISBN-10: 0195372883
[24] Brain Workshop. http://brainworkshop.sourceforge.net/ (14.01.2009)
[25] S. M. Jaeggi, M. Buschkuehl, J. Jonides, W. J. Perrig. Improving fluid intelligence with training on
working memory. PNAS 10.1057, http://www.pnas.org/content/early/2008/04/25/0801268105.abstract
[26] Luc Steels (2005) The emergence and evolution of linguistic structure: from lexical to grammatical
communication systems. Connection Science, Vol. 17, No. 3-4, pp. 213-230
[27] Innocent, T., Haines, S. 2007. Nonverbal communication in multiplayer game worlds. In Proceedings
of the 4th Australasian Conference on interactive Entertainment (Melbourne, Australia, December 03 -
05, 2007). ACM International Conference Proceeding Series, vol. 305. RMIT University, Melbourne,
Australia, 1-9.
[28] Ed Diener, Robert Biswas-Diener (2008) Happiness: Unlocking the Mysteries of Psychological Wealth.
Wiley-Blackwell, ISBN 1405146613
[
] http://en.wikipedia.org/wiki/Portal_%28video_game%29
[29] R. Hunicke, M. LeBlanc, R. Zubek. MDA: A Formal Approach to Game Design and Game Research.
http://www.cs.northwestern.edu/~hunicke/MDA.pdf (14.01.2009)
[30] . Patterns in Game Design. Charles River Media, 2005, ISBN
1584503548, 9781584503545:
[31] Raph. Koster (2005) A Grammar of Gameplay. Game Developers Conference 2005,: Futurevision
[32] Tracy Fullerton, Christopher Swain & Steven Hoffman (2004) Game Design Workshop: Designing,
Prototyping, and Playtesting Games. CMP Books, ISBN-10: 1578202221
[33] http://www.theinspiracy.com (14.01.2009)
[34] Markku Eskelinen (2001). The Gaming Situation. Game Studies, July 2001 -
http://www.gamestudies.org/0101/eskelinen/; revised version -
http://www.file.org.br/pdfs/english/TheGamingSituation2.pdf
[35] http://gamestudies.org/0802 (14.01.2009)
[36] http://www.ludology.org/ (14.01.2009)
[37] http://www.playauditorium.com/ (14.01.2009)
[38] Julian Alvarez, Jean-Pierre Jessel, Damien Djaouti, Pr. Gilles Methel, Rashid Ghassempouri.
Morphological study of the video games. Proceedings of the 3rd Australasian conference on Interactive
entertainment, ACM International Conference Proceeding Series; Vol. 207 2006 pp 36-43
[
] Propp, V. (1927). Morphology of the Folktale. Trans., Laurence Scott. 2nd ed. Austin: University of
Texas Press, 1968
[39] http://www.brown.edu/Courses/FR0133/Fairytale_Generator/gen.html (14.01.2009)
[40] Taylor, M. J., Gresty, D., & Baskett, M. (2006) Computer Game-Flow Design. ACM Computers in
Entertainment, Vol. 4 No. 1, article 5
[41] Bethke, E. .(2003) Game Development and Production. Wordware Publishing, Plano, TX.
[42] Siang, A., Rao, G. (2004). Designing interactivity in computer games: A UML Approach. Int. J.
Intelligent Games and Simulation 3, 2
[43] Games and Simulation 3, 2 (2004).
[44] Onder, B. (2002). Writing the adventure game. Game Design Perspectives. F. Laramee (ed.). Charles
River Media, Hingham, MA. pp 28-43.
[45] J. Dormans (2008) Visualizing Game Dynamics and Emergent Gameplay. Meaningful Play 2008 ,
http://meaningfulplay.msu.edu/proceedings2008/mp2008_paper_40.pdf (14.01.2009)
[46] S. Bura. (2006) Game Grammar. http://www.stephanebura.com/diagrams/ (14.01.2009)
[47] http://interpretivealchemy.blogspot.com/ (14.01.2009)
[48] Daniel Cook. The Chemistry Of Game Design.
http://www.gamasutra.com/view/feature/1524/the_chemistry_of_game_design.php (14.01.2009)
[49] Nicole Lazzaro. Why We Play Games: Four Keys to More Emotion Without Story.
http://www.xeodesign.com/xeodesign_whyweplaygames.pdf (14.01.2009)
[50] J. Asensio A Social and Emotional Model for Obtaining
Believable Emergent Behaviors. LNCS 5253 (2008), pp 395 -399
[51] Amyris Fernandez. Fun Experience with Digital Games: a Model Proposition. Interact 2007, Sept 10-
14, Brazil. http://www.fun-of-use.org/interact2007/
[52] S.Bura. Emotion Engineering in Videogames. http://www.stephanebura.com/emotion/ (12.01.2009)
[53] Bac k to The Future. http://gamesfromwithin.com/?p=102 (14.01.2009)
[54] Share Your Experience: YouTube Integration In Games.
http://www.gamasutra.com/view/feature/3855/share_your_experience_youtube_.php (14.01.2009)
[55] Games With a Purpose. http://www.gwap.com/gwap/ (12.01.2009)
[
] http://www1.cs.columbia.edu/~sedwards/classes/2009/w4115-spring/proposals/Bogus.pdf (11.09.2009)
[
] G. Boella, Leendert van der Torre. Game Specification in Normative Multiagent System: The Trias
Politica. 2004 IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT'04),
2004, pp504-508
[
] T. Bolognesi, E. Brinksma. Introduction to the ISO Specification Language LOTOS.
ftp://ftp.inrialpes.fr/pub/vasy/publications/others/Bolognesi-Brinksma-87.pdf (11.09.2009)
[
] M. Thielscher. A Unifying Action Calculus. http://www.fluxagent.org/download.php?file=07-UAC.pdf
(11.09.2009)
[
] S. Schiffel, M. Thielscher. Reconciling Situation Calculus and Fluent Calculus. Proceedings of the
Fourteenth National Conference on Artificial Intelligence (AAAI), Boston, MA, AAAI Press 2006, pp
287-292
[
] Game Description Language. http://games.stanford.edu/language/language.html (11.09.2009)
[
] http://games.stanford.edu/language/language.html (11.09.2009)
... It is an interactive form of generation that has game-like aspects to the conductors' interactions with the algorithmic modifications: a dynamic obstacle game. In this sense it resembles "4-way-confusion (4 agents)" games structure in which "four agents traveling in four opposing directions, meeting at nearly the same time [22] or (form the individual conductors perspective) a "Frogger"-like structure in which "one agent encounters many perpendicular crossing agents" [23]. The game analogy is perhaps amplified by the inclusion of an Audience View, allowing the audience both to hear and view the interactions of the streams, and the conductors' attempts to maintain control under conditions in which their choices are undermined and their ability to utilise the algorithmic modifications to subvert the control of the other conductors. ...
This paper describes the concepts, implementation and context of Tectonic: Rodinia, for four realtime composer- conductors and ensemble. In this work, an addition to the repertoire of the Decibel Scoreplayer, iPads are net- worked together using the bonjour protocol to manage connectivity over the network. Unlike previous Score- player works, Rodinia combines "conductor view" con- trol interfaces, "performer view" notation interfaces and an "audience view" overview interface, separately iden- tified by manual connection and yet mutually interactive. Notation is communicated to an ensemble via scores in- dependently generated in realtime in each "performer view" and amalgamated schematically in the "audience view" interface. Interaction in the work is enacted through a collision avoidant algorithm that modifies the choices of each conductor by deflecting the streams of notation according to evaluation of their "Mass" and proximity to other streams, reflecting the concept of shift- ing Tectonic plates that crush and reform each other's placement.
- Jaak Henno
Game programming is part of many IT study programs. In these courses and in game-programming texts games are not considered on abstract, implementation-independent level, but discussion is based on some specific implementation environment: a programming language (C, C++), a software package, preprogrammed libraries etc. Thus instead of discussing games on general, implementation-independent level only specific features of these programming environments are considered. Here is presented a framework for object-oriented, structural description and specification of games as event-driven object-oriented systems. At first should be considered game visual appearance and game mechanics --they create the "feel", player's experience. Game structure and logic are considered on implementation-independent level using an easy-to understand specification language. The framework emphasizes separation of data structures from game engine and game logic and thus facilitates maintenance and reuse of game assets and objects. Mechanisms for automatic adjustment of game's difficulty --so that it will be just suitable, not too easy but also not too difficult --are also considered. The specification method is illustrated with several examples. Specifications of games created with this method are easy to transform into implementations using some concrete game programming environment; this has been tested in a game programming course.
The aim of this article is first to present V.E.Ga.S., a tool which intend to classify video games, study their nature and to corroborate hypothesis by a pragmatic approach. It consists in studying a significant number of video games in order to index their composition of elementary "game bricks". Basing our study on this bricks and crossing them, we try to classify and study video games. In a second time, this paper presents the classification deduced from the results of V.E.Ga.S.
Utilizing sophisticated methodology and three decades of research by the world's leading expert on happiness, Happiness challenges the present thinking of the causes and consequences of happiness and redefines our modern notions of happiness. shares the results of three decades of research on our notions of happiness covers the most important advances in our understanding of happiness offers readers unparalleled access to the world's leading experts on happiness provides "real world" examples that will resonate with general readers as well as scholars Winner of the 2008 PSP Prose Award for Excellence in Psychology, Professional and Scholarly Publishing Division of the Association of American Publishers.
General Tsructure Of Game Design
Source: https://www.researchgate.net/publication/221013911_On_Structure_of_Games
Posted by: jefferyforneirdis.blogspot.com
0 Response to "General Tsructure Of Game Design"
Post a Comment