an introduction to game development
TRANSCRIPT
![Page 1: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/1.jpg)
Ahmed Saker
Indie Game Developer
http://a-saker.blogspot.com
![Page 2: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/2.jpg)
Outline• Define “Video Game” • Video Game Industry Overview • Game Development Process :
– Game Design • Game Genres• Design Documents
– Game Art• 2D• 3D
– Programming• Game Engines• Programming sub-disciplines
– Audio– QA
• The Community
![Page 3: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/3.jpg)
Define “Video Game” ?!
• What’s the Difference between these three ?! :
A GameA Software A Movie
![Page 4: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/4.jpg)
Here’s the difference
• An Interactive Medium :
– Interactivity is what makes games differ from Movies and other art forms .
– The content of the game as a Medium is what makes it differs from other software .
– And obviously they are more fun .
![Page 5: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/5.jpg)
GAMES HAVE GOT IT ALL
Game Trivia
Art
Science & Tech
Business
![Page 6: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/6.jpg)
![Page 7: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/7.jpg)
Technically ,
![Page 8: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/8.jpg)
Game Structure• Games have a different structure than any other software
– Start up– Introductory Movie– Front End
• Game Options• Sound Options• Video Options
– Loading Screen– Main Game
• Introduction• Gameplay
– game modes
• Pause Options
– End Game Movie– Credits– Shut down
![Page 9: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/9.jpg)
Game Loop
// a simple game loop in C++int main()
{ Initialize();while (true) {
Process(); Update(); Render();
} ShutDown();
}
![Page 10: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/10.jpg)
What actually happens
While(true){/* Process controller input : Checks for player’s input .. For example , if the player hits spacebar then make the character jump … etc*/
Process();
/* Update entities : this is where the game reacts to the changes the player’s made as well as updates the game state */
Update();
/*Update Graphics : draw the background, draw sprites, update HUD elements, etc */
Render();}
![Page 11: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/11.jpg)
Now , That we know what games are , let’s talk Business.
![Page 12: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/12.jpg)
Games VS Movies (in terms of sales)
Vs
$239 millionFirst Week Revenue
$500 millionFirst Week Revenue
Source : Video Game Industry Trends by Ferrarra
![Page 13: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/13.jpg)
Games Market
Source : Video Game Industry Trends by Ferrarra
![Page 14: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/14.jpg)
Game Development Map
![Page 15: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/15.jpg)
Game Development Scene in Egypt
![Page 16: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/16.jpg)
A brief History1972 : Pong (Hardware)
1993 : Doom (idTech 1)
Classics : Atari , NES , SNES , Commodre64 , NeoGenesis ,…ets
1995 : Software-Rendered Engines (CPU-only)
1998 : Unreal (Hardware 3D - GPU)
Two decades of GPU dependence
2007 : Unreal Engine 3
![Page 17: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/17.jpg)
Indie Scene
• Obviously Independent :D .
• No publishers , may come later though.
• Low-Budget and sometimes no budget at all .
• Individuals and small teams .
• Simply , It’s the opposite to mainstream games .
• You’re your own boss .
• Seeks Innovation and explore new aspects in game design and storytelling and even art forms .
![Page 18: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/18.jpg)
Why indie ?!
• Though it’s very time consuming process .• There is really no reliable financial return .• It could drive you crazy , you do all the job .
But let’s look at the bright side :
• You’ll be working on something you really want to do .• You’re your own boss .• If you’re creative enough you’ll make a hit sooner orlater like this guy called “Pixel” from Japan and his hit“Cave Story” .
![Page 19: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/19.jpg)
Game Development Process
![Page 20: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/20.jpg)
Game Development Process
Pre-productionPitch
(Concept Document )
GDD Project PlanPrototype (Proof of concept)
Production Design ProgrammingArt
ProductionAudio
ProductionQA (Testing)
Postproduction Maintenance Costumer Services
Patches and updates
![Page 21: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/21.jpg)
Three Main Milestones
Alpha Protocol
Beta version
Gold Master
![Page 22: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/22.jpg)
Three Categories ?!
![Page 23: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/23.jpg)
Game Design
• The Content and Rules of the Game .
• You describe what the game will look and act like .
• Game Design is very critical and requires experience and knowledge .
![Page 24: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/24.jpg)
Game Genres
• Can be used to describe : Gameplay , Story and even the perspective … e.g. (FPS , RPG..)
Describes the Story Describes the Gameplay Describes the Perspective
![Page 25: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/25.jpg)
Game Art
• 2D Art :
– Concept Art
– Sprites
– Texture Art
– UI Artist
![Page 26: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/26.jpg)
Game Art :: 3D
Concept Art
Modeling
Wrap
pin
g & Textu
ring
Animation
![Page 27: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/27.jpg)
Game Programming sub-disciplines
• Gameplay Programming
• AI Programming
• Tools Programming
• Graphics Programming
![Page 28: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/28.jpg)
APIs and SDKs
• The difference between APIs and SDKs .
• API (Application Programming Interface) :-– Software interfaces that OS, libraries, and services
provide – You can take advantage of their particular features.– XNA , DirectX and OpenGL .
• SDK (Software Development Kit) : Collection Of libraries , APIs and tools .
![Page 29: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/29.jpg)
Game Engines
• In-house Game Engines .
– Scimitar (Assassin’s Creed)
• Two types of Game Engines :-
– Full tool chain (UnrealEngine 3 ,Unity )
– Middleware & Integrated libraries (SDL , OGRE3D)
![Page 30: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/30.jpg)
Programming Tools
• Unity .
• UDK .
![Page 31: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/31.jpg)
The Community
• IGDA
• CMP :-– Gamasutra.com
– GameCareerGuide.com
• GameDev.net
• Tigsource.com
![Page 32: An Introduction To Game development](https://reader034.vdocuments.net/reader034/viewer/2022050613/55a53e471a28ab01758b45fa/html5/thumbnails/32.jpg)