New course coming in the 2026-2028 curriculum
In Spring 2027, I will start a new course called “Game Tools and Technology”.
It will be an intermediate/advanced game programming and technical art class, mostly based on hands-on exercises in a game engine. I have some old material in Unity, but since Unity has become so bloated that it kills iteration speed, I will probably migrate everything to Godot. Additionally, there may be some content on AI tools and workflows, unless that can be crammed into other Aalto courses such as Game Project and Game Seminar.
The pedagogical approach of the new course will be a progression of exercises, each with a short intro lecture, a Godot project skeleton, and one or more challenges with model solutions. One can complete the exercises in class or at home. The course will be passed via an exam that will be doable if one completed the exercises or at least read and understood the model solutions. To avoid incentivizing lazy AI use, I will not grade the exercises. One can’t use AI in the pen-and-paper exam ⇒ students should be motivated to actually understand the exercises instead of / in addition to completing them with AI help.
I will post the exercises here as I make progress with them. The plan is to include the following, although something will probably have to be dropped, as the course will be 12 weeks and it would be probably good to focus on one exercise per week:
- Game physics: Simulation stability and accuracy: time steps, continuous collision detection (e.g., bullets, balls), ragdolling with “follow-up” to handle large force impacts
- Game physics: How to do physically-based and responsive character control the right way (controlled “breaking” of game physics simulation)
- Game animation: AI-based motion capture pipeline (video → MarionetteXR or equivalent → Blender / Cascadeur clean-up → Godot)
- Game animation: VR avatar IK based on hand & head tracking: punching, swordplay with a two-handed sword, adding leg movement
- Game animation: Implementing Motion Matching from scratch
- Game animation: Implementing PuppetMaster-style active ragdolling from scratch
- Game animation: Create a custom animation editor for melee combat hitboxes and other metadata
- Math & signal processing: Different types of low-pass filters and how to apply them in 2d and 3d game camera design
- Math & signal processing: Advanced motion sensing and avatar movement in embodied interaction, e.g., camera-based exergames (sampling, velocity estimation)
- AI & ML: A speedrun for game devs: From basics of numerical optimization and differentiable computing to training your own full-body neural IK model, plus importing to a game engine
- AI & ML: Making reinforcement learning work in practice (engineering and debugging your observations, actions, and rewards)
- AI & ML: Analyzing and improving game balance via RL self-play
- AI-assisted coding tools: Learning to use tools like Cursor efficiently, e.g., refactor ugly code with AI-assistance, validate using tests and code complexity metrics