3. activity or contest governed by rules
people engage in games for recreation and
to develop mental or physical skills
ludology
♞ game
definition
4. “A game is an activity among two or more
independent decision-makers seeking to achieve
their objectives in some limiting context.”
Clark C. Abt
♞ game
definition
5. “A game is a form of art in which participants,
termed players, make decisions in order to
manage resources through game tokens
in the pursuit of a goal.”
Greg Costikyan
♞ game
definition
6. “A game is a system in which players engage
in an artificial conflict, defined by rules,
that results in a quantifiable outcome.”
Katie Salen & Eric Zimmerman
♞ game
definition
8. “Game design is the process by which
a game designer creates a game,
to be encountered by a player,
from which meaningful play emerges.”
Katie Salen & Eric Zimmerman
♞ game
design
15. ♞ game
classification
strategy board games
tokens are placed/moved to capture
those of the opponent(s) or to accomplish other goals:
to gain a territory, to tile or align tokens
Chess, Domino, Go, Monopoly, etc.
16. ♞ game
classification
role-playing games
each user is playing a character role
having distinct properties (attributes)
eventually, a main player – called game-master –
could exists to guide users through the game
17. ♞ game
other classic types
card games: Bridge, Hearts, Poker, Whist,…
chance games: Bingo, Lottery, Roulette, etc.
dice games
paper & pencil – e.g., Tic-tac-toe
puzzles
target games: Bowling, Darts, Paintball,…
tile games – Mah Jongg
serious games
18. ♞ electronic
game
based on an electronic device – arcade machine,
handheld device, TV-connected system,
computer,… – able to facilitate the interaction
between user(s) and software game(s) having
human or computer-generated opponents
21. ♞ electronic
game
action lots of frantic button pushing
adventure the story matters
strategy non-trivial choices
simulation optimization exercises
puzzle hard analytic thinking
amusement software you just have fun with
educational learning by doing
Andrew Rollings & Dave Morris
40. game
development
game level design
key ingredients:
action, exploring, resolving a “mystery” (puzzle),
storytelling, esthetics
generic approach vs. special cases
45. game
development
using artificial intelligence (AI)
challenge the player
modeling NPC behavior (not do dumb things)
performing random actions (be unpredictable)
giving support for storytelling
assuring credibility (create a living world)
51. game
main sub-systems
User interface
Bidirectional event handler
Data engine (graphics, level, miscellaneous data)
Dynamics system (collisions & general physics)
Logic engine (the heart of the game)
Graphics engine
Sound engine
Hardware abstraction layers
(interfaces with graphics, sound & controller hardware)
Andrew Rollings & Dave Morris
♞
55. game
architecture
♞
game kernel
available on client-side only – e.g., Web browser
single-threaded, monolithic
multi-threaded, co-operative/pre-emptive
(for example, using WebWorkers)
57. game
architecture
♞
// main loop of a Web game
while (true) {
// gathering data from user, device, Internet,...
input_data_from_user_and_network ();
// updating the game general state
// (performing a simulation of its world),
// plus checking the victory/loss conditions
simulate_game_world ();
// rendering 2D/3D visual content
render_content ();
// generating sound effects according to current state
generate_sound_effects ();
}
62. M. Zamith et al.
main loop of a game
running on a networked platform (e.g., cloud)
63. AI
Renderer
3D
Player Model
Sound
audio
Resource Loader
Player View
Queue
Façade
Resources
conceptual architecture of a game engine
based on Jeff Ward
NPC Model
Externals Model
Internals ModelInternals View
Externals View
NPC View
2D
Input
user
device
network
64. interacting with the user
receiving events
on data transfer via network/Web
updating the game state and
generating a frame of graphical content
eventually, creating sound effects
game
main loop
65. interacting with the user
receiving events
on data transfer via network/Web
updating the game state and
generating a frame of graphical content
eventually, creating sound effects
game
main loop
mouse/keyboard/touch via DOM + APIs
Ajax, notifications, WebSockets, WebRTC
classic JavaScript, WebWorkers,…
DOM, <canvas>, <video>, SVG, WebGL,…
<audio>, WebAudio API
66. game
architecture
other aspects of interest:
application initialization & termination
high-level management of the game state
game flow control
updating main/secondary sub-systems
67. high-level game logic
game engine
additional components
(game frameworks & libraries)
rendering
engine
audio
engine
2D/3D
graphics libraries
low-level
sound libraries
interaction
I/O
game runtime – Web browser
infrastructure – cloud, virtual machine, OS, hardware