97
CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Embed Size (px)

Citation preview

Page 1: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

CSCE 552 Spring 2009

Network/Multiplayer and Audio

By Jijun Tang

Page 2: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Announcements - 1

April 20th (Monday): third presentation Expected: working demo from start to finish, with

at least one level finished You can send me your current code so I can

play it a bit Homework 4

Evaluate the best and worst games with AI, strength and weakness

6 points total Due April 15th

Page 3: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Announcements - 2

Public Demo 2:00pm, May 5th, Tuesday Location: TBA

Set up Show the design (ppt) Show the game (demo) Allow others to play

Page 4: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

PathPlannerApp Demo

Page 5: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Characteristics of Grids

Fast look-up Easy access to neighboring cells Complete representation of the level

Page 6: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Waypoint Graph

A waypoint graph specifies lines/routes that are “safe” for traversing

Each line (or link) connects exactly two waypoints

Page 7: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Navigation Meshes (continued)

Page 8: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Random Trace (continued)

How will Random Trace do on the following maps?

Page 9: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Overall Structure of the Algorithms

1. Create start point node – push onto open list2. While open list is not empty

A. Pop node from open list (call it currentNode)B. If currentNode corresponds to goal, break from step 2C. Create new nodes (successors nodes) for cells around currentNode and push them onto open listD. Put currentNode onto closed list

Page 10: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Breadth-First

Finds a path from the start to the goal by examining the search space ply-by-ply

Page 11: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Best-First (continued)

Page 12: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

A*

Uses both heuristic cost and given cost to order the open list

Final Cost = Given Cost + (Heuristic Cost * Heuristic Weight)

Page 13: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Start Node and Costs

F=G+H

Page 14: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Cost Map

Page 15: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Multiplayer Modes:Event Timing

Turn-Based Easy to implement Any connection type

Real-Time Difficult to implement Latency sensitive

Page 16: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Multiplayer Modes:Shared I/O

Input Devices Shared keyboard layout Multiple device mapping

Display Full Screen and Screen Swap Split Screen

Page 17: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Split Screen

Page 18: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Multiplayer Modes:Connectivity

Non Real-Time Floppy disk net Email Database

Direct Link Serial, USB, IrD, … (no hops)

Circuit Switched (phones) Dedicated line with consistent latency

Packet Switched Internet Shared pipe

Page 19: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocols:Protocol Design

Packet Length Conveyance Acknowledgement Methodology Error Checking / Correcting Compression Encryption Packet Control

Page 20: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocols:Packets

Packets Header = Protocol Manifest Payload

Gottchas Pointers Large/Variable Size Arrays ADTs Integer Alignment Endian Order Processor dependant Intrinsic Types (int and long) Unicode vs. ASCII Strings

Page 21: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocols: Request for Comments

RFC web site http://www.rfc-editor.org/

Protocol Specifications Definitive Resource Public Criticism Future Protocols

Page 22: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Example Packets

IP Packet TCP Packet

Page 23: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack: Open System Interconnect

R outer

Sender R eceiver

Ne two rk

D a ta L in k

Physica l

Ne two rk

D a ta L in k

Physica l

App lica tio n

Pre se n ta tio n

Session

T ra nspo rt

Ne two rk

D a ta L in k

Physica l

App lica tio n

Pre se n ta tio n

Session

T ra nspo rt

Ne two rk

D a ta L in k

Physica l

G am e E vents

G am e P ac k et iz at ion

Connec t ion & Data E x c hange

Input UpdatesS tate Updates

S eria liz at ionB uffering

S oc k ets

TCPUDP

IP

E thernet (M A C)

W ired (C5, Cable)F iber O pt ic sW ire les s

Page 24: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Another View

Page 25: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Physical Layer

Bandwidth Width of data pipe Measured in bps = bits per second

Latency Travel time from point A to B Measured in Milliseconds You cannot beat the physics

The Medium Fiber, FireWire, IrD , CDMA & other cell

SerialUSB1&2

ISDN DSL CableLAN

10/100/1GBaseT

Wireless802.11a/b/g

Power Line

T1

Speed(bps)

20K12M

480M128k

1.5M down896K up

3M down256K up

10M100M

1G

b=11Ma,g=54M

14M 1.5M

Table: Max Bandwidth Specifications

Page 26: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Data Link Layer

Serializes data to/from physical layer Network Interface Card (NIC)

Ethernet MAC Address

Page 27: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Network Layer

Packet Routing Hops Routers, Hubs, Switches

Internet Protocol (IP) Contains Source & Destination IP Address IPv4

Widespread Infrastructure

IPv6 Larger IP address

Page 28: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Network Layer: IP Address

Unicast Static DHCP

Multicast Requires multicast capable router

Broadcast Local Directed

Loop Back Send to self

Page 29: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Multicast and Broadcast

Page 30: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Network Layer: DNS

Domain Name Service Converts text name to IP address Must contact one or more DNS servers to resolve Local cache resolution possible

Game Tips Store local game cache to use when DNS out of

order. DNS resolution often slow, use cache for same

day resolution.

Page 31: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

DNS

Page 32: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Transport Layer Manage data deliver between endpoints

Error recovery Data flow

TCP and UDP used with IP Contains Source and Destination Port TCP is connection-oriented, UDP is

connectionless Port + IP = Net Address

Port Range = 0-64k Well known Ports 0-1k

Page 33: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Transport Layer: TCP

Guaranteed Correct In Order Delivery Acknowledgement system: Ack, Nack, Resend Checksum Out of Band

Connection Required Packet Window Packet Coalescence (united) Keep Alive

Streamed Data User must serialize data

Page 34: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Transport Layer: UDP

Non Guaranteed Delivery No Acknowledgement system May arrive out of order Checksum

Not Connected Source not verified Hop Count Limit = TTL (time to live) Required for Broadcasting

Datagram Sent in packets exactly as user sends them

Page 35: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

TCP/UDP Comparison

Page 36: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Session Layer

Manages Connections between Apps Connect Terminate Data Exchange

Socket API live at this layer Cross platform Cross language

Page 37: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Session Layer: Sockets

Based on File I/O File Descriptors Open/Close Read/Write

Winsock Provides standard specification implementation

plus more Extension to spec prefixed with “WSA” Requires call to WSAStartup() before use Cleanup with WSAShutdown()

Page 38: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Session Layer: Socket Design

Modes Blocking Non-Blocking

Standard Models Standard Select

Extended Models Windows

WSAEventSelect I/O Completion Ports

Unix Poll Kernel Queues

Page 39: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Socket Programming

Page 40: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Socket Programming-2

Page 41: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Socket Programming -3

Page 42: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Socket Programming -4

Page 43: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Presentation Layer

Prepares App Data for Transmission Compression

Pascal Strings String Tables Float to Fixed Matrix to Quaternion

Encryption Endian Order

When used cross platform or cross language Serialize

Pointers Variable Length Arrays

Page 44: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Endian Order

Page 45: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Presentation Layer: Buffering

Packet Coalescence

Induced Latency

Dead Data

Large Packets

Page 46: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Protocol Stack:Application Layer

Handles Game Logic Update Models

Input Reflection State Reflection

Synchronization Dead Reckoning AI Assist Arbitration

Page 47: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Real-Time Communications:Connection Models

Broadcast Good for player discovery on LANs

Peer to Peer Good for 2 player games

Client / Server Good for 2+ player games Dedicated lobby server great for player

discovery

Page 48: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Real-Time Communications:Peer to Peer vs. Client/Server

Broadcast Peer/Peer Client/Server

Connections 0Client = 1Server = N

N = Number of players

Broadcast Peer/Peer Client/Server

Send 1 N-1Client = 1 Server = N

Receive N-1 N-1Client = 1Server = N

1

1

N

x

x

P 1 P 2

P 1

P 2 P 3

P 1 P 4

P 2 P 3

P 1

P 2 P 5

P 3 P 4

2 p lay er s1 c o n n ec tio n

3 p lay er s3 c o n n ec tio n s

4 p lay er s6 c o n n ec tio n s

5 p lay er s1 0 c o n n ec tio n s

Page 49: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Encryption Goals

Authentication

Privacy

Integrity

Page 50: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Encryption Methods

Keyed Public Key Private Key Ciphers

Message Digest Certificates IPSec (Internet Protocol Security)

Page 51: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

IPSec

Page 52: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Copy Protection

Disk Copy Protection Costly Mastering, delay copies to ensure

first several months’ sale Invalid/Special Sector Read

Code Sheets Ask code from a line in a large manual

Watermarking

Page 53: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Execution Cryptography

Code Obfuscation Strip Symbols: int numOfPlayer;int a1;

Heap Hopper Move sensitive data around in the heap to avoid

snapshots Stack Overrun Execution

Check for buffer overflow Timer Hacking

Do not allow time to change backward DLL Shims

Page 54: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Privacy

Critical data should be kept secret and strong encrypted: Real name Password Address/phone/email Billing Age (especially for minors)

Using public key for transforming user name and password

Page 55: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Firewalls

Packet Filter Allow a packet based on its headers

Proxies Check contents

Circuit Gateways Setup secure sessions

Page 56: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Firewalls: Network Address Translation

LAN Add re ss W AN Add re ss

1 92 .1 6 8 .1 .1 :2 0 0 2 4 .1 5 .1 .1 1 8 :2 0 0

1 92 .1 6 8 .1 .1 :2 0 1 2 4 .1 5 .1 .1 1 8 :2 0 1

1 92 .1 6 8 .1 .2 :1 9 9 2 4 .1 5 .1 .1 1 8 :1 9 9

1 92 .1 6 8 .1 .2 :2 0 0 2 4 .1 5 .1 .1 1 8 :4 0 0 0*

I S P

W AN I P2 4 .1 5 .1 .1 1 8

L AN I P1 9 2 .1 6 8 .1 .1

L AN I P1 9 2 .1 6 8 .1 .2

N A TR eq u es ted P o r ts2 0 02 0 1

R eq u es ted P o r ts1 9 92 0 0

R o u ter

Page 57: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Security:Firewalls: NAT Traversal

Port Forwarding

Port Triggering

DMZ

Determining WAN IP

Page 58: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Summary:Further Study

Socket Programming Serial Communication Server Design Network Gear & Infrastructure VOIP Tools of the Trade Unit & Public Beta Testing Middleware Databases Web Development Asynchronous Programming

Page 59: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Audio Programming

Page 60: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Audio Programming

Audio in games is more important than ever before

Page 61: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Programming Basic Audio

Most gaming hardware has similar capabilities (on similar platforms) Mostly programming interfaces differ

Learning fundamental concepts of audio programming is important

Page 62: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

API Choices

DirectSound (part of DirectX API) Only available on Windows platforms XACT for XNA

OpenAL Newer API Available on multiple platforms

Proprietary APIs Typically available on consoles

3rd Party Licensable APIs Can offer broad cross-platform solutions

Page 63: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Analog Sound Wave

Page 64: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Basic Audio Terminology and Physics

Amplitude Measurement of a sound wave’s pressure

Frequency Measurement of the interval between wave cycles,

typically measured in Hertz Pitch

The perception of frequency Tuning

Musical distribution of frequencies over keys Decibel

Measures sound amplitude

Page 65: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Digital Representation of a Sound Wave

Page 66: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sampling

Most common technique Sampling involves measuring the amplitude

of the analog wave file at discrete intervals The frequency of sampling is known as sampling

rate Each sample is typically stored in a value ranging

from 4 to 24 bits in size The size of the sample value in bits is known as

the ‘bit depth’ Music CDs have a sample rate and bit depth of

44.1 kHz (samples/sec) and 16 bits (sample size)

Page 67: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Quantization Error in Sampling

Page 68: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Bit Depth and Signal Noise

Bit depth of sample data affects signal noise Signal to noise ratio = number of available bits /

1 For example, 8-bit samples have a 256:1 SNR

(~48 dB), and 16-bit samples have a 65,536:1 SNR (~96 dB)

Decibel ratio is calculated using 10 x log10 (ratio) or 8.685890 x log e (ratio)

Page 69: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sampling Frequency and Frequency Reproduction

Sampling frequency affects range and quality of high-frequency reproduction

Nyquist Limit Frequencies up to one-half the sampling

rate can be reproduced Audio quality degrades as frequency

approaches this limit

Page 70: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sampling Errors vs. Sampling Frequency

Page 71: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Modern Audio Hardware

Samples are piped into sound “channels” Often a hardware pipeline from this point

Various operations, such as volume, pan, and pitch may be applied

3D sounds may apply HRTF algorithms and/or mix the sound into final output buffers.

Page 72: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sound Playback Techniques

Two basic playback methods:1. Play sample entirely from memory buffer2. Stream data in real-time from storage medium

Streaming is more memory efficient for very large audio files, such as music tracks, dialogue, etc

Streaming systems use either a circular buffer with read-write pointers, or a double-buffering algorithm

Page 73: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Playback

Page 74: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sample Playback and Manipulation

Three basic operations you should know Panning is the attenuation of left and right

channels of a mixed sound, results in spatial positioning within the aural stereo field

Pitch allows the adjustment of a sample’s playback frequency in real-time

Volume control typically attenuates the volume of a sound

Page 75: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Compressed Audio Format

Compressed audio formats allow sound and music to be stored more compactly

Bit reduction codecs generally are lightweight ADPCM compression is implemented in hardware on all th

e major current video game console systems Psycho-acoustic codecs often have better compres

sion Discard sounds our ears would not typically be able to hea

r Require substantially more computational horsepower to d

ecode

Page 76: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

MP3, Ogg Vorbis,Licensing & Patent Issues

The MP3 format is patented Any commercial game is subject to licensing term

s as determined by Fraunhofer & Thompson Multimedia, the holders of the patents

Ogg Vorbis is similar to MP3 in many ways Open source and patent-free (royalty-free)

Be aware of patent and license restrictions when using 3rd party software

Page 77: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

3D Audio

Two sets of data required when working in world coordinates: Listener Data

Composed of world position and orientation (virtual microphone in the world)

Source Data Composed of sound position, orientation,

velocity, etc (virtual sound source in the world)

Page 78: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Listener/Source

Page 79: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Environmental Effects

Environmental effects nearly always implemented in hardware

Sound transmission is categorized in three ways Direct transmission Early reflections (echo) Late reflections (reverberation)

Page 80: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Sound Transmission Categories

Page 81: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

EnvironmentalEffects Standards

EAX 2.0 and beyond EAX 2.0 developed by Creative Labs and

released as an open standard EAX 3.0 and 4.0 remain proprietary

Creative Labs standards I3DL2

Open standard developed by IA-SIG, similar to EAX 2.0 in functionality

Page 82: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Programming Music Systems

Two common music systems MIDI-based systems

(Musical Instrument Digital Interface) Digital audio streaming systems

(CD audio, MP3 playback, etc)

Page 83: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Advantages and Disadvantages of MIDI

Actual music data size is negligible Easy to control, alter, and even

generate in real-time High quality music is more difficult to

compose and program Only effective if you can guarantee

playback of a common instrument set

Page 84: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Example

Page 85: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Other MIDI-based technologies to be aware of

DLS (DownLoadable Sound) Format A standardized format for instrument defi

nition files iXMF (Interactive eXtensible Music For

mat) New proposed standard for a container fo

rmat for interactive music

Page 86: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Advantages / Disadvantages of Digital Audio Streams

Superb musical reproduction is guaranteed

Allows composers to work with any compositional techniques

Some potential interactivity is sacrificed for expediency and musical quality

Generally high storage requirements

Page 87: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

A Conceptual Interactive Music Playback System

Divide music into small two to eight-bar chunks that we’ll call segments.

A network of transitions from segment to segment (including loops and branches) is called a theme.

Playing music is now as simple as choosing a theme to play. The transition map tracks the details.

Page 88: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Advanced Audio Programming

3D Audio Environmental Effects Integration

Audio Scripting and Engine Integration Lip-sync Technology Advanced Voice Playback Voice Recognition

Page 89: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

3D Audio Environmental Effects Integration

Environmental effects should be driven by a room’s shape and material composition. Can determining the optimal effect

settings be done automatically? This may be important as game worlds

become larger and more complex

Page 90: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

3D Audio Environmental Effects Integration (cont)

Sound occlusion and damping is a particularly difficult problem to solve This is essentially a pathfinding problem

for audio. Doors can dynamically affect a sound’s

properties Very few titles have even attempted a

robust, general-purpose, and automated solution to these problems.

Page 91: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Room Acoustics

Page 92: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Dynamic Occlusion

Page 93: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Audio Scripting and Engine Integration

Very little audio programming should be done by general game programmers

Game Engine should offer robust support for audio triggers and scripts

Engine should deal with audio scripts, not “sound files”

Why is this so important?

Page 94: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Audio Scripting

Many situations require much more information than can be embedded in a linear audio file Sound Variation Sound Repetition Complex Sound Looping Background Ambience

Page 95: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Lip-sync Technology

Lip-sync technology is a blending of audio and visual techniques to create realistic-looking speech by in-game actors. Simple techniques such as waveform amplitude

measurement has worked previously, but… In future titles, it will be considered inadequate. Much work can still be done in this field.

Page 96: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Advanced Voice Playback

Real-time spoken feedback is especially important in sports titles (simulated announcers)

Game are reaching the limits of what current techniques (canned, prerecorded phrases combined in series) can provide.

Again, this is an opportunity for future groundbreaking audio work.

Page 97: CSCE 552 Spring 2009 Network/Multiplayer and Audio By Jijun Tang

Voice Recognition

Spoken commands are much easier to deliver in certain situations.

A great example of this? Squad-based tactical shooters.

Current generation systems are still very error prone. A great opportunity for breakout audio technology.