This is a summary of my experiences during my first semester as a Bachelor Game Engineering student at the Technical University Munich. How I moved to Munich on my own, met other fellow aspiring game developers and of course what I actually learned.
I basically know that I want to be a game developer since I was twelve. Since then my dream is to be part of the gaming industry. I always knew that there is no one single road to get there. But back when I was twelve I started to be interested in coding. I decided that this fascination with programming will be my way to fulfill my dream.
But living in Austria faced me with some challenges in getting closer to the industry. Firstly, there are no public game dev schools. There are several very small media design courses at universities that cover a bit of game development and you could find private colleges that offer game dev courses but my family cannot afford fees of several thousand euros per semester.
Secondly, the Austrian game dev community is small. Really small! There are a couple of medium sized companies and teams but it is not an area where you can be sure to land a job in Austria.
So, I knew I was in for the long run. I changed to a technically oriented school with programming and software engineering classes when I was 14 and got out of school when I was 19. During my last two years in school I started to seriously look for possibilities to study game engineering. Back then I knew that coding was my strong suit and that this could be my entry ticket into the gaming industry. It was then when I found out about the Bachelors program “Informatics: Games Engineering” at the Technical University in Munich. The TU Munich enjoys a really good international reputation (9th place in the Times Higher Education Computer Science Ranking as of 2017) and it was not too far from Austria too. The only problem that remained: Munich is a expensive place to live and my family could not afford to sustain my life there. So, I decided to get a job and save money before starting that program.
The school I went too also has a good reputation in my area so I had no problem to find a great job as a System Analyst working in 2nd level software support for a great company focusing on telecommunications software. After a year working there another company, that I had also applied to during my initial job search, came back to me with another job offer. Not only could I work as an actual programmer, I was also going to be a game developer. I changed company and worked for another year on casino games for slot machines.
After two years, I had saved up a nice pillow of money and prepared my application for Munich. I had relatively good grades back in school and got accepted for October 2016.
Apart of having a quite high cost of living, the rent in Munich is enormous and the chances of finding a place as a student for the beginning of the semester are tiny. I started to look for rooms as early as May (university starts in October). Luckily my cousin moved to Munich the year before so I had this emergency possibility to crash on his couch… which I needed. But once I arrived in the city I was much more flexible in my search for a room and I was able to get a place a month after moving to my cousin’s.
Coming to Munich I knew that my program still was an Informatics program. That means that Math is a big and important part of it. Since I had a two-year break from school I enrolled for a math preparation course that started two weeks before the official semester start. Not only did it help me to get my brain back into the mode of mathematical thinking, but even more importantly it was a perfect place to get to know new people. I knew no one in the city apart from my cousin, my girlfriend an all my old friends live at home and I was really nervous about making new ones.
But sitting in a small room with around 20 people for the better part of two weeks and brooding over mathematical problems is a good way to find like-minded people.
After only two weeks I was part of a cool group of people with the most different backgrounds. I also learned quickly that university really is a place where you can be friends with almost everyone. Everyone seems to be happy and excited to be here and in a technical school, the chances of meeting people with similar interests and hobbies are very high.
Let’s get to the meaty part. What is it that you actually learn in a program called “Informatics: Games Engineering”? As I mentioned earlier, the program still is a Informatics program and the TU Munich still is a technical university and therefore a scientific institution. I would argue that Europe has still a lot to learn when it comes to teaching game development. It is still hard to explain to people why developing games should be considered science or a form of art. So, when a renowned European university offers a game engineering program, it will approach the situation from a very scientific point of view.so as to remain serious in the eye of critics and the part of the public that does not see games as a serious way of making one’s living. That is why math is a big part of any informatics program and games engineering is no different. The math exam at the end of the first semester is considered by the majority of older students to be one of, if not the hardest exam of the program. The topics in the math class cover areas like sets, relations, induction or combinatorics. All classes come with weekly homework assignments that, if done well enough can better your final grade.
The second big part in the first semester was programming. I had the benefit coming from a technical school and also having worked as a programmer for over a year. So I had an established background in coding. Many others have self-taught coding skills and others again had little to no prior knowledge and had their first contact with a programming language like Java. I would argue that for those that had no prior skills in coding, the programming class might have been even harder that the math class. I remember my first steps in coding and I remember brooding over my homework for hours and hours on the brink of crying. Wrapping your head around basic programming concepts can be hard but once the penny drops it gets better quickly. We game engineering students shared the Java lecture with over 1,000 other informatics students. Exclusively to our program we also had a lecture called “Introduction to Informatics for Games Engineering” which actually is the only lecture that differs from a common informatics program in the first semester. Part of this class was an introduction to Unity and C# as the accompanying programming language. A big plus for this program is definitely that we have to do small projects during the semester. We created a 2D space shooter and as a semester-end project a 3D platformer with Braid-like time-reverse mechanics. Both projects were made in Unity. The projects deepened my understanding of Unity and I now feel confidante to use it for future projects.
We also heard about game theory in the lectures. Well, about the basics at least. We kind of rushed through the technical topics like scene-graphs, rendering and collision detection but I am confident that those will be covered in my second semester lecture “Game Engine Design”. A big part of the lecture though was making a game from a project management perspective. Every aspect from scheduling, financing, staffing or documentation was covered. An obligatory overview over game history and game genres was also part of it. That gave everyone a good overview of what to expect when tackling game development projects of varying sizes. That is knowledge that definitely will be useful in my upcoming semesters.
February in Munich is exam season and I was extremely nervous about how my first exams after school would go. Math took its greatest toll on me. The homework assignments did a good job of preparing me for the exam but weeks of studying and preparing for an exam still was not easy for me. The other exams were not that big of a challenge but I account that toward my established background that I brought from school and work. The exam for our game engineering focused lecture again focused on project management aspects but featured a couple of questions from our Unity classes and made overall for a good test of knowledge in the area.
Being in Munich and studying game engineering I also try to make the most out of every opportunity to participate in game jams, hackathons and to get in touch with the local game dev community. Indeed, Munich does have a cozy little local community that meets every other week for tech-talks, gaming-sessions or 8-hour mini-game-jams.
For me this might be one of the most valuable opportunities that comes with my study. To be able to meet and exchange with industry professionals that have numerous shipped titles and come from different professions and areas of expertise is something I am very grateful for.
Coming to Munich to study was probably the biggest step I took towards my goals in my entire life. I still have a girlfriend, my family and my friends at my hometown. Managing my old and my new life is hard sometimes and the feeling of not belonging in either place sometimes still lingers.
Nevertheless, I consider myself extremely lucky to have the opportunity to follow my dream and being able to do that at a great university with talented people all around me. I am looking forward to learning everything I can during the next semesters.