Skip Navigation
List Price: $87.99

Rent Book

Select for Price
Add to Cart Free Shipping
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

Simulation and Event Modeling for Game Developers,9781592008483

Simulation and Event Modeling for Game Developers

by
Format: Paperback
Pub. Date: 8/15/2005
Publisher(s): Cengage Learning PTR
Availability: This title is currently not available.

Summary

Simulation games are unique. They have action, combat, management, and strategy. By definition a simulation is an imitation. So, computer simulation games are games that imitate a real-life situation. Another way to think about it is that simulation games attempt to recreate a past event. But games don't always stick to that definition, sometimes they attempt to create a situation that we may someday be faced with. Event modeling is the fundamental activity of examining a real-world event to determine precisely those aspects of the event that can be made the primary objectives of a software development effort. Such modeling is essential to the success of any game development effort, especially if it focuses on simulation. The reason for this is that no simulation program can hope to simulate every aspect of a real-world event. The simulation must be limited in some way, and a technique is at hand, through event modeling, to determine which aspects of the event will render the simulation project effective.

Table of Contents

Introduction xvii
What Is Simulation?
1(26)
Groundwork
2(9)
Expanding the View
3(1)
Object and Subject
3(4)
Pragmatics
7(4)
Simulation and Complexity
11(4)
Architecture, Exposure, Concealment
11(3)
Tradeoffs
14(1)
Heuristics
14(1)
Simulation and Plotless Interaction
15(3)
Rhetoric and Persuasion
16(1)
Interpretation and Simulation
17(1)
Applied Event Modeling
18(6)
Goal Discovery
19(1)
Map Making
20(1)
Event Exploration
21(1)
Developing Incentives
22(1)
Learning
23(1)
Regeneration
24(2)
Modes of Understanding
25(1)
Inductive and Iconic Logic
25(1)
Significance
25(1)
Saturation
25(1)
Conclusion
26(1)
Specifying Events
27(44)
Contexts of Simulation
28(10)
Experiential Simulation
29(1)
Objective Simulation
30(1)
Event Models and Mediation
31(1)
Dangerous Things
32(2)
Promising Potentials
34(1)
Event Model Fundamentals
35(3)
Translating Event Models to Simulations
38(3)
Formalizing Tools and Thematic Objectives
41(5)
Hermes and Interpretation
41(1)
Event Analysis and Requirements
42(4)
Prototyping
46(12)
Remediation and Synthesis
48(2)
Simulation as Work and Craft
50(1)
Cybernetics and Systems
51(7)
Interface Design and Cognitive Psychology
58(4)
Mappings and Selection
59(1)
Constraints
60(2)
Competency Analysis
62(1)
Use Cases with Modeling
62(5)
Deriving Rules and Information
64(1)
Use Cases Using Tables
65(2)
Mapping Meta-Contexts
67(1)
Repetition and Learning
67(1)
Conclusion
68(3)
Designing an Application Framework
71(32)
Extensible Frameworks
71(5)
Exploring Requirements
72(1)
Refining Requirements
72(2)
Examining Tensions
74(2)
A Framework Using Frameworks
76(3)
Software Design
77(1)
Assessing Design
78(1)
Configuration and Getting Started
79(5)
Directories and Projects
80(1)
Opening a Project
81(1)
WinMain() and the Application
82(2)
Encapsulation
84(5)
Implementation of CApplication
86(3)
Comments and Space
89(1)
Windows and Message Loops
89(11)
Adding Message Processing to WinMain
89(2)
Augmenting CApplication for a Window
91(2)
Defining WNDCLASSEX
93(3)
Using CreateWindowEx()
96(1)
Message Processing
97(3)
Conclusion
100(3)
Implementing the Framework
103(42)
Adding Graphics
104(14)
Preliminary Additions to CApplication
105(1)
Adding DirectX
106(1)
DirectX, COM, and Devices
106(4)
Device Parameters and Capabilities
110(1)
SetGFXMode
111(6)
Standard Operations
117(1)
GUI Events and Controls
118(7)
DirectX Utility Files
119(1)
Augmenting Messaging
120(1)
GUI Setup and Declaration
120(1)
Application Message Processing
121(1)
Initializing Processes and Components
122(1)
Timing Issues
123(1)
Rendering
124(1)
Creating a Console
125(9)
Declarations for CApplication
125(1)
Definitions for CApplication
126(2)
Initializing GUI Features
128(1)
Creating Sprites
129(1)
Implementing CSprite
130(4)
Gearing Up for Action
134(3)
Data and Constants
135(1)
InitGUI Updates
136(1)
OnGUIEvent Updates
137(1)
Adding Open Dynamics Engine
137(3)
Obtaining ODE
138(1)
Identifiers and Initializing the ODE
139(1)
Creating World and Space
140(1)
Reorganizing and Optimizing
140(1)
CMyApplication Declaration
141(2)
Conclusion
143(2)
Design for Entities
145(34)
Basics of Entities
145(5)
Characteristics of Entities
146(1)
Designing an Entity
147(2)
Ends and Means
149(1)
Analysis of an Entity
150(5)
Behavior Corresponds to Potentials
151(1)
Behaviors and Animations
151(1)
Use Case Design Strategies
152(2)
Controlling Entities
154(1)
Creating Entity Graphics
155(7)
Creating Entities Using DirectX
156(1)
Entities and Meshes
157(2)
Transformations and Space
159(1)
Lighting for Entities
159(1)
The Behaviors of Light
160(1)
Target Characteristics---Materials
161(1)
The Geometry Pipeline
161(1)
Orders of Operation
162(1)
The CMesh Class
162(8)
CMesh Attributes
164(1)
CMesh Functions
165(2)
Loading
167(1)
Reset Activities
168(1)
Initializing Lighting
169(1)
Adding a Camera
170(5)
CApplication Changes for the Camera
170(2)
Updating a Scene
172(1)
Processing the Message
173(1)
Attaching the Camera to the Model
174(1)
Adding Lights
175(3)
Setting the Direction of the Light
175(2)
Initializing the Light
177(1)
Conclusion
178(1)
Implementing Entities
179(40)
Events and Entities
180(1)
Enumerating Animations
181(4)
Adding to CMesh
181(1)
Setting the Animation
182(2)
Getting the Number of Animations
184(1)
Getting Animation Names
184(1)
Playing with Time
185(5)
Clock Construction
187(2)
Creating GetTime()
189(1)
Creating Events
190(7)
Adding Events
191(1)
Processing Events
192(1)
Scheduling Events
192(1)
Event Construction
193(1)
Event Controls
193(2)
Processing Events
195(2)
An Entity Class
197(5)
Assigning Attributes to Entities
198(1)
Controlling Entities
199(2)
Updating
201(1)
Creating Entity Events
202(5)
Selecting Events
204(3)
Setting Up the GUI
207(1)
Setting Up Entity Behavior
207(9)
Setting Up Entity Behavior Using Sliders
208(2)
Using a Combo Box to Control Behavior
210(2)
Adding GUI Controls
212(1)
Updating Scenes
213(3)
Conclusion
216(3)
Creating a World
219(48)
Basics of Creating a World
220(1)
World Elements
221(2)
The CWorld Class
223(13)
Defining the CWorld Class
224(2)
Construction of a World Object
226(1)
Adding Entities to Your Work
227(1)
Removing Entities
228(2)
Accessing Entities
230(1)
Updating and Rendering
231(1)
Destroying the World
232(1)
Calling Entities in Your World
233(1)
Changes to the Application Classes
234(2)
Creating Bounding Spheres
236(14)
Changing CMesh
237(4)
Loading Meshes
241(2)
Calculating Bounding Sphere Radius
243(2)
Creating a Bounding Sphere
245(2)
Drawing a Bounding Sphere
247(2)
Adding Bounding Spheres
249(1)
Scene Hierarchies
250(6)
Adding Children
252(1)
Adding a Child Entity
252(1)
Updating and Rendering Child Entities
253(2)
Changing the Application for Children
255(1)
Entities and World Events
256(9)
Creating a Context of Events
257(2)
Adding Events to the Context
259(1)
Adding a Control
260(2)
Handling the New Event
262(3)
Conclusion
265(2)
AI and Physics for Simulation
267(54)
Thinking and Acting
268(5)
Basics of AI
268(1)
AI Interaction Networks
269(1)
Mapping Events Using AI
270(1)
AI Event Contexts and Physics
271(2)
Adding Physics
273(14)
Adding ODE to the World
274(3)
Adding ODE to the Entities
277(4)
Assigning Events to Entities
281(4)
Adding Intelligence and Gravity
285(1)
Supplementing AI with Controls
285(2)
Adding Collision Detection
287(6)
NearCallback
288(4)
Updating for Collisions
292(1)
Initializing for Collisions
292(1)
Applying Mass and Force
293(9)
Modifying CEntity
294(1)
Functions to Regulate Force, Torque, and Mass
295(5)
Modifying CMyApplication
300(2)
Building a Game Using Physics
302(9)
Setting Up a Game Scenario
302(1)
Identifying Entities for Collision
303(3)
Creating a Ground Entity
306(1)
Controls and the Block
307(4)
Final Touches
311(7)
Emergent Intelligence
313(1)
Creating a Scoreboard
314(3)
The Score Event
317(1)
Changing the End-Game Score
318(1)
Conclusion
318(3)
Environments of Simulation
321(58)
Systems and Environments
322(1)
Relative Systems
322(1)
Logic
323(9)
Two Forms of Logic
324(1)
Cognitive Saturation
325(1)
Systems and Interpretation
326(3)
Significance and Lighting
329(1)
Graveyard Lighting
330(1)
Realism and Cognitive Saturation
331(1)
Creating a Context of Reality
332(11)
Disabling Physics
334(2)
Setting Up Lighting
336(1)
Adding Fog
336(4)
Updating the GUI
340(3)
Shadows
343(13)
Rendering the State and Enabling Lights
355(1)
Setting the Stage
355(1)
Testing the Drawing of Shadows
356(1)
Creating a Graveyard Scene
356(9)
Modifying the World for Shadows
358(2)
Adding Shadows to Entities
360(1)
Adding the Tombstones
361(1)
Setting and Enabling Lights
362(1)
Creating a Control
363(1)
Processing Messages
364(1)
Updating the Scene for the Light
365(1)
Searching for Gold
365(11)
Modifying the CWorld Class
366(2)
Making Stones of Gold
368(2)
Adding Buttons
370(1)
Messages That Move
371(3)
Using the Keyboard
374(1)
Updating the Light Source
375(1)
Conclusion
376(3)
Simulation of Physical Systems
379(52)
Systems as Physical Systems
380(3)
Conceptualizing Systems
381(1)
Modeling Physical Events
381(2)
Creating the Context: Trees and Forest
383(12)
Sprite Preparation
384(2)
Creating the Tree Class
386(5)
Adding Trees and Grass
391(4)
A Forest as a System of Trees
395(10)
Trees That Talk
395(1)
A Forest from Trees
396(5)
Rendering the Forest
401(1)
Controlling the Forest's Size
402(3)
Starting the Fire
405(7)
Burn States
406(1)
Controlling Burns
407(1)
Designating Ignition Candidates
408(2)
Updating for the Forest
410(1)
Ignition
410(1)
Spreading the Fire
411(1)
Controls and Messages
411(1)
Message Handling
412(1)
Creating a Model
412(17)
The Importance of Interaction
414(1)
A View of the Model
415(2)
Variables Instead of Constants
417(2)
System Behaviors
419(6)
Interface and Messaging
425(4)
Conclusion
429(2)
Simulation for Social and Economic Systems
431(38)
Social and Economic Perspectives
431(5)
Practical Applications
432(1)
Historical Precedents
433(3)
Economic Protections
436(2)
Simulating a Scenario
437(1)
Modeling the Events
438(1)
Entities
438(1)
Events
439(1)
Setting Up the Community
439(12)
Community Structures
440(1)
Building States
441(1)
Building Events
442(3)
Communities and Towns
445(1)
Town States
445(1)
Town Events
446(3)
Rendering the Town
449(2)
Implementing the Simulation
451(15)
Altering the Building States
453(1)
Building and Population Behaviors
454(6)
Changes to the Town
460(2)
Controlling Influences
462(4)
Conclusion
466(3)
Testing Simulations and Event Models
469(34)
The Effectiveness of Simulation
469(4)
Cognitive Saturation
470(1)
Systems Significance
471(2)
The Significance of Interaction
473(1)
Approaches to Diagrammatic Systems Evaluation
473(8)
Nodes
474(1)
Naming Nodes
475(1)
Transitions
476(1)
The Focus of Awareness
476(2)
Abstracting and Diagramming Acknowledgment
478(3)
Determining Significance
481(1)
Context Influence
482(2)
Systems Significance
484(1)
Path Transitions
484(10)
Calculating the Relative Path Value
486(1)
Calculating the Relative Context Value
487(1)
Calculating the Cognitive Saturation Value
488(1)
A Trial Run of Inspect
488(2)
General Trends in Cognitive Saturation
490(1)
Running Inspect
490(4)
Assessing Messages
494(1)
Code Implementation for Testing
495(6)
Identifying Messages
495(1)
Logging Messages
496(2)
Processing Messages
498(3)
Conclusion
501(2)
Index 503

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.

Visa
Mastercard
American Express
Comodo
McAfee