The Formal Approach to Computer Game Rule Development Automation - PowerPoint PPT Presentation

About This Presentation
Title:

The Formal Approach to Computer Game Rule Development Automation

Description:

Moscow Engineering-Physics Institute (National Nuclear Research University), PhD ... Invincible troops detection. First turn superiority detection ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 27
Provided by: l26674
Category:

less

Transcript and Presenter's Notes

Title: The Formal Approach to Computer Game Rule Development Automation


1
The Formal Approach to Computer Game Rule
Development Automation
Elena Pavlova Moscow Engineering-Physics Institute (National Nuclear Research University), PhD student 05.13.11
2
Agenda
  • Game rule development automation problem
  • Turn-based strategy game rule description
    language
  • Formal game rule verification method
  • Prototype rules development environment
  • Summary

3
Game rules
  • Game rules include the definition of
  • specific game world entities
  • entity interaction rules
  • the main goal of the game and secondary goals
  • start conditions and winning conditions
  • player state definition
  • Rule examples
  • A troop, moved to a map cell with an enemys
    town, must fight or run away
  • Building a castle requires 3000 stones and 100
    bars of gold

4
Game rules development
5
Object
  • The object of this paper is to develop an
    approach to game rule development allowing
  • formal visual rule design
  • automated rule verification
  • rule-based code and data generation
  • Game class specificity consideration

6
Rules description language
  • The language allows to describe
  • specific game domain entities (entity data and
    behavior)
  • entity behavior constraints
  • entity relations
  • the reaction of entities to another entity
    behavior

7
Game rule example The town attack
  • An army may attack a town if
  • it is an enemys town
  • army moves count is greater than 0 (the army
    still can make a move)
  • When the army attacks the town, the army moves
    count is decreased by 1.
  • The population of the town may defend it.
  • The player who possesses the town should be
    informed about the attack.

8
Rules model
9
Rules in the language textual notation
  • army Army,
  • playerID 1,
  • movepoints 5,
  • attackCity ( city City )
  • ((army.playerID ! city.playerID) and (
    army.movepoints gt 0 ))
  • attackCityBody
  • (army.movepoints army.movepoints - 1)
  • player Player,
  • playerID 1,
  • cityAttackDetected ( city City )
  • cityAttackDetectedPrecondition Body
    cityAttackDetectedPostCondition
  • city City,
  • playerID 1,
  • autoDefend ()
  • autoDefendPrecondition autoDefendBody
    autoDefendPostCondition
  • AddReactor ( army.attackCity, city.autoDefend)

10
Type System
  • Static typing
  • Type inference
  • Language library includes
  • simple types for behavior constraints
  • types for turn-based strategy domain

11
Object cloning
  • The language is prototype-based

12
Language semantics
  • Denotational semantics
  • ?? calculus for denotats
  • Hoare Logic elements for methods preconditions
    and postconditions

13
Rules model verification
  • Rules model consistency static analysis
  • Syntactic model consistency
  • Semantic model consistency
  • Static balance formal properties monitoring
  • Superior side detection
  • Invincible troops detection
  • First turn superiority detection
  • Dynamic balance - automated theorem proving
  • Turn result superiority detection

14
Consistency
  • Syntactic consistency
  • Semantic consistency

15
Dynamic balance
  • Dynamic balance ? Each turn the game is fair.
  • The turn invariant is placed into appropriate
    methods (related to the end of turn event)
  • Rule model described in the formal language
    designed is converted into the automatic theorem
    prover input format (ESC/Java)
  • The theorem prover attempts to verify the model

16
Summary
  • The approach to game rule development was
    suggested. The approach allows
  • formal visual rule design
  • rule verification
  • rule-based code and data generation
  • game class specificity consideration

17
References
  • TorqueEngineAdvanced http//www.garagegames.com/
    products/torque/tgea/features/
  • FPS Creator http//www.darkgamestudio.com/
  • NeoAxisEngine http//www.neoaxisgroup.com/descri
    ption.htm
  • Offset Engine http//www.projectoffset.com/game.
    html
  • Unreal Engine http//www.unrealtechnology.com/ht
    ml/technology/ue30.shtml
  • C4 Engine http//www.terathon.com/c4engine/featu
    res.php
  • Moreno-Ger P., Martinez-Ortiz I., Sierra J. L.,
    Fernandez-Manjon B. Language-Driven Development
    of Videogames The lte-Gamegt Experience //
    Entertainment Computing - ICEC 2006. Berlin
    Springer, 2006, pp 153-164
  • Moreno-Ger P., Sierra J. L., Martinez-Ortiz I.,
    Fernandez-Manjon B. A documental approach to
    adventure game development // Science of Computer
    Programming. Volume 67 , Issue 1 (June 2007).
    Amsterdam, The Netherlands Elsevier
    North-Holland, Inc, 2007, pp 3-31
  • Hu W. A Reusable Eduventure Game Framework //
    Transactions on Edutainment I . Berlin
    Springer, 2008, pp 74-85
  • Furtado A. W. B., Santos A. L. M., Ramalho G. L.
    A Computer Games Software Factory and
  • Edutainment Platform for Microsoft .NET // IET
    Software. Volume 1, Issue 6, December 2007.
    IEEE, 2007, pp 280 - 293
  • Amory A. Game object model version II a
    theoretical framework for educational game
    development // Educational Technology Research
    and Development. Volume 55, Number 1 / February,
    2007 Boston Springer, 2007, pp 51 - 77
  • Rollings A., Morris D. Game Architecture and
    Design. A New Edition. Indianapolis New Riders
    Publishing, 2004
  • Wihlidal G. Game Engine Toolset Development.
    Boston, MA Thomson Course Technology PTR, 2006

18
References 2
  • Clarke E. M.,  Grumberg O., Peled D. A.   Model
    Checking. - The MIT Press, 1999
  • V. V. Kulyamin, Software verification methods,
    Russian State Analytical-Review Articles Contest
    for Priority Concept Information-Telecommunicatio
    n Systems, 2008. (in Russian.).
  • Baier Ch., Katoen J.-P., Larsen K. G. Principles
    of Model Checking. -  The MIT Press, 2008
  • Mosses P. D. Fundamental Concepts and Formal
    Semantics of Programming Languages An
    Introductory Course. http//wiki.daimi.au.dk/dSp
    rogSem-01, 2002
  • Abadi M., Cardelli L. A Theory of Objects. New
    York Springer, 1996
  • Hoare C. An Axiomatic Basis of Computer
    Programming. Communications of the ACM, v.12.
    New York ACM Press, 1969
  • A. V. Gavrilov, E. A. Pavlova, Functional
    interface analysis for formalization of complex
    information system design, Information
    Technologies, 9, pp. 9-15, 2008. (in Russian).
  • E. A. Pavlova, Design of formal domain-specific
    language for computer game rules development for
    turn-based strategy game genre, Computer and
    Information Technology Reporter 4, April. 2009.
    (in Russian).

19
Summary
  • The approach to game rule development was
    suggested. The approach allows
  • formal visual rule design
  • rule verification
  • rule-based code and data generation
  • game class specificity consideration
  • Elena.pav_at_gmail.com

20
A type system is a tractable syntactic method
for proving the absence of certain program
behaviors by classifying phrases according to the
kinds of values they compute. Benjamin
Pierce Types and Programming Languages
21
Object
  • unit Unit,
  • power 2,
  • arrows_count 5,
  • attackMethod ( unit_to_attack Unit, cell Cell
    )
  • precondition methodBody postcondition

22
Method
  • attackMethod ( unit_to_attack Unit,
  • cell Cell )
  • ( arrows_count gt 0 ) and ( power gt 1)
  • methodBody
  • ( arrows_count arrows_count 1) and
  • ( power power 2 )

23
Reactor method
  • AddReactor (unit.AttackMethod, army2.OnAttack)

24
Reactors
  • AddReactor ( unit.AttackMethod, map.UnitMoved)
  • AddReactor ( unit.Attackmethod , army2.OnAttack)

25
Static balance
  • Superior side detection
  • Invincible troops detection
  • First turn superiority detection
  • The game is played according to the rules
    defined. Players are represented by simple AI
    module.

26
  • Computer game is a game represented by a program
    for personal computer.
  • Thus, we dont consider games for mobile devices,
    consoles, etc.
Write a Comment
User Comments (0)
About PowerShow.com