35
Web Game Design 授課教師 江素貞

Les 1 ppt

Embed Size (px)

Citation preview

Page 1: Les 1 ppt

Web Game Design

授課教師江素貞

Page 2: Les 1 ppt

Web Game Landscape

Page 3: Les 1 ppt

Web game A web game is a game hosted on a website and played

through a web browser.

With tens of thousands of them on the Internet, one thing

is clear: web-based games are tremendously popular.

In this chapter, we briefly explore client technology,

typical goals of web games, and how this all relates to

multiplayer games.

Page 4: Les 1 ppt

Client-side Technology Web-base games are created using a number of different

platforms.

The platform provide you with a programming language

and a way to compile it into game content publishable to

the web.

A virtual machine is software that your web browser uses

to know how to run compiled content. Adobe’s Flash

virtual machine is just called Flash Player.

Page 5: Les 1 ppt

Flash for Client-side Flash is the most-used platform for creating web-based

games.

Flash bridges the gap between artist and programmer very well.

DeveloperLearning Curve

Run-timePerformance

Virtual MachineInstallation base

Ease of Development

Java High Fast Medium Moderate

Unity Medium Fast Small Moderate

Flash Low Moderate Large Easy

Page 6: Les 1 ppt

Typical Goals This section classifies most web games into some general

categories that attempt to answer the question, why was

this game made?

However, you should keep these goals in mind when

designing a game, so that your game design supports what

you are trying to achieve.

Page 7: Les 1 ppt

Typical Goals A multiplayer perspective is added that can help support

the goal.

Generating banner ad revenue

Making your site even stickier

Marketing

Driving Downloads

Education

Providing subscription value

Because I can

Page 8: Les 1 ppt

Generating Banner Ad Revenue You try to attract as many people to your site as possible,

and keep them on it as long as possible, to generate a large

number of ad impressions.

If keep users around longer is the goal, then giving users

the ability to chat adds a new layer to tour site that will

give users another reason to stick around.

Page 9: Les 1 ppt

Making Your Site Even Stickier Sometimes games are created and put non-game websites

in an attempt to get visitors to stay longer.

If a user stays on tour web-site to play a game, then maybe

that user will exercise other aspects of the website when

not playing the game.

The goal is to get users to use the game for a while and

then browse the site.

Page 10: Les 1 ppt

Marketing Games are often created to promote things like movies,

TV shows, consumer products, and events.

Sometimes this approach is mixed with ad banners.

Mattel’s Rebellion Race game

(www.hotwheels.com/games/rebellion/index.aspx), which

allows the real-time multiplayer car-racing game to

promote the company’s toy cars.

Page 11: Les 1 ppt

Driving downloads The casual game download market is huge and very

successful.

Site like Real Arcade (www.realarcade.com) and Big Fish

Games (www.bigfishgames.com) promote many of their

downloadable games with free lightweight web games.

The web game is a sample of what you would download.

You get hooked with the web game, and then download

and pay for the full game.

Page 12: Les 1 ppt

Education Educational games can greatly benefit from multiplayer

concepts. There are many possibililies here such as

driving the desire to learn more through competition

giving learners assistance in real time

providing one-on-one creative training approaches

Page 13: Les 1 ppt

Providing Subscription Value By paying a monthly subscription, users gain access to

regular new features and content.

Most site like these are virtual worlds.

Club Penguin (www.clubpenguin.com)

Faraway Friends (www.farawayfriends.com)

One of the most attractive parts of a virtual world is the

social aspect.

Page 14: Les 1 ppt

Because I can This is one of the most common motivations for creating

games─developers just want to create something.

Page 15: Les 1 ppt

Connecting Users

Page 16: Les 1 ppt

Introduction How do users get information about each other?Are they

directly connected to each other, or is something else

going on?

Here will describe the most common way this interaction

is handled.

Page 17: Les 1 ppt

Connection Techniques Typically, clients can interact with each other in one of

two primary ways:

Peer to peer. Information is transferred between clients

without the use of a server.

Client-server. A clients sends information only to the server.

The server then transfers information to clients.

Page 18: Les 1 ppt

Peer to peer A server may have been used to allow then to find each

other in the first place, but is not used after that.

fully connected topology

ring toplogy

Generally speaking, peer to peer is not used much in

gaming. However, peer to peer is alive and well for file-

sharing networks, and is also being used successfully to

distribute patches for games like World of Warcraft.

Page 19: Les 1 ppt

Peer to Peer In a fully connected peer to peer setup, all clients connect

to each other.

Page 20: Les 1 ppt

Client-Server This category has two primary approaches:

polling

persistent socket connections

A persistent socket connection, through the use of a socket

server, is the most common approach.

Page 21: Les 1 ppt

Client-Server In a client-server setup, clients communicate with the

server to exchange information.

Page 22: Les 1 ppt

Socket Servers A socket server is a program running somewhere, listening

for connection attempts.

Socket server exist at an IP address or hostname and listen

for connections on at least one port.

When a client establishes a connection with a socket

server, the have opened up a persistent socket connection

with the server.

Updates in a socket-server application are event-driven

and real-time. (Internet latency is still something to be

dealt with in some games)

Page 23: Les 1 ppt

Polling Polling is an approach that rarely makes sense to use.

Polling is the act of a client making a request to the server

on a timed interval to check for updates. (A client is never

connected to the server)

Page 24: Les 1 ppt

Polling A client is polling the server

repeatedly looking for

updates, and usually there are

none.

Page 25: Les 1 ppt

Where Decisions are Made

Page 26: Les 1 ppt

Concepts In multiplayer games, logic can be found on both the

client and on the server. But if game logic can exist in

both places, which has the authority to make important

decisions? And why?

Games that have most important decisions being made on

the client are called authoritative client, and those that

have most important decisions being made on the server

are called authoritative server.

Page 27: Les 1 ppt

Authoritative Client The server is used simply to route messages between the

clients.

We’ll see one example of when decision-making on the

client works and one where it doesn’t.

Page 28: Les 1 ppt

Authoritative Client An example: consider a two-player, turn-based game of

pool.

Good choice for a simple game of pool.

Page 29: Les 1 ppt

Authoritative Client An example: consider a two-player, real-time tank-shooter

game.

Not such a good choice for a real-time tank-shooter game.

Page 30: Les 1 ppt

Authoritative Server Tank game is an example of an authoritative client that

leads to a disagreement between the clients. The solution

to this problem is to move that important decision-making

to the server.

In an authoritative server, the server is the single decision

maker, so there is never any confusion about what is going

on.

Page 31: Les 1 ppt

Authoritative Server The same real-time tank-

shooter game, now controlled

on the server.

Page 32: Les 1 ppt

When to Use Which Model A turn-based game where all of the information is know

will most likely fit into an authoritative client model.

(There is nothing left up to chance and nothing left to be

revealed.)

Some games that fit these criteria are chess, checkers,

Connect Four, and pool.

Page 33: Les 1 ppt

When to Use Which Model Most real-time games (games where there are no turns)

will automatically need to be authoritative server.

Texas Holdem Pocker

Monopoly

Car racing game.

Page 34: Les 1 ppt

ElectroServer Plugin Concepts Extensions are used to extend the functionality of the

server. Three types of extensions:

Managed objects.

Event handlers

Plugins.

A plugin is custom code run on the server. If your are

going to write an authoritative server game, you need to

write a plugin.

A plugin can be conceptualized as a class.

Page 35: Les 1 ppt

Talking to Plugins Since games take place between users in a room

together, the plugins that are most useful for our purposes

are room-level plugins.

Once the room is created, the client can communicate with

the plugin through the API.

Custom information is passed from the client to the plugin

or from the plugin to the client through the use of

EsObjects.