SlideShare a Scribd company logo
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

More Related Content

PDF
Game Programming 09 - AI
PDF
Game Programming 04 - Style & Design Principles
PDF
Game Programming 08 - Tool Development
PDF
Game Programming 05 - Development Tools
PDF
Game Development Challenges
PDF
Game Programming 10 - Localization
PDF
Scrum - but... Agile Game Development in Small Teams
PDF
Eight Rules for Making Your First Great Game
Game Programming 09 - AI
Game Programming 04 - Style & Design Principles
Game Programming 08 - Tool Development
Game Programming 05 - Development Tools
Game Development Challenges
Game Programming 10 - Localization
Scrum - but... Agile Game Development in Small Teams
Eight Rules for Making Your First Great Game

What's hot (20)

PDF
Game Programming 12 - Shaders
PDF
Component-Based Entity Systems (Demo)
PDF
Game Programming 07 - Procedural Content Generation
PPTX
Unit tests = maintenance hell ?
PDF
Game Programming - Cloud Development
PPTX
Design for Testability
PDF
Design For Testability
PDF
Style & Design Principles 03 - Component-Based Entity Systems
PDF
Is this how you hate unit testing?
ODP
Path dependent-development (PyCon India)
PDF
DEF CON 23 - Rich Kelley - harness powershell weaponization made easy
PDF
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
PDF
Quality Assurance 1: Why Quality Matters
PDF
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
PDF
2014 land your-first_patch_neutron
PDF
PPTX
Selenium + Specflow
PDF
Modernizing PowerShell Scripts
ODP
Path Dependent Development (PyCon AU)
PDF
Unit Test + Functional Programming = Love
Game Programming 12 - Shaders
Component-Based Entity Systems (Demo)
Game Programming 07 - Procedural Content Generation
Unit tests = maintenance hell ?
Game Programming - Cloud Development
Design for Testability
Design For Testability
Style & Design Principles 03 - Component-Based Entity Systems
Is this how you hate unit testing?
Path dependent-development (PyCon India)
DEF CON 23 - Rich Kelley - harness powershell weaponization made easy
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Quality Assurance 1: Why Quality Matters
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
2014 land your-first_patch_neutron
Selenium + Specflow
Modernizing PowerShell Scripts
Path Dependent Development (PyCon AU)
Unit Test + Functional Programming = Love
Ad

Similar to Game Programming 00 - Exams (20)

PPTX
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
PDF
16 things a developer should know about testing
PDF
You and your code.pdf
PPTX
RAG Techniques – for engineering student
PDF
How to guarantee your change is integrated to Moodle core
PPTX
Fast and Reproducible Deep Learning
PPTX
Creating a textual domain specific language
PDF
Golang, Python or C/C++, who wins
PPTX
Gradle.Enemy at the gates
PDF
Using Grunt with Drupal
PDF
It's XP, Stupid
ODP
The Professional Programmer
PDF
Stop making, start composing - Using Composer for Drupal development
PDF
Agents for SW development - Berkeley LLM AI Agents MOOC
PDF
The Drupal 7 Worst Practices Catalogue
PPTX
dmBridge & dmMonocle
PPTX
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
PDF
DSL's with Groovy
PPTX
Que nos espera a los ALM Dudes para el 2013?
Do Your Homework! Writing tests for Data Science and Stochastic Code - David ...
16 things a developer should know about testing
You and your code.pdf
RAG Techniques – for engineering student
How to guarantee your change is integrated to Moodle core
Fast and Reproducible Deep Learning
Creating a textual domain specific language
Golang, Python or C/C++, who wins
Gradle.Enemy at the gates
Using Grunt with Drupal
It's XP, Stupid
The Professional Programmer
Stop making, start composing - Using Composer for Drupal development
Agents for SW development - Berkeley LLM AI Agents MOOC
The Drupal 7 Worst Practices Catalogue
dmBridge & dmMonocle
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
DSL's with Groovy
Que nos espera a los ALM Dudes para el 2013?
Ad

More from Nick Pruehs (18)

PDF
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
PDF
Unreal Engine Basics 05 - User Interface
PDF
Unreal Engine Basics 04 - Behavior Trees
PDF
Unreal Engine Basics 03 - Gameplay
PDF
Unreal Engine Basics 02 - Unreal Editor
PDF
Unreal Engine Basics 01 - Game Framework
PDF
Game Programming - Git
PDF
Designing an actor model game architecture with Pony
PDF
Game Programming 13 - Debugging & Performance Optimization
PDF
What Would Blizzard Do
PDF
School For Games 2015 - Unity Engine Basics
PDF
Tool Development A - Git
PDF
Game Programming 11 - Game Physics
PDF
Game Programming 06 - Automated Testing
PDF
Game Programming 03 - Git Flow
PDF
Game Programming 02 - Component-Based Entity Systems
PDF
Game Programming 01 - Introduction
PDF
Tool Development 10 - MVVM, Tool Chains
Unreal Engine Basics 06 - Animation, Audio, Visual Effects
Unreal Engine Basics 05 - User Interface
Unreal Engine Basics 04 - Behavior Trees
Unreal Engine Basics 03 - Gameplay
Unreal Engine Basics 02 - Unreal Editor
Unreal Engine Basics 01 - Game Framework
Game Programming - Git
Designing an actor model game architecture with Pony
Game Programming 13 - Debugging & Performance Optimization
What Would Blizzard Do
School For Games 2015 - Unity Engine Basics
Tool Development A - Git
Game Programming 11 - Game Physics
Game Programming 06 - Automated Testing
Game Programming 03 - Git Flow
Game Programming 02 - Component-Based Entity Systems
Game Programming 01 - Introduction
Tool Development 10 - MVVM, Tool Chains

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
MYSQL Presentation for SQL database connectivity
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
Teaching material agriculture food technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
Unlocking AI with Model Context Protocol (MCP)
sap open course for s4hana steps from ECC to s4
Programs and apps: productivity, graphics, security and other tools
Understanding_Digital_Forensics_Presentation.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MYSQL Presentation for SQL database connectivity
MIND Revenue Release Quarter 2 2025 Press Release
Teaching material agriculture food technology
NewMind AI Weekly Chronicles - August'25 Week I
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology

Game Programming 00 - Exams

  • 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 reusable code library! 4 / 12
  • 5. 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
  • 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 be judged on code reusability  Clean public API  Hidden implementation details  Example use case • Plusses  Second example use case 7 / 12
  • 8. Exams • You’ll be judged on documentation  Readme  Code Comments • Plusses  Public API Documentation (Sandcastle, Doxygen, Javadoc) 8 / 12
  • 9. 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
  • 10. 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
  • 11. Exams All commits before August 31, 2017 will be considered. 11 / 12