
Explore building a hack n slash game with SDL2 and C++, covering collision detection, memory management, pointers, and polymorphism through a hands-on project.
Set up a SDL2 and C++ project in Visual Studio, configure include and library paths, link SDL and image libraries, and load a texture to render a basic window.
Learn how to manage textures and surfaces in SDL2, comparing hardware accelerated rendering with software surfaces, and implement texture creation, clipping, palette swapping, color palettes, and text rendering.
Learn to manage game globals by wrapping them in a class with static members, protecting headers with include guards, and initializing these values at startup.
Explore animation concepts for a hack n slash game, including sprites, frames, and spreadsheets that describe animation sets with clipped regions, offsets, and hit boxes.
Learn to manage game timing with a time controller that tracks ticks, computes delta time, and supports pause, resume, and reset for smooth animation.
Build a frame class for sprite animations in a C++ SDL2 project, detailing frame data (region, x/y, offset, pivot) and a draw function tied to its animation and animation set.
Develop an animation class that stores frames, provides a constructor and utilities to get the next frame, request a specific frame, and iterate through frames using an iterator.
Design an animation set that holds multiple animations, enables name-based retrieval, iterates to select the correct animation, and manages textures safely with a destructor and null checks.
Learn to load and parse animation data for a hack n slash game using SDL2 and C++. Build frames with clip regions, duration, hit boxes, and damage, then create textures.
Harness polymorphism in C++ to treat diverse game objects as a single entity interface, updating and drawing enemies, players, walls, and traps through a common loop.
Develop an abstract entity base class for a 2d game, encapsulating position, direction, collision box, movement, and animation state, with virtual methods for polymorphic behavior.
Implement entity functions by updating movement, direction, and animation frames using speed, delta time, and angle calculations, then draw and debug with collision boxes for collision handling.
Explore collision concepts with a detection method: union collision boxes into a big rectangle, sample along movement from start to end, detect overlaps, and push out by the smallest angle.
Implement entity collision in a hack n slash game with sdl2 and c++, using collision boxes, a sample box, and a collisions list to detect, resolve, and slide around solids.
Implement entity helper functions for distance, angle, and center calculations, collision checks, and rectangle-based entity-based queries across points and entities in an SDL2 C++ hack-n-slash project.
Sort and manage the global entities list with static references, implementing a depth-aware 2.5d rendering order and safe removal of inactive entities using iterators and list erase.
Create a living entity subclass of the base entity with health, damage, and hit boxes, using frame-based damage timing and an abstract take-damage method.
Create the hero by extending a living entity, implement movement and animations for idle, walk, attack, and dash, and plan animation states with an animation sensor for future sound.
Define and manage hero behavior by implementing constants, animations, collision boxes, movement, damage handling, invincibility, dashing, and state-driven animation updates.
Implement a keyboard input class to capture button presses and holds. Map keys to actions and drive the hero movement through directional input.
Create a wall obstacle by building a wall object with a collision box, animation frames, and a simple update loop to manage frame timing and looping.
In this course I'll take your intermediate C++ skills, buff them up a little and use them to make a Hack n Slash game using SDL2. You'll be taken through the entire process of making this game and given source code of the project at various checkpoints if you get lost along the way.
We are going to learn basic game dev elements, such as game loop, animations, collisions, player input and AI. I'm also going to boost your skills with Inheritance and Polymorphism to simplify a complex game structure down into a few short bits of game logic.
At the end of the course you'll walk out with game dev experience and a little game you can expand on and even build up to a marketable game.
Let's make a game!