![Page 1: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/1.jpg)
Game Engine
1. Examples
2. Data Driven, Event Driven
3. Typical Architecture
4. Building Ogre
![Page 2: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/2.jpg)
Game Development Practicum
This course is prerequisite. Counts as Capstone. Projects started here can be continued
in that class
![Page 3: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/3.jpg)
Game Engine Examples
Traditional game engines
1. ioquake3
Commerical engines
2. TGE and TGEA
3. Unity
Open Source Partial Game Engines
4. opensim
5. ogre
![Page 4: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/4.jpg)
Game Engine Components
![Page 5: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/5.jpg)
Game Engine
Game Engine: A Data Driven, Agent-Based, Graphical Computer Simulation. Data Driven: The program is designed to parse
data (files) to determine its core behaviour. Event Driven: The program is designed to
process events (key board, mouse, etc.) to determine its actions.) Data Driven
An agent is a system situated in an environment, which senses that environment, and acts on it, over time, in pursuit of its own agenda.
![Page 6: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/6.jpg)
Data Driven Programming
Files describe the features of the world terrain, sky, buildings, water different formats used for different types of objects
Scripting used to handle interaction of objects in the world written in a high level language designed to be executed
by the game engine usually compiled into byte code for faster execution Think of byte code as an index into an array of pointers to
functions. Mouse, key board, collision events. Agents: Bots and other AI.
![Page 7: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/7.jpg)
Game Engine Programming
Typically a large number of poorly documented classes. Abstractions frequently not well explained. You must learn to read the code.
Very large software engineering project. To build a game you must apply software engineering principles,
Must use an IDE (Integrated Development Environment—e.g. VC++ or Eclipse.
![Page 8: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/8.jpg)
IDE Issues
You must learn how to build a project in the IDE. IDE's have to be told where #include files and
libraries reside. You must learn how to put that data in the IDE instance.
Large libraries frequently reference files that are either missing or in unexpected locations. You need to have tools to search for such files on your machine and the skill to find missing files on the internet. When the missing or misplace file is a library and the only reference to that library is an undefined symbol, this can be difficult.
![Page 9: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/9.jpg)
Compiling and Running Code
You must learn to distinguish between compiler, linker, and runtime linker/loader errors. The first step in this process is to learn to read the error messages. Don't change code according to what you guess the error message means. Figure out what the error is before you change your code. Make a copy of your old code before you start changing it, so you can return to it later if necessary.
You must know how to give dynamic linker/loader the location of your runtime libraries.
See the Tale of J. Random Newbie, for a cautionary tale on what can go wrong.
![Page 10: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/10.jpg)
Getting Visual Studio
Go to www.dreamspark.com Using your ksu email address create
an account. Download and install Visual Studio
2010 Professional.
![Page 11: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/11.jpg)
Your Computer Environment
You must be apply to download and install the class libraries at home or be willing to spend at least several hours a week in the Departmental labs doing your programming assignments.
Directory layout
OrgeENV
ogre orge_src_v1_8_1 Boost
Dependencies
![Page 12: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/12.jpg)
Building Ogre
Download and install cmake-2.8.10.2-win32-x86.exe
Download and install boost_1_52_0
Download and install Ogre
Download and install Ogre_Dependencies
![Page 13: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/13.jpg)
![Page 14: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/14.jpg)
![Page 15: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/15.jpg)
![Page 16: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/16.jpg)
![Page 17: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/17.jpg)
![Page 18: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/18.jpg)
![Page 19: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/19.jpg)
![Page 20: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/20.jpg)
![Page 21: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/21.jpg)
![Page 22: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/22.jpg)
![Page 23: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/23.jpg)
![Page 24: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/24.jpg)
![Page 25: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/25.jpg)
![Page 26: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/26.jpg)
![Page 27: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/27.jpg)
![Page 28: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/28.jpg)
![Page 29: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/29.jpg)
![Page 30: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/30.jpg)
![Page 31: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/31.jpg)
![Page 32: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/32.jpg)
![Page 33: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/33.jpg)
![Page 34: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/34.jpg)
![Page 35: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/35.jpg)
![Page 36: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/36.jpg)
![Page 37: Examples Data Driven, Event Driven Typical Architectureruttan/GameEngines/lectures/compiling.pdfchange your code. Make a copy of your old code before you start changing it, so you](https://reader030.vdocument.in/reader030/viewer/2022041103/5f027a897e708231d404767e/html5/thumbnails/37.jpg)