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.
[1]
Marta Jiménez,et al.
A Social and Emotional Model for Obtaining Believable Emergent Behaviors
,
2008,
AIMSA.
[2]
Jaak Henno,et al.
High-Level Specification of Games
,
2009,
Towards Intelligent Engineering and Information Technology.
[3]
Hector J. Levesque,et al.
GOLOG: A Logic Programming Language for Dynamic Domains
,
1997,
J. Log. Program..
[4]
William V. Wright,et al.
A Theory of Fun for Game Design
,
2004
.
[5]
Timothy L. Hinrichs.
Automatically Proving Playability through Abstraction
,
2006
.
[6]
Alexander R. Galloway.
Gaming: Essays On Algorithmic Culture (Electronic Mediations)
,
2006
.
[7]
Robert Appelman.
Experiential Modes of Game Play
,
2007,
DiGRA Conference.
[8]
James Paul Gee,et al.
Why Game Studies Now? Video Games: A New Art Form
,
2006,
Games Cult..
[9]
Jaak Henno,et al.
On Structure of Games
,
2010,
EJC.
[10]
Hector J. Levesque,et al.
ConGolog, a concurrent programming language based on the situation calculus
,
2000,
Artif. Intell..
[11]
Ernest Adams,et al.
Andrew Rollings and Ernest Adams on Game Design
,
2003
.
[12]
L. Victor Allis,et al.
A Knowledge-Based Approach of Connect-Four
,
1988,
J. Int. Comput. Games Assoc..
[13]
Steve Swink,et al.
Game Feel: A Game Designer's Guide to Virtual Sensation
,
2008
.