Computer Games Inner Workings - I. Loukeris AIT


Published on

We have all enjoyed computer games, but ever wondered how they do it? How do developers make them? What are the functional parts of a game?

"Computer Games Inner Workings" - a presentation by Ioannis Loukeris, AIT Senior Web Developer and Golden Age CTO.

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Computer Games Inner Workings - I. Loukeris AIT

  1. 1. Computer Games Inner Workings
  2. 2. Computer Games Inner WorkingsComputer Games are very complex entities.Ingredients of a good game: – Great Story – Cool Graphics – Natural and Immersing Sounds – Cutting Edge AI – Original Concept – Big Budget – Great PR – None of the above ... or all these and much more.
  3. 3. Computer Games Inner Workings● Can it be done be one person ? – YES! – And no …● Bioshock 2 had 120 million US$ budget. Is that necessary? – It depends ...● ID software, the makers of the DOOM, QUAKE etc series of games, release only “when it is done”. Is this a good strategy? – It depends ...
  4. 4. Computer Game Inner WorkingsWhich Platform and why?● PCs / Macs● Consoles● iOS● AndroidAll platforms?● Reusable assets● Common programming language and tools● The nightmare of fragmentation.
  5. 5. Computer Games Inner Workings● Past Successes ● Past Failures – Tetris! – Tetris! – Pong – Lands of Lore 3 – Bubble Bobble – DaiKatana – Mortal Kombat – Duke Nukem Forever – DOOM – Rage – Lands of Lore – Amazing Alex – Flight Control – SimCity(2013) – Angry Birds – Millions of other titles that – Cut the Rope we never heard about ...
  6. 6. Computer Games Inner WorkingsGame Functional Parts: – The Game Loop – The Game State – The Rendering – Input Handling – Networking – Physics / Collision Detection
  7. 7. Computer Games Inner WorkingsAll games are the same!No matter what the platform or type of display, the tasks that the game has to complete are the same.Even the change of programming paradigm from procedural to object oriented didnt affect games programing heavily.Simply the game loop no longer knows how to manipulate entities but instead notifies them of the time that passed and of the several events since the last call and they have to do their house keeping.
  8. 8. Computer Games Inner WorkingsThe Game Loop.● An “infinite” loop that sequentially makes calls to all other parts/entities of the game.● The game registers and handles player input.● Then registers all networking input, if available.● Then handles collisions / physics etc.● Then brings the game state up to date.● Then renders a frame and starts over.
  9. 9. Computer Game Inner WorkingsThe Game State.● Is comprised from all the data about the game state – Entity locations – Entity conditions (normal, angry, dying, moving etc) – Entity properties (velocity, health, energy… etc) – Story line state (pending and past decisions, quests etc) – Entity relations (character inventories, party relations etc)● Must be updated every time something happens.● Is the basis for Rendering
  10. 10. Computer Games Inner WorkingsRendering● All games gravitate to 3D.● Modern 2D games are actually 3D.● Particles: a clever way of doing things● Transformations: From Fixed Pipelines to Programmable GPUs.● In the PC world there are two standards: OpenGL and DirectX● OpenGL Renaissance
  11. 11. Computer Games Inner WorkingsRendering● Frames, Frame buffers and other buffers● Once we used to “bitblt”, the VGA register horrors and other scary stuff.● Frame Rate or no rate at all...● Choices: more Eye Candy or more speed● Resolution, Anti-aliasing Special FX and Shaders● Modern Hardware: rasterizers, tile renderers and ray tracers
  12. 12. Computer Game Inner WorkingsRendering● Textures, Texturing, Multitexturing& Compression● Sprite / Texture Sheets (2D)● Light Maps, bump maps & Shadows● LOD● Batches● Optimizations● Sounds
  13. 13. Computer Games Inner Workings● Input handling. More Demanding that you would imagine.● Networking: my kingdom for a good library!● Tools – Proprietary – Open Source – Custom
  14. 14. Computer Games Inner WorkingsTools:● Graphics Engines● Game Engines● Physics Engines● Sound Engines● Asset Managers / Servers● 3d Modeling Tools● 2d Art tools
  15. 15. Computer Games Inner WorkingsCOLLADA● An XML data exchange protocol● Many game engines support it● Many midleware solutions support it● Many DCC programs support it● Helps tremendously especially in heterogeneous environments and saves huge amounts of time
  16. 16. Computer Games Inner WorkingsWhere do we start?● Books● On line examples and tutorials● On line source code (ids open sourced material and open source engines)● Modding existing games● Attaching to an existing team