Course Syllabus

Game Development: Programming and Practice 

DIS Logo

 

Semester & Location:

Spring 2019 - DIS Copenhagen

Type & Credits:

Core Course - 3 credits

Core Course Study Tours:

Berlin and Frankfurt

Major Disciplines:

 Computer Science, Mathematics, Design

Faculty Members:

Leonard Maxim, leonard.maxim@dis.dk 

Program Director:

Iben de Neergaard, idn@dis.dk

Time & Place:

Tuesday & Friday 8:30-9:50 

Location: V10-A33

 

Course Description

Video games is a booming multi-billion dollar industry and with its flourishing independent gaming culture and public funds for game developers, Denmark is a unique place to study this subfield of computer science. This course - in conjunction with the lab component - is a practical and conceptual introduction to game design and development. The juxtaposition between theory and practice is a cornerstone of the course and you will have ample opportunities to try out concepts and theories. Individually or in small groups, you will design, develop and test a beta version of a 2D or 3D game.

The course is also set up so that you have a chance to immerse yourself in the Danish gaming community. Together, we will explore the gaming trends in Copenhagen and venture to Germany, home to Gamescom, the world’s largest gaming convention. The main platform will be Unity, a Danish produced cross-platform game editor and engine widely in use by many companies in the industry.

Learning Objectives

After successful completion of the course, you will:

  • Master basic game development (produce, test and present a beta version of a game of your own design)
  • Understand game design
  • Have immersed yourself in the Danish “indie” gaming community

After successful completion of the lab, you will be able to:

  • Use the Unity Editor to create interesting game levels
  • Create game scripts using C# and the Unity API
  • Understand the fundamentals of using 2D and 3D graphics
  • Become acquainted with advanced topics such as shaders, physics, AI, and Network based games.
  • Understand the process of game development from idea to beta version
  • Apply theories and develop and test an actual game

Student Profile

This course is for you if you are interested in computer science and want to gain experience in applying programming skills to the creation of games.

Prerequisite

One year of introduction to computer science, one semester of calculus at university level and knowledge of at least one programming language such as Java, C#, C, C++ or JavaScript.

Corequisite

Enrollment in Game Development Lab.

Approach to Teaching

The lab is a continuation of the Game Development course and is a hands-on class with ample opportunities to try out - through trial and error - your skills as a game developer. Throughout the semester, you will be revising, developing and testing actual games. The Game Lab is intended to be a collaborative community and plenum discussions, and faculty and peer feedback sessions will be an important part of the learning.

Faculty

Leonard Maxim

Assessment

Participation, including study tour activities: 10%

2D Platform Game: 40% (Lecture 5 – 10)

Final Project: 50% (Lecture 11 – 20)

Deliverables

2D Platform Game:

  • Class part
    • Unity web player build.
    • Analysis of the formal elements of the game.
    • Small game description and how to play, and game development diary (max ½ a page per week), where all major game design decisions and obstacles are described.
  • Lab part
    • Full Unity project including source code, assets and project settings.
    • Work schedule and a description of the implementation structure, showing the layout and interaction of the game logic.

Final Project:

  • Class part
    • Unity web player build.
    • A Game design document.
    • Small game description and how to play, and game development diary (max ½ a page per week), where all major game design decisions and obstacles are described.
  • Lab part
    • Full Unity project including source code, assets and project settings.
    • Work schedule and a description of the implementation structure, showing the layout and interaction of the game logic.

Field Studies can include

KnapNok Games (Copenhagen Game Productions)

You will go to KnapNok Games to meet with Dajana Dimovska, CEO and her team of game developers. KnapNok Games has experience with developing games for social and physical digital game platforms such as: Wii U™, Microsoft Xbox Kinect, smartphones, and PC. The core team of KnapNok Games are also members of the award-winning game design collective Copenhagen Game Collective. The idea of the creative hub involves building an organization capable of collaborating with a vast number of talented external partners on exciting novel projects. The collective is a tight network of different companies, non-commercial projects, and creative individuals, which all enjoy the synergy, inspiration and potential attention of working in something “more” than a company.

Unity Technologies, Headquarters

You will visit Unity; a Danish company with a leading position in global game industry software – and the company behind the software you will use in this class. More games are made with Unity than with any other game technology and more developers rely on Unity tools and services to drive their business. You will visit the headquarters and meet the team to learn about Unity’s software, up-coming products and their vision to build a democratizing game development ecosystem: a powerful rendering engine fully integrated with a complete set of intuitive tools and rapid workflows to create interactive 3D and 2D content, easy multiplatform publishing, ready-made assets, and a knowledge-sharing community.

Guest Lectures can include

Thomas Ryder, Co-founder of Italics

Thomas is one of the successful game designers in the Danish indie-scene. Most recently he has worked on the award winning Silent Age, where he worked as game designer, graphics designer and musician. In this career Thomas has worked as lead game designer on over 20 titles, has created graphics to more that 30 games, and has designed levels for over 50 games. More about Thomas and his work can be found on his blog: https://thomasryder.wordpress.com

Mikkel Gjøl, Rendering programmer, Playdead

Mikkel is one of the best rendering programmers in Denmark. Besides having worked on titles like Limbo and Inside (in development), he has both given a large number of talks about computer graphics as well as authored a number of papers on the topic. Special area of interest includes: C++/C# programming, optimization and software architecture, console development. 3D Computer Graphics, real-time rendering, image analysis, GPGPU, maths and geometry. Mikkel is also very active on twitter under @pixelmager.

Core Course Week and Study Tours

The Core Course week and study tours are integral part of this course as we take the classroom on the road. You will have the opportunity to develop games together with Danish peers and see how theory presented in the classroom translates to practice in the field by visiting start-ups and more established game studios. You will travel with your classmates and your faculty on two study tours; a short study tour during Core Course Week and a long study tour to Germany.

Core Course Week: Denmark

This intense week dedicated to this course will give you an insight into the gaming industry in Denmark. In Copenhagen, you will learn all about the Danish game industry, meet people from the industry, and visit some of the important companies in the area. The two days will also investigate different aspects of both the gaming culture and how this culture is reflected in the Danish game industry ranging from experiment indie companies to AAA productions.

Long Study Tour: Germany

Germany has the second largest video games market in Europe where Frankfurt is a thriving capital for both large and small game studios. This tour provides you with a greater understanding of the Game Industry and Game Studio world in a computer science context. You will gain a broader European view of what game development is and what is the programmer’s role and relationship within the process of creating a game. By meeting professionals within the field, you will be exposed to how a concept turns into products.

Optional events: Game Jam, hackathons, and Game Lectures

The annual Nordic Game Jam is the biggest game jam in the world and the biggest video game industry event in Denmark. Several smaller Game Jams take place in Copenhagen year round. During your semester at DIS, you will have the opportunity to take part in Game Jams and join a team to make a game in 48-hours. This is a great opportunity to challenge yourself and experiment with new game ideas and technologies in an intense and fun atmosphere. DIS also hosts hackathons where you develop projects and create finished (or nearly finished) products. A panel of professionals will judge your product and mentors are on hand to help out during game jams and hackathons. It is a great learning experience and a chance to meet professionals from the local game community. DIS also collaborates with makerspaces that you will visit and make use of during your semester in Copenhagen.

Check out also game lectures at the IT University (http://game.itu.dk/index.php/Game_Lectures), monthly talks at ”Spilbar” (Game bar) (https://www.facebook.com/groups/148420778510244/) and the Unity User Group Copenhagen (https://www.facebook.com/groups/922888687797593/).

Literature

Textbook:

Game Design Workshop: A Playcentric Approach to Creating Innovative Games, Third Edition, 2014, Tracy Fullerton

 

Lab Tutorials

http://unity3d.com/learn/tutorials/modules

Academic Regulations  

Please make sure to read the Academic Regulations on the DIS website. There you will find regulations on:

 

Course Summary:

Date Details