🧭 Topic: Project 101
Quick Overview :
This workshop serves as a comprehensive conclusion to the course, combining fundamental C++ skills with practical game development concepts. Transition from writing simple console applications to building a fully functional game engine that handles real-time mechanics.
📌 Covered in This Topic
- Frame-Independent Movement: Implementing Delta Time to calculate time elapsed since the last frame, ensuring consistent speed regardless of frame rate.
- Game AI & Math: Creating Simple AI with chasing logic using the Pythagorean theorem and vector normalization to make enemies move directly toward the player.
- Physics & Interaction: Implementing Collision Detection using the AABB (Axis-Aligned Bounding Box) method to check for overlaps between objects.
- Data Structures: Using Structs & Arrays to manage complex game data, such as player stats (score, time taken) and user credentials.
- Sorting Algorithms: Implementing and comparing Bubble Sort and Insertion Sort to organize high score leaderboards.
- File System Management: Using
<fstream>to save and load player data, allowing the game to persist high scores and user progress. - Audio & Feedback: integrating background music (BGM) and sound effects (SFX) using the
mmsystem.hlibrary to provide immediate feedback to player actions. - Code Organization: Splitting code into Header and Source files to separate declaration from definition and maintain a clean project structure.
📑 Slides & Materials
⏩ Navigation
Tip :
If something doesn’t make sense — don’t stay stuck alone. Ask the TA to clarify it right away. Often, a quick question can save you a lot of time and frustration. Remember: if you’re confused, chances are others are too.