For a practical and enjoyable experience on:
Target audience: Students at University “Politehnica” of Bucharest and from other IT colleges.
Workshop Period: Second semester.
Workshop Duration: 4 hours / week (Saturday, 9:00 – 13:00).
Location: 3DUPB – Gameloft Learning Center (EG 204).
Application Period: March 2 – March 13 (deadline: March 13, 17:00).
On March 14, the candidates will be required to pass a theoretical and practical C++ test with a duration of 2 hours. (Location: EG 204 – 9:00 AM).
The test results will be announced until March 19 and the best 11 candidates will be selected.
The chosen candidates will be asked to confirm the participation until March 20. The candidates who will not confirm the participation will lose the opportunity to join these workshops and the next best candidates will be contacted.
Evaluation after workshops:
The participants will be required to present their practical application and to pass a theoretical test after this module.
What will we learn in this workshop?
Creating a game engine from scratch (so, no, you will not receive an already made game engine to experiment with; you will make your own game engine, learning the basics for this kind of project). You will then use this game engine to make your own game with the learned techniques.
– adding models with textures inside a scene;
– using geometric transformations to scale and move the objects inside the scene and to implement a camera;
– implementing trajectories for the scene objects;
– creating a terrain. Mixing textures using a blend map. Using a height map;
– adding a skybox;
– skybox reflection;
– fog effect;
– using lights (Phong model);
– normal mapping;
– creating an animated fire using a displacement map;
– text rendering;
– adding sounds corresponding to different events inside the game;
– using framebuffers for post-processing effects: changing the scene to grayscale, adding blur and bloom effects;
– and some other (optional but cool) effects, for those that finish the project earlier.
– you will learn how to work with Visual Studio and use its features and shortcuts and also how to use a Visual Studio plugin;
– several debugging techniques;
– an introduction to design patterns (we will use the singleton and factory designs);
– memory management;
– writing an XML file. Using a C++ library to read from an XML file.
What should we know about the test?
You should have at least intermediate knowledge of C++ (mostly C++98, but there might be some questions from C++11, too). There will also be some questions from STL (Standard Template Library). You are allowed to come with books or to use the internet during the test (but without accessing e-mail, messenger, Facebook, or any other communication platform; also no online compilers). The test will have two parts:
– several questions that require short answers. You’ll have to solve them on paper without using a compiler.
– an exercise that requires implementing a short program. This exercise must be solved on a computer, not on paper. I would recommend that you apply even if you are a beginner in C++. I will send each applicant an e-mail containing a set of useful links to online books, references, and tutorials to learn from for the test. The e-mail will also contain sample test questions and some other information about the test. You don’t have to get a specific grade to pass the test. Your grade only has to be among the first 11 grades (or even more if some students agree to come with a laptop – we only have 11 computers inside the laboratory). However, if your grade is low this means that you probably don’t know C++ very well and it will be hard if not impossible to finish the project unless you start learning C++ in the first 2-3 weeks of the semester. After the test, I will give each of you some study materials that cover the exercises that you couldn’t solve or didn’t answer correctly.
What programming languages will we use?
C++ and GLSL (shading language).
What libraries will we use?
OpenGL ES 2.0.
How long will the project take? How much time should we dedicate weekly to it? How does the schedule of a class look?
We will have workshops each week on Saturday (it will last 4-5 hours). The schedule (it may vary a little, depending on the number of questions, or the lesson):
– the class will start at 9.00 AM;
– during the first 30-45 minutes, you can ask questions or ask help to solve bugs from last week’s assignment;
– you will receive some questions from the previous lesson (it is not a test, the purpose of the questions is to check if everyone understood the previous lesson);
– the presentation of the new lesson will follow and will take about 30 min – 1 hour;
– after the presentation, you will receive some tasks to practice the learned theory. If you don’t finish the tasks during class, they will turn into homework. Some tasks require more time, so, depending on the lesson your homework may take between 0-4 hours weekly. The workshop will last until the end of semester and if the project is still not finished by that time, we can have a few more meetings after the semester ends (during the examination period, if you have some free time, or in the beginning of the college break) – but let’s hope that it will not happen. This is why you should do the assigned homework every week, so we can follow the workshop plan and have no delays in the end of the semester.