Download - Software Engineering and Game Design
![Page 1: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/1.jpg)
Software Engineering
and Game Design
By: Gavin Kinsley
![Page 2: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/2.jpg)
2
• The Evolution of Game Development
• Video Game Development Process
• Engines
• Getting Into the Game/Or Not?
• Importance of Software Engineers
![Page 3: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/3.jpg)
3
– Most games were developed by single programmers.
– No documentation or brainstorming– “Dirty Programming”– Very simple designs, mainly due to the fact that
there was not a lot to work with (2D graphics for example)
•Beginnings
![Page 4: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/4.jpg)
4
Evolution of Game Development
• Example of a side scrolling game for a home console
![Page 5: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/5.jpg)
5
– Console, Computer, and Arcade become more popular.
– Teams grow to having more people involved (groups of between 5 and 10) to create the games
– Still not much time used for design– Not much documentation– Developers now begin to see effects of
minimal design.
•Popularity Grows
![Page 6: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/6.jpg)
6
Evolution of Game Development
• Example of a early single player 3D-game
![Page 7: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/7.jpg)
7
Evolution of Game Development
• Video Game Breakthrough– Design becomes more important piece to
game development.– Multiple teams make up video game creation
(sound, graphics, programmers, etc.)– Development broken down into smaller pieces
but still teams are working on big “chunks” of the project.
![Page 8: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/8.jpg)
8
Evolution of Game Development
![Page 9: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/9.jpg)
9
• Video Game Breakthrough– Design becomes most important
piece to game development.– More teams added to make video games
more realistic and get better results and size of team increases
– More people added speed to the creation of the games and also more insight.
– Breakdown into many pieces.
![Page 10: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/10.jpg)
10
![Page 11: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/11.jpg)
11
Video Game Development Process
• Pre-Production– Pitch needs to get approval– Design document is needed– Prototypes may be necessary– Artists may make preliminary sketches of
different aspects of the game– Design document is most important piece
because it is used throughout the next phases of development as a “living document”
![Page 12: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/12.jpg)
Video Game Development Process
• Production– Most of work gets done in this portion of the
development process– Tons of source code is created and discarded– Sound developers and sound engineers work
together to create sound effects and overall game music
– Features are added and removed constantly and must all be documented
![Page 13: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/13.jpg)
Video Game Development Process
• Production continued– Not uncommon of development of first level of
the game to take up to 12 months to create alone
– Testers are also introduced to project whenever any piece of the game can be run
![Page 14: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/14.jpg)
14
Video Game Development Process
• Milestones– Use the idea of milestones to give teams
deadlines on the different pieces of the project– Before most deadlines teams enter “crunch
time”– A lot of extra time is put in by the members of
all the teams on the project during this time.– Burnout
![Page 15: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/15.jpg)
15
Video Game Development Process• Testing
– No unit level testing -- heavy reliance on System level test.
– Separate team solely for testing the project– Need to not only carry out tests on new
features but also regression tests.– Regression testing is one of the most
important aspects in game development
– Single change can make a game unplayable
![Page 16: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/16.jpg)
16
Video Game Development Process
• Maintenance– Has always been an important aspect of
computer based games– Patches are an easy way to fix game bugs
after shipment– Used to not be as important to console games
but are becoming a more popular way to fix bugs.
– Mods
![Page 17: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/17.jpg)
17
– Most games take between 1 and 3 years to complete.
– Dependent on many factors (development platform, amount of assets, genre, COTS, etc)
– Assets is not people power but more reuse of code.
•Duration
![Page 18: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/18.jpg)
18
Video Game Development Process
![Page 19: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/19.jpg)
19
Engines• It provides the underlying technologies,
simplifies development, and often enables the game to run on multiple platforms such as game consoles and desktop operating systems.
• Core functionality typically provided by a game engine includes a rendering engine (“renderer”) for 2D or 3D graphics, a physics engine or collision detection, sound, scripting, animation, artificial intelligence, networking, and a scene graph.
![Page 20: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/20.jpg)
20
Engines
• Brief History– Started in 1990 with first person shooter
games.– The Doom and Quake engine were first very
popular engines.– Most companies used these popular images
and then created their own characters, levels, etc. to cut down on project time.
– Price can range from $10,000 – $3,750,000
![Page 21: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/21.jpg)
21
• Some companies now just create Some companies now just create “middleware” exclusively“middleware” exclusively
• Their goal is to basically “Pre-Invent”Their goal is to basically “Pre-Invent”
• They are creating software that could They are creating software that could possibly be useful in creating gamespossibly be useful in creating games
• This is risky but could show to be This is risky but could show to be rewarding as well.rewarding as well.
![Page 22: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/22.jpg)
22
– Designed by Epic Games in 1998– Has been used successfully
in 1st person as well as 3rd person shooter games
– Used for computer as well as console games
– The core of the code is written in C++
– Game play code is written in UnrealScript
•Unreal Engine
![Page 23: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/23.jpg)
23
Engines
![Page 24: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/24.jpg)
24
Engines
– Similar to java– Object-Oriented– Automatic Garbage Collection– Strong Type-Checking at Compile
Time– Wanted code to be simple and
readable
•Unrealscript
![Page 25: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/25.jpg)
25
Engines class TriggerLight expands Light;
//--------------------------------------------------------------// Variables.
var() float ChangeTime; // Time light takes to change //from on to off.
var() bool bInitiallyOn; // Whether it's initially on.
var() bool bDelayFullOn; // Delay then go full-on.
var ELightType InitialType; // Initial type of light.
var float InitialBrightness; // Initial brightness.
var float Alpha, Direction;
![Page 26: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/26.jpg)
26
Engines //--------------------------------------------------------------------------
// Engine functions.
// Called at start of gameplay.
function BeginPlay()
{
// Remember initial light type and set new one.
Disable( 'Tick' ); InitialType = LightType;
InitialBrightness = LightBrightness;
if( bInitiallyOn ) { Alpha = 1.0; Direction = 1.0; }
else { LightType = LT_None; Alpha = 0.0; Direction = -1.0; }
}
![Page 27: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/27.jpg)
27
![Page 28: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/28.jpg)
28
![Page 29: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/29.jpg)
29
Getting Into the Game
• Why get into game development?– Statistics
• According to ESA (Entertainment Software Association) 60% of all Americans 6 and older play video games.
• Of this 60%, 35% say video games is the most fun activity with 18% saying television is the most fun activity, and 11% saying watching movies is the most fun activity.
![Page 30: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/30.jpg)
30
Getting Into the Game
• The average American video game player is 33 years old
• U.S. computer and video game software sales grew four percent in 2005 to $7 billion -- more than doubling of industry software sales since 1996
• The average age of the game buyer is 40 years old.
![Page 31: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/31.jpg)
31
Getting Into the Game
• PC game sales took in $970 million in 2006 with console games taking in $13.5 billion, these figures are solely for the US
• $481 million was sold in Canada and $2.7 billion sold in the UK. Everything is on the rise.
• World of Warcraft alone has 8 million subscribers paying $15 per month, that is an estimated $120,000,000 in revenue a month
![Page 32: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/32.jpg)
32
• Genres– Action– Based on user being
able to perform actions reflexively in a real-time setting.• Action-Adventure• First-Person Shooter
![Page 33: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/33.jpg)
33
– Fighting– Usually involve a user controlled
character against another character (either user or AI controlled). Use various forms of martial arts.• Versus• Beat’ Em Up
![Page 34: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/34.jpg)
34
Getting Into the Game
– Role Playing– Becoming very popular
with MMOG.– Allows player to select
own destiny with an extensive storyline. • Strategy Game• Massive Multiplayer
![Page 35: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/35.jpg)
35
– Platform Games– This is the earliest genre of
game.– Gradually declining with the
introduction of 3-D graphics.
![Page 36: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/36.jpg)
36
Getting Into the Game– Simulations– Very broad genre with simulations
in many different areas.• Pure Simulation• God Games• City-Building Games
![Page 37: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/37.jpg)
37
Getting Into the Game
– Sports– Been around for a long
time but still growing– Madden NFL series is
best-selling sports series of all time.
![Page 38: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/38.jpg)
38
Getting Into the Game
– Educational– New genre but already experiencing great
results.– Idea is to teach kids while still allowing them
to have fun.
![Page 39: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/39.jpg)
39
Getting Into the Game
• Possible New Genre?– University of Toronto student creates a
therapeutic game– Hemiplegic Cerebral Palsy, paralyzes a side
of the body– Exercises the weak limbs of the patients body
![Page 40: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/40.jpg)
40
Getting Into the Game
• Other Things to Consider– Popularity and Technology constantly growing– Learn new things as you work– Chance to work in a lot of different locations,
even different countries– Comfortable atmospheres– Easy to move up ladder– FUN
![Page 41: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/41.jpg)
41
![Page 42: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/42.jpg)
42
Or Not?
• Game Development Not so Good– Long hours and overtime – Many small gaming companies
don’t last long in the industry– Hard to break into gaming industry– Most games created never make it
to the market– Just don’t like video games
![Page 43: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/43.jpg)
43
• Documentation• Testing• Programming• Knowledge in multiple
areas• Introduction of other
processes to game development (mainly waterfall)
![Page 44: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/44.jpg)
44
Bibliography
• http://www.acmqueue.com/modules.php?name=Content&pa=showpage&pid=114
• Salen, K., Zimmerman, E. Rules of Play: Game Design Fundamentals
• http://www.unrealtechnology.com/html/technology/ue30.shtml
• http://edcorner.stanford.edu/authorMaterialInfo.html?mid=717&author=8
• http://unreal.epicgames.com/UnrealScript.htm• http://www.igda.org/breakingin/• http://www.theesa.com/facts/• http://www.gamasutra.com/php-bin/news_index.php?stor
y=12413
![Page 45: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/45.jpg)
45
Bibliography
• http://www.gamasutra.com/php-bin/news_index.php?story=12358
• http://www.robinlionheart.com/gamedev/genres.xhtml• http://www.gamedev.net/columns/gameengineering/gup/
![Page 46: Software Engineering and Game Design](https://reader036.vdocument.in/reader036/viewer/2022081506/5681376f550346895d9f0a76/html5/thumbnails/46.jpg)
46