david pevreal dip app sc, bit. lead programmer on the merkury engine, krome studios. titles:...

14

Upload: charles-watts

Post on 23-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy
Page 2: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

• David PevrealDip App Sc, BIT.

• Lead Programmer on the Merkury Engine, Krome Studios.

• Titles:Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy Neutron Boy Genius: Jet Fusion, King Arthur, TY the Tasmanian Tiger 1 & 2.

• Platforms:PC, Dreamcast, PS2, Xbox, Gamecube.

Who The Hell Am I?Who The Hell Am I?

Page 3: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Who The Hell Are You?Who The Hell Are You?

• PC Developers coming to console development

• Single console developers considering moving over to multi-sku

• Killing time until the next presentation

Page 4: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

From PC To Console:Console Manufacturer Requirements

From PC To Console:Console Manufacturer Requirements

• Just because you think your game is finished, that doesn’t mean the manufacturer will allow it to ship

• Guidelines like language and terminology, user interface, and memory card access are the most common failures

• Each platform is different, and sometimes platform requirements conflict!

Page 5: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

From PC To Console:Concatenate Files Into A Single Archive

From PC To Console:Concatenate Files Into A Single Archive

• You can’t dump hundreds or thousands of files into a directory like you can on a PC. There are file system limitations.

• How well you order the files inside the archive will have a big impact on your game’s load-speed performance

• There are load-time guidelines, so your game may not ship if it’s too slow to load!

Page 6: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

From PC to Console:Differing Development Philosophies

From PC to Console:Differing Development Philosophies

• Hardware is consistent

• Audience is different

• Memory is limited

• Game design should have given thought to hardware limitations of consoles

• Inflexible ship dates: late games often have to wait for the next “window” for manufacturer testing. This costs money.

Page 7: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Console DifferencesConsole Differences

• Input devices – each platform has a different controller, different buttons

• Storage capacity, PS2/Xbox use DVD (up to 9GB), GameCube uses a 1.4GB proprietry disk

• Alignment and endianness

• TRC/TCR/LotCheck requirements differ

Page 8: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Casualties of MultiplatformismCasualties of Multiplatformism

• Memory management

– Needs to be same on all platforms

– PS2 has problems using its MMU

– Needed to use a lowest common denominator approach

• Textures

– Each platform has different display characteristics

– PS2 needs indexed textures

Page 9: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Commercial RealitiesCommercial Realities

• Making games costs a lot of money – on average between 5 and 7 million

• Some decisions are made based on making more money, not a better game

• PS2 will most often be the lead platform in a multi-platform game

Page 10: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Interface Design: A Little Thought Now or Cripple Your Next Platform

Interface Design: A Little Thought Now or Cripple Your Next Platform

• Layer between hardware and game needs to be finely balanced

• Too thin and you’ll have problems porting

• Too thick and you’ll have performance problems

• The trick is to package up effects in ways that each platform can achieve the same result, but in different ways

Page 11: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Interface Design: Common Denominators Are Bad

Interface Design: Common Denominators Are Bad

• Avoid the temptation to expose common denominators among your platforms

• Keep interfaces high-level enough that platforms can implement the effect in a variety of different ways

• Avoid exposing limitations in interfaces if you can, instead try to hide the limitation artificially (if possible)

Page 12: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

Asset PipelineAsset Pipeline

• Time spent perfecting the asset pipeline is an investment

• Ensure your intermediate asset format doesn’t lose or change information

• From the intermediate format transform into a highly optimised and lightweight format specifically designed for each platform

Page 13: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

ConclusionConclusion

• Even if you’re coding an engine for one platform, keep an open mind now so that you can port later on

• Keep engine interfaces high level

• Study the TRC/TCR/LotCheck documents

• Spend time refining the asset pipeline

Page 14: David Pevreal Dip App Sc, BIT. Lead Programmer on the Merkury Engine, Krome Studios. Titles: Stargunner, Sunny Garcia Surfing, The Adventures of Jimmy

QuestionsQuestions