Game Programming @ mff.cuni.cz

The Game Development curriculum is being taught as a specialization for the Visual Computing and Game Development master’s degree program offered as part of the 2-year-long Computer Science graduate studies program at the Faculty of Mathematics and Physics at Charles University in Prague, Czech Republic. For more information about the admissions process (you need at least a bachelor‘s degree, preferably in computer science), please consult the official website.

The Game Development major is meant for programmers, who wish to obtain a formal education in programming computer games. If you would like to become a game designer instead (while studying in Prague), your best option would be to sign up for StuNoMe studies or FAMU. If you are an artist seeking a formal degree who would like to develop games as part of your studies, you might consider enrolling at the UMPRUM, FAMU or Studio of Animation and Interactive Art (Pilsen), who are partners in this program.

However, if you are truly a programmer who wants to pursue a future in computer games, then welcome! You've come to the right place. The following paragraphs will provide you general info on the Game Development major and the philosophy behind.

You might be thinking, why should I study computer game programming? The answer is simple. It's already a multi-billion dollar business. Of course you could learn computer game programming on your own, but you'll be better off having a degree while working on your game than just working on your game. It's also a great opportunity to meet like-minded people. You can meet not only programmers, but also designers and artists as well. You will also have the chance to meet (and impress) people from local GameDev industry. Finally, by studying Game Development with us, you will broaden your horizons in areas that will have a lot to do with game development in the near future: artificial intelligence, multi-agent systems and procedural content generation. Frankly, it's always easier to be a student than a junior or unemployed game developer.

The major is a mixture of formal lectures that will give you the theoretical background a good gamedev should have like computer graphics, software engineering and AI. You will also take part in lots of practical classes and workshops where you will have an opportunity to experiment with as many middlewares as you like. As you are surely aware, computer games cannot be developed by a programmer alone, we cooperate with different faculties and universities to foster interaction with students from different disciplines (design, new media, graphics, music, etc.). They study the same courses where they form heterogeneous teams that cooperate on the development of a single game.

You can pick from a wide array of lectures, workshops and classes when studying GameDev at our faculty. You can find a complete list of classes in our study plans. In these documents we point out which courses are compulsory or recommended throughout the study program. How the study might look like (from term to term) is covered by the following Google Spreadsheet, which contains three example walkthroughs targeting different state final exams (you will find out that our gamedev specialization can have many flavors!). And here is a document with frequent questions & answers.

Now follows the diagram that contains GameDev courses of the "main" specialization walkthrough that is targeting all "gamedev related state final exams", a.k.a. Plan 1.

Lectures

Workshops

  • NCGD001 - Computer Games Development I
    • This is the first workshop that gives you space for developing your own game. Programmers, designers, graphic artists and musicians, et. al. all attend this course: you can join forces with them to start a real game project. Apart from creating a game, you will learn a lot of soft skills during this workshop. This is because you will have to collaborate with people, who are not well versed in computer science.
  • NCGD006 aka Game James
    • Attend a GameJam organized at MFF UK, develop a small game within 48-72 hours and get credits! "Simple" as that 🙂
  • NCGD007 and NCGD008 - Practical Course on Managed / Native Game Development
    • A workshop where you will explore Unity 3D and Unreal Engine 4
  • NCGD001 - Computer Games Development I
    • Participate on both local and international gamedev conferences and festivals and learn from professionals outside the academy

Thesis

  • NSZZ023 - Master Thesis I, NSZZ024 - Master Thesis II, NSZZ024 – Master‘s Thesis III
    • Apart from the Game Project, you will be expected to write a master‘s thesis. Preferably, it will be related to the game you will be working on during NSWI115. The thesis topics range from implementation of custom graphics algorithms (e.g. custom renderers, raytracers, etc.) to AI applications (e.g. racing AI, team-oriented behaviors, player modelling, procedural generation, etc.).

As you can see, the curriculum provides you a lot of space for your own inventions. And that's good. Game development is about open-mindedness, creativity and fun. So there is no reason why your studies should put any constraints on you.

If you have any questions, feel free to contact Jakub Gemrot, gemrot@gamedev.cuni.cz.