Game Programming
Exams
Nick Prühs
About Me
“Best Bachelor“ Computer Science
Kiel University, 2009
Master Games
HAW Hamburg, 2011
Lead Programmer
Daedalic Entertainment, 2011-2012
Co-Founder
slash games, 2013
Technical Director
Daedalic Entertainment, 2016
2 / 79
First Things First
• At npruehs.de/teaching you‘ll find all slides
• Ask your questions – any time!
• Each lecture will close with further reading
• Contact me any time at nick.pruehs@daedalic.com!
3 / 12
Exams
Create a reusable code
library!
4 / 12
Exams
• Pick a programming language of your choice.
• Solve a problem you always wanted to tackle.
 May refer to this class or the one of Boris Tolg
 May refer to your current project
• Release the code under the MIT license on GitHub.
• Benchmark is GameMath: https://github.com/npruehs/game-math
• You may work in teams of two.
5 / 12
Exams
6 / 12
• You’ll be judged on code quality
 Readability
 Code Conventions
 Style & Design Principles
 Extensibility
 Design Patterns
 Error Handling
• Plusses
 Unit Tests
 Static Analysis
Exams
• You’ll be judged on code reusability
 Clean public API
 Hidden implementation details
 Example use case
• Plusses
 Second example use case
7 / 12
Exams
• You’ll be judged on documentation
 Readme
 Code Comments
• Plusses
 Public API Documentation (Sandcastle, Doxygen, Javadoc)
8 / 12
Exams
• You’ll be judged on project structure
 Source folder contains source code
 Vendor folder contains external libraries, if required
 Doc folder contains documentation, if required
 Git version tag
• Plusses
 Project is configured to compile to separate Bin folder
 Repository has GitFlow branch setup
9 / 12
Exams
• You’ll not be judged on # lines of code
 The biggest library is useless if nobody understands it.
• You’ll not be judged on optimal CPU and memory performance
 Except for where optimization is crucial.
 If your library is well-designed and documented, optimization is a
minor effort.
10 / 12
Exams
All commits before
August 31, 2017
will be considered.
11 / 12
Thank you!
http://www.npruehs.de
https://github.com/npruehs
@npruehs
nick.pruehs@daedalic.com

Game Programming 00 - Exams

  • 1.
  • 2.
    About Me “Best Bachelor“Computer Science Kiel University, 2009 Master Games HAW Hamburg, 2011 Lead Programmer Daedalic Entertainment, 2011-2012 Co-Founder slash games, 2013 Technical Director Daedalic Entertainment, 2016 2 / 79
  • 3.
    First Things First •At npruehs.de/teaching you‘ll find all slides • Ask your questions – any time! • Each lecture will close with further reading • Contact me any time at nick.pruehs@daedalic.com! 3 / 12
  • 4.
    Exams Create a reusablecode library! 4 / 12
  • 5.
    Exams • Pick aprogramming language of your choice. • Solve a problem you always wanted to tackle.  May refer to this class or the one of Boris Tolg  May refer to your current project • Release the code under the MIT license on GitHub. • Benchmark is GameMath: https://github.com/npruehs/game-math • You may work in teams of two. 5 / 12
  • 6.
    Exams 6 / 12 •You’ll be judged on code quality  Readability  Code Conventions  Style & Design Principles  Extensibility  Design Patterns  Error Handling • Plusses  Unit Tests  Static Analysis
  • 7.
    Exams • You’ll bejudged on code reusability  Clean public API  Hidden implementation details  Example use case • Plusses  Second example use case 7 / 12
  • 8.
    Exams • You’ll bejudged on documentation  Readme  Code Comments • Plusses  Public API Documentation (Sandcastle, Doxygen, Javadoc) 8 / 12
  • 9.
    Exams • You’ll bejudged on project structure  Source folder contains source code  Vendor folder contains external libraries, if required  Doc folder contains documentation, if required  Git version tag • Plusses  Project is configured to compile to separate Bin folder  Repository has GitFlow branch setup 9 / 12
  • 10.
    Exams • You’ll notbe judged on # lines of code  The biggest library is useless if nobody understands it. • You’ll not be judged on optimal CPU and memory performance  Except for where optimization is crucial.  If your library is well-designed and documented, optimization is a minor effort. 10 / 12
  • 11.
    Exams All commits before August31, 2017 will be considered. 11 / 12
  • 12.