Embed
Email

UCLAN Lecture - Games _ UCLAN

Document Sample

Shared by: pengxuezhi
Categories
Tags
Stats
views:
0
posted:
1/5/2012
language:
pages:
15
Games Development 2

Console Development &

Middleware

CO3301

Week 12

Today’s Lecture



1. Comparing PC & Console Development

2. Development Environments

• Commercial Dev Kits

• Hobbyist Development

3. Middleware









Note: All material here can be found in the public domain

PC & Console Development



• Historically, console development has been much

closer to the hardware than the PC

– Known hardware specification

– Tendency to drive hardware with assembly language,

direct I/O, interrupts, etc.

– To get maximum performance





• Early PC games were similar, but gradually moved

to higher level programming

– Due to wide range of possible hardware

– Two layer approach – API Driver

PC & Console Development

• Lifespan of a console is up to 7-8 years

– Between release and eventual fall from use

– E.g. PS1: 1994->2002, PS2: 2000->2008



• Hardware barely changes during this time

– Need to gain maximum performance, especially during

latter years

– Low level work essential for best performance



• PC hardware constantly evolves

– Can increase minimum spec slightly every year

– Higher level approach more suitable

Current Gen: PC vs Console



• However, the current generation of consoles are

more similar to a PC than previous

– Multi-core CPU

– Powerful GPU (similar to PC variants)

– Concurrent programming very important

– Shader programming key for graphics



– Games of similar standard

• Although PC games often have better graphics now

– Ability to develop using higher level API’s

• E.g. OpenGL ES, XNA

Current Gen: PC vs Console



• Still important differences between PC and

console development:

• Hardware is known

– Important general differences, e.g. may need to rely on

removable media

• Closer integration between parts

– E.g. CPU / GPU memory have symmetrical

performance (shared on 360), unlike a PC

• Low-level development still key

– Especially for commercial games

– Custom development environments for this

Commercial Development: Dev Kits



• Commercial console development requires a

Development Kit (Dev Kit)

– A special form of console that can be hooked into a PC

for programming / debugging etc.





• Supplied with a custom SDK

– Development environment

– Compiler and linker

– Graphics, Sound, Storage and other libraries

– Complete technical and software documentation

Commercial Development



• Dev kits must be licensed:

– Apply to platform holder

– Only experienced & viable developers accepted

– Licensing is easier later in console lifecycle

– Developer must sign NDA (Non-Disclosure Agreement)

• Dev kit details are a trade secret





• Dev kits are expensive

– £10,000+ each at launch

– Price drops with time

– Fair sized team can expect outlay > £100,000

PS3 Development Kit



• Playstation 3 dev kits (called the PS3 Reference Tool)

cost ~£1,500 each:









Current Dev Kit is same Original Dev Kit

shape as standard PS3



• Includes development tools (SN Systems):

– ProDG – development environment

– Distributed C++ compiler, linker, build tool

• Can compile and link on multiple PCs

PS3 Development Kit



• Two graphics libraries are part of the SDK:

– libgcm: low-level – direct access to RSX chip and

graphics memory

– PSGL: [rarely used] implementation of OpenGL ES (full

source code provided)



• Also a full game engine – PhyreEngine is available

(free for developers)

• Use a special debugging station for testing

– Standard console that can run discs burned by the

developer (effectively no copy protection)

Xbox 360 Development Kit



• An Xbox 360 dev kit cost Old Version

~£4,600 in late 2008

– Latest version is much less

than that now

New Version

• Compiles C or C++ using

Visual Studio variant



• Uses variations of PC libraries:

– DX 9+: like DX9 with low level extras

(command buffer, predicated tiling)

– XAudio2: Successor to DirectSound

– Many low level tools provided

Hobbyist Development



• The cost & licensing of professional development

kits prohibits hobbyist or homebrew games



• However, there are various free methods of

developing on consoles

– Official hobbyist development environments

– Otherwise, various methods to boot up development

environments on a normal console



• Hobbyist apps less potent than commercial:

– Limited tools, generic or simplified libraries

– Sometimes a lack of low-level hardware access

XNA



• XNA is a Microsoft-supported cross-platform

development environment for hobbyists

– Allows development for both Windows and Xbox 360

with the same code

– Requires subscription for Xbox360 development

• C# based

– Supersedes Managed DirectX

– Can be performance issues due to this

• Good collection of tutorials, samples etc.



• Not used in major commercial titles

Middleware

• Middleware traditionally describes software used

to connect different components or applications

• However, in games development, the term

middleware is used differently, describing self-

contained software libraries

– Performing distinct tasks, e.g. AI, physics or rendering

– I.e. Use middleware instead of own technology

• Typically this allows the developer to cut costs

– Less technology to develop

– Rely instead on a pre-built, robust solution

– At the expense of flexibility for their own needs

Middleware



• Middleware ranges from very general engines, to

specialist technologies



• A wide range of examples:

– Unreal [free], Unity [free], Source, etc. (Game engines)

– Havok, Bullet (Physics [both free])

– Euphoria (human animation synthesis)

– SpeedTree (Tree rendering)

– RAD Game Tools (e.g. Bink video)

– CRIWARE (audio, video)

– fmod (audio [free]), ScaleForm (vector UIs) etc.

– [Those noted as free are for non-commercial use only]



Related docs
Other docs by pengxuezhi
Book 1.indb
Views: 5  |  Downloads: 0
Bone Marrow Donation My Story
Views: 11  |  Downloads: 0
bocesaudit
Views: 4  |  Downloads: 0
BOB Profile-Sept05
Views: 7  |  Downloads: 0
Bloomsbury rights list
Views: 4  |  Downloads: 0
Blog Archive
Views: 4  |  Downloads: 0
Birmingham - Budget Rent-A-Car UK
Views: 4  |  Downloads: 0
By registering with docstoc.com you agree to our
privacy policy

You are almost ready to download!

You are almost ready to download!