SubjectsSubjects(version: 941)
Course, academic year 2023/2024
   Login via CAS
Computer Games Development - NSWI115
Title: Vývoj počítačových her
Guaranteed by: Department of Software and Computer Science Education (32-KSVI)
Faculty: Faculty of Mathematics and Physics
Actual: from 2021
Semester: summer
E-Credits: 6
Hours per week, examination: summer s.:2/2, C+Ex [HT]
Capacity: unlimited
Min. number of students: unlimited
Virtual mobility / capacity: no
State of the course: not taught
Language: Czech, English
Teaching methods: full-time
Teaching methods: full-time
Additional information:
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: doc. Mgr. Cyril Brom, Ph.D.
Mgr. Otakar Nieder
Class: Informatika Mgr. - volitelný
Informatika Mgr. - Softwarové systémy
Classification: Informatics > Computer Graphics and Geometry, Programming, Software Engineering
Incompatibility : NCGD001
Interchangeability : NCGD001
Is incompatible with: NCGD001
Is interchangeable with: NCGD001
Annotation -
Last update: T_KSVI (18.04.2012)
The course gives a complex overview of computer games development. It will cover programming (middleware for games, scripting languages, etc.), game design, project management and game marketing. This is a joint course for computer science students of Faculty of Mathematics and Physics (CS) and students of Faculty of Arts (FA). In the course, the students will create their own small game in small teams of 2-4 students. The course will also introduce: HTML5, Flash, Android, and Unreal Development Kit. Several talks will be given by invited speakers from the gaming industry.
Course completion requirements -
Last update: Mgr. Jakub Gemrot, Ph.D. (13.10.2017)

To pass the course you need to be accredited for labs by:

1. participating on an experiment as specified by the instructor;

2. entering a student team, where you will work on development of a computer game prototype;

3. participating on consultations;

4. participating on the work on the game prototype within the team;

5. submitting the result game prototype to the date as set by the instructor.

There will be only one deadline for delivering the game prototype, it is not possible to submit the prototype repeatedly.

The exam has the form of computer game prototype defense as developed within the team you entered. During the presentation, each team member must present their own work they done during the development of a game prototype.

Literature -
Last update: Mgr. Jakub Gemrot, Ph.D. (13.10.2017)

Internet sources:



  • Game Programming Gems 1 - 6, Charles River Media
  • AI Game Programming Wisdom I - III, Steve Rabin (eds.), Charles River Media

Requirements to the exam -
Last update: Mgr. Jakub Gemrot, Ph.D. (13.10.2017)

In a small team (3-5 students), participate on development of a game prototype. Prepare a presentation for the defense of your game prototype.

Syllabus -
Last update: doc. Mgr. Cyril Brom, Ph.D. (18.04.2012)
A note on teamwork:

It is expected that a student will work on the project for about a week (and not much longer). Each team has to include at least one CS student and one FA student. It is expected that CS students will contribute mainly to programming tasks and FA students to game design, computer graphics, testing and p. r. parts. It is expected that a student will attend the first and second lecture where the student teams are formed. Students from FA unable to make a team with a student from CS will not be allowed to participate in the course (and vice versa).

1. Programming

Tools of professional development: Visual Studio, Incredibuild, SourceSafe/CVS/SVN, wikis; team work, team roles

Middleware: Overview of commonly used middleware solutions; when to program it and when to find it on the Net.

Scripting languages: Role of scripting; Lua, Python & Comp.; connecting a script to the game properly

Program design, development on consoles

"Design Patterns" for computer games; communication with designers; differences when working on consoles; using specialized hardware

Construct 2, UDK, Android, Facebook, FlashBuilder.

2. Project management

Asset Management

Creating and maintaining configuration files; localization; patching

People management

Managing the project; project methodology (waterfall vs. iterative development, agile methodologies); communication with people

3. Video game development

Development cycle

From the first idea to the first patch; who decides what goes where and when; financial models; finding a publisher

Dirty words: PR, Marketing & Sales

PR and marketing methods; working with media and community; publisher’s and developer’s role in marketing the game; pitching to a publisher

4. Game design (primarily for FA students)

What is game design? History and definition of the term "design" in the context of computer games.

Difficulty and the player’s challenge. Why is difficulty important for game design and how it informs the games as a genre.

Combat as the primary means of communication with the game.

Narrative construction in games.

5. Hosted lessons

Artists in the game development teams (Roman Zawada)

Designers in the game development teams (Viktor Bocan)

Casual games (to be confirmed)

Charles University | Information system of Charles University |