+ All Categories
Home > Entertainment & Humor > CS4344 09/10 Lecture 1: Introduction

CS4344 09/10 Lecture 1: Introduction

Date post: 20-Nov-2014
Category:
Upload: wei-tsang-ooi
View: 1,197 times
Download: 1 times
Share this document with a friend
Description:
 
Popular Tags:
85
Lecture 1 Introduction to CS4344 11 January 2010 1
Transcript
Page 1: CS4344 09/10 Lecture 1: Introduction

Lecture 1Introduction to CS4344

11 January 2010

1

Page 3: CS4344 09/10 Lecture 1: Introduction

About CS4344

3

Page 4: CS4344 09/10 Lecture 1: Introduction

• To learn about technical issues and solutions in networked/mobile game development

• Complements CS4213 “Game Development”

4

Page 5: CS4344 09/10 Lecture 1: Introduction

2 Hour Lecture10am - 12noon

5

Page 6: CS4344 09/10 Lecture 1: Introduction

We are at the frontier of the topic

6

Page 7: CS4344 09/10 Lecture 1: Introduction

No perfect textbook for this class. But we will use

7

Page 8: CS4344 09/10 Lecture 1: Introduction

SGD 180

8

Page 9: CS4344 09/10 Lecture 1: Introduction

SGD 160

9

Page 10: CS4344 09/10 Lecture 1: Introduction

10

Page 11: CS4344 09/10 Lecture 1: Introduction

Additional materials comes from online resources and

research papers.

11

Page 12: CS4344 09/10 Lecture 1: Introduction

So, don’t swallow everything you read (and I say) without

thinking.

12

Page 13: CS4344 09/10 Lecture 1: Introduction

35%

40%

25%

Final Exam Assignments Quizzes/Midterm

CS4344 Assessment

13

Page 14: CS4344 09/10 Lecture 1: Introduction

2

26

Lecture Prepare Homework

CS4344 Workload/Week (hours)

14

Page 15: CS4344 09/10 Lecture 1: Introduction

More info about assignments coming soon

15

Page 17: CS4344 09/10 Lecture 1: Introduction

Student Feedback

17

Page 18: CS4344 09/10 Lecture 1: Introduction

Overall Opinion

418

Page 19: CS4344 09/10 Lecture 1: Introduction

Likely Grade

4.219

Page 20: CS4344 09/10 Lecture 1: Introduction

Difficulty

3.720

Page 21: CS4344 09/10 Lecture 1: Introduction

Questions?

21

Page 22: CS4344 09/10 Lecture 1: Introduction

“Networked Games” ?

22

Page 23: CS4344 09/10 Lecture 1: Introduction

Games that involve more than one hosts

communicating over the network

23

Page 24: CS4344 09/10 Lecture 1: Introduction

24

Page 25: CS4344 09/10 Lecture 1: Introduction

Games that involve more than one player

communicating over the Internet/LAN

25

Page 26: CS4344 09/10 Lecture 1: Introduction

Turn-based Multi-player Games

26

Page 27: CS4344 09/10 Lecture 1: Introduction

Real-time Multi-player Gameshttp://www.gameslander.com/world-of-warcraft-game-review-94.phtml

27

Page 28: CS4344 09/10 Lecture 1: Introduction

We focus on real-time multi-player games in

CS4344

28

Page 30: CS4344 09/10 Lecture 1: Introduction

First Person Shooterhttp://playstation3.files.wordpress.com/2005/12/Unreal-tournament-2007-screenshot4.jpg

30

Page 31: CS4344 09/10 Lecture 1: Introduction

Real-time Strategy Gamehttp://www.auran.com/games/images/frontline_fields_of_thunder/screenshots/large1.jpg

31

Page 32: CS4344 09/10 Lecture 1: Introduction

We focus on real-time multi-player games in

CS4344

32

Page 33: CS4344 09/10 Lecture 1: Introduction

and other similar applications

33

Page 34: CS4344 09/10 Lecture 1: Introduction

http://www.defenselink.mil/transformation/images/photos/photo_archive/index_2005-05.html

Military Training Simulator

34

Page 35: CS4344 09/10 Lecture 1: Introduction

Networked Virtual Environmenthttp://www.archiveshub.ac.uk/blog/2007_04_01_archiveshubblog_archive.html

35

Page 36: CS4344 09/10 Lecture 1: Introduction

interactive,distributed simulations

36

Page 37: CS4344 09/10 Lecture 1: Introduction

An Abstract Model for Networked Games

37

Page 38: CS4344 09/10 Lecture 1: Introduction

A generic loop for games

Collect Events

Simulate Game

Render

Wait

38

Page 39: CS4344 09/10 Lecture 1: Introduction

A generic loop for games

Collect Events

Simulate Game

Render

Wait

GameStates

events

states

39

Page 40: CS4344 09/10 Lecture 1: Introduction

Time

States

Can be viewed as a sequence of states that changes over time, in reaction to events.

40

Page 41: CS4344 09/10 Lecture 1: Introduction

Time

A state can be discrete or continuous.

State changes over time

41

Page 42: CS4344 09/10 Lecture 1: Introduction

Time

Example events: user input, timer, messages from other hosts.

42

Page 43: CS4344 09/10 Lecture 1: Introduction

Time

A host may send messages to other hosts.Message can be state or event.

43

Page 44: CS4344 09/10 Lecture 1: Introduction

Example: Two-player Pong

States: position of peddles and ball Events: movement

44

Page 45: CS4344 09/10 Lecture 1: Introduction

Player A

Player B

A moves peddle

B moves peddle

Ball hits peddle

45

Page 46: CS4344 09/10 Lecture 1: Introduction

BasicCommunication Architectures

46

Page 47: CS4344 09/10 Lecture 1: Introduction

Centralized Architecture

47

Page 48: CS4344 09/10 Lecture 1: Introduction

Player A

Client sends events to the server. Server computes new states and updates clients with new states.

Player B

Server

48

Page 49: CS4344 09/10 Lecture 1: Introduction

Player A

Client sends events to the server. Server computes new states and updates clients with new states.

Player B

Server

49

Page 50: CS4344 09/10 Lecture 1: Introduction

or

Collect Events

Render

Wait

GameStates

events

states

Simulate Game

GameStates

50

Page 51: CS4344 09/10 Lecture 1: Introduction

“Smart” server, dumb clients

Role of serverMaintain statesSimulate gamesNotify clientsResolve conflicts

51

Page 52: CS4344 09/10 Lecture 1: Introduction

Dumb server, smart clients

Role of serverNotify clientsResolve conflicts

Role of clientsMaintain statesSimulate games

52

Page 53: CS4344 09/10 Lecture 1: Introduction

Player A

Clients simulate and maintain states. Server resolves conflicts and forwards events to clients.

Player B

Server

53

Page 54: CS4344 09/10 Lecture 1: Introduction

Collect Events

Simulate Game

Render

Wait

GameStates

events

statesServer

54

Page 55: CS4344 09/10 Lecture 1: Introduction

Point-to-Point Architecture

55

Page 56: CS4344 09/10 Lecture 1: Introduction

Point-to-Point Architecture

Role of clientsNotify clientsResolve conflictsMaintain statesSimulate games

56

Page 57: CS4344 09/10 Lecture 1: Introduction

Player A

Clients simulate the game, maintain states, and forward message to each other.

Player B

57

Page 58: CS4344 09/10 Lecture 1: Introduction

Collect

Simulate

Render

Wait

GameStates

Collect

Simulate

Render

Wait

GameStates

58

Page 59: CS4344 09/10 Lecture 1: Introduction

Player A

Maintaining consistency is not trivial.

Player B

59

Page 60: CS4344 09/10 Lecture 1: Introduction

Centralized vs. Distributed

60

Page 61: CS4344 09/10 Lecture 1: Introduction

Design Requirements

61

Page 62: CS4344 09/10 Lecture 1: Introduction

Responsive

(reacts to player’s action)

62

Page 63: CS4344 09/10 Lecture 1: Introduction

Consistent

(players have the same view of the game state)

63

Page 64: CS4344 09/10 Lecture 1: Introduction

Cheat Proof

(player cannot cheat)

64

Page 65: CS4344 09/10 Lecture 1: Introduction

Fair

(should be fair to all players)

65

Page 66: CS4344 09/10 Lecture 1: Introduction

Resource Efficient

(minimal amount of network traffic, CPU cycles, memory)

66

Page 67: CS4344 09/10 Lecture 1: Introduction

Scalable

(able to handle large number of players)

67

Page 68: CS4344 09/10 Lecture 1: Introduction

Robust

(able to handle failure gracefully)

68

Page 69: CS4344 09/10 Lecture 1: Introduction

Simple

(easy to implement/maintain)

69

Page 70: CS4344 09/10 Lecture 1: Introduction

Why Difficult?

70

Page 71: CS4344 09/10 Lecture 1: Introduction

Internet is a best-effort network

71

Page 72: CS4344 09/10 Lecture 1: Introduction

Packets take time to travel.

72

Page 73: CS4344 09/10 Lecture 1: Introduction

Packets can be dropped or corrupted

X

73

Page 74: CS4344 09/10 Lecture 1: Introduction

A hits ball

Ideally, updates should reach other players immediately, so that states are consistent at all time.

74

Page 75: CS4344 09/10 Lecture 1: Introduction

A hits ball

Delay and loss lead to inconsistent states.

X

75

Page 76: CS4344 09/10 Lecture 1: Introduction

number of players can be huge

76

Page 77: CS4344 09/10 Lecture 1: Introduction

77

Page 78: CS4344 09/10 Lecture 1: Introduction

78

Page 80: CS4344 09/10 Lecture 1: Introduction

Huge cost in network/CPU resources

80

Page 81: CS4344 09/10 Lecture 1: Introduction

players are competitive

81

Page 82: CS4344 09/10 Lecture 1: Introduction

http://www.msxsecurity.com/bbf21421.jpg

Players cheat to gain advantage

82

Page 83: CS4344 09/10 Lecture 1: Introduction

games should be fair to all players

83

Page 84: CS4344 09/10 Lecture 1: Introduction

network delay and losses

large number of users

cheating

84

Page 85: CS4344 09/10 Lecture 1: Introduction

Latency

Robustness

Conflict/Cheating

Consistency

Accounting

Scalability

Complexity

85


Recommended