Game Programming Kursus/Studiekreds

 

Efterår 2009

 

 

 

Date

Time

Place

Lecture 1

22.09.09

12.30-15.15

0.2.15

Lecture 2

29.09.09

9.15-12.00

0.2.15

Lecture 3

06.10.09

9.15-12.00

0.2.15

Lecture 4

13.10.09

9.15-12.00

0.2.15

Lecture 5

20.10.09

9.15-12.00

0.2.15

Lecture 6

20.10.09

12.30-14.15

0.2.13

Lecture 7

27.10.09

9.15-12.00

0.2.90

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Den første fem lektioner består af tre sessioner, hvor de deltagende studerende fremlægger en præsentation baseret på en tilhørende kilde.

Hver fremlæggelse bør tage 25-30 minutter efterfulgt af ca. 15 minutters diskussion i plenum.

Den der præsenter må meget gerne inddrage materiale ud over den angivne kilde.

 

Hver studerende der deltager I kurset/studiekredsen vil blive bedt om at lave en fremlæggelse.

Jeg har tilfældigt udvalgt navne til hver lektion, men det er lovligt at bytte mellem hinanden - giv mig venligst besked hvis I bytter.

 

Jeg forsøger også at skaffe eksterne undervisere til et par sessioner - mere så om det, snart jeg har aftaler på plads.

 

Koordinator: Bent Thomsen

Hjælpelærer: Anders Tankred Holm og Rasmus Kristensen

 

Lecture 1

 

Presenter: Frederik Kristian Frandsen

Emne: Engine Structure

Hvordan en generel game engine kan struktureres 

- Game Structure (http://www.gamedev.net/reference/programming/features/gpgenesis7/)

Structure, scripting, game states, events.

 

Presenter: Jais Bo Heslegrave

Emne: Engine Structure

- Multithreaded architecture (http://www.gamasutra.com/features/20060906/monkkonen_01.shtml)

Multithreading, engine, game loop,

 

 

Presenter: Rune Kristian Jensen

Emne: Tips & Tricks

Generelle artikler som vedrører problemer indenfor spil programming.

- Pre-allocating (Pre-allocating.pdf)

Loading resources, memory management, performance increasing.

 

--------------------------

 

Lecture 2

 

Presenter: Mikkel Færch Hansen

Emne: Physics - Collision Detection

Et ekstrem vigtigt og stort emne inden for spil udvikling. Dette understøtter matematik kurset, da dette passer godt sammen.

- Integrating commercial physics engines (http://www.gamasutra.com/features/20020816/maclaurin_01.htm)

Existing physics engines

http://www.gamasutra.com/view/feature/2964/outsourcing_reality_integrating_a_.php

 

 

Presenter: Thomas Justesen

Emne: Physics - Collision Detection

- Collision Detection between Circles or Spheres (http://www.gamasutra.com/features/20020118/vandenhuevel_01.htm)

Real case example, circle collision

http://www.gamasutra.com/view/feature/3015/pool_hall_lessons_fast_accurate_.php

 

Presenter: Tommy Jensen

Emne: Physics - Collision Detection

- Advanced Collision Detection Techniques (http://www.gamasutra.com/features/20000330/bobic_pfv.htm)

Bounding box collision

http://www.gamasutra.com/view/feature/3190/advanced_collision_detection_.php

 

 

--------------------------

 

Lecture 3

 

Presenter: Henrik Otte Sørensen

Emne: Graphics

Tricks til at optimere problemet uden at ændre det visuelle. Samt ekstra visuelt lir med shaders!

-         Culling (http://www.gamedev.net/reference/programming/features/culling/ )

PAGE 4 missing, if not found then nevermind, but good article.

 

Presenter: Jakob Svane Knudsen

Emne: Graphics

- Occlusion Culling Algorithms (http://www.gamasutra.com/features/19991109/moller_haines_01.htm)

Occlusion Culling Examples

http://www.gamasutra.com/view/feature/3394/occlusion_culling_algorithms.php

 

 

Presenter: Helge Willum Larsen

Emne: Graphics

- Shader (http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html)

Cg Shader introduction, Graphics Pipeline

 

--------------------------

 

Lecture 4

 

Presenter: Peder Sand Sørensen

Emne: Data & Network

Multiplayer spil over netværk, samt data håndtering i c++, som er nærmest industristandard inden for spil udvikling.

- Network Architecture (http://www.gamasutra.com/view/feature/2174/designing_secure_flexible_and_.php)

 

Presenter: Johannes Garm Nielsen

Emne: Data & Network

Network Packages, Cheat Prevention, Game Structure

- Data Relationship (http://www.gamasutra.com/view/feature/4015/managing_data_relationships.php)

C++, Pointers, Indexing

 

Presenter: Martin Rosenbeck

Emne: Optimizing

Benytte optimale algoritmer, og tage genveje ved at ændre på algoritmer ved at kende data (vi har ingen kilde om det sidst nævnte men bestemt vigtigt).

- Optimizing (Optimizing.pdf)

Sorting Algorithms, Data Relation

 

--------------------------

 

Lecture 5

 

Presenter: Jais Bo Heslegrave

Emne: Game Testing

Test af spil, kan bruge mange kendte test teknikker.

- Testing (http://www.gamasutra.com/view/feature/2269/automated_tests_and_continuous_.php)

Testing techniques and frameworks

 

 

Presenter: Tommy Jensen

Emne: Game Testing

- Unit Testing (UnitTesting.pdf)

Beginning unit testing in projects, goals

 

Presenter: Johannes Garm Nielsen

Emne: Tips & Tricks

- Writing reusable code (ReusableCode.pdf)

OOP, Architecture, Layers

 

--------------------------

Lecture 6

Presenter: Martin Rehr, DIKU

Emne: Programming the CELL-BE processor

Litteratur: http://diku.dk/hjemmesider/ansatte/rehr/cell/docs/diku_cell_tutorial.pdf

http://www.diku.dk/~rehr/cell/docs/mohammad_jowkar_thesis.pdf

http://www.ibm.com/developerworks/power/cell/?S_TACT=105AGX01&S_CMP=HP

 

--------------------------

Lecture 7

 

Presenter: sp101a

Emne: Præsentation af project, med fokus på brugen af OGRE

 

Presenter: sp102a

Emne: Præsentation af project, med fokus på brugen af OGRE

 

Presenter: sp103a

Emne: Præsentation af project, med fokus på brugen af OGRE

 

Diskussion: Erfaringer med OGRE so far.

Ekstra læsning

 

Værd at læse ud over hvis man har lyst J

 

Artificial Intelligence

Disse artikler er noget vi manglede fra vores SP2 kurser, som er godt at kende til.

- Intelligent Mistakes (StupidAI.pdf)

Making AI stupid

 

- Difficult is difficult (AIDifficult.pdf)

Making it hard but not impossible

 

Resources Pipeline

Hvordan man importerer content ind i et spil. Det er vigtigt og et problem da man skal vælge fil format osv. Den følgende artikel fortæller hvordan en pipeline kan sættes op i en større produktion. Det andet er dog også vigtigt at fortælle men har ikke kunnet kilder på det.

- Pipeline (Pipeline.pdf)

Setting up pipeline, larger projects

 

Procedural Content

Nyt og hot! God måde at generere indhold til sit spil. Da det er meget skalerbart.

- Procedural Trees (http://www.gamasutra.com/view/feature/1605/procedural_spooling_in_games.php)

Procedural trees, level of detail, save space

- Procedural Content Creation (Procedural.pdf)

Introduction, types

 

Tips & Tricks

Generelle artikler som vedrører problemer indenfor spil programming.

 

- Doxygen (Doxygen.pdf)

Setting up Doxygen, Documented code 

 

- Dirty Coding Tricks (DirtyCodingTricks.pdf)

Fun article regarding real life coding problems

 

- Asynchronous Programming (AsynchronousProgramming.pdf)

Coroutines, examples c++