Summary
Full Transcript
00:00 - Intro + Schedule 01:45 - Separating Data from Logic 03:55 - EntityManager Overview 07:12 - Entity Implementation 07:47 - EntityManager Functionality 09:27 - Entity Storage Options 10:43 - std::vector of Entity 13:05 - std::vector of std::shared_ptr(Entity) 16:38 - Initial EntityManager Architecture 19:37 - addEntity initial implementation 21:53 - Creating New Entities 23:18 - Iterator Invalidation 28:34 - Delayed Effects (add/remove) 30:39 - Final EntityManager Architecture 31:42 - Updated addEntity Function 32:27 - EntityManager::update() 33:14 - Removing / Destroying Entities 38:25 - Game Loop Structure 39:32 - Entity Private Constructor 44:09 - 2D Game Math Overview 45:05 - Game Color Spaces 47:11 - 2D Vector Math 51:54 - Find Vector from Angle and Distance 54:30 - Find Angle and Distance from Vector 56:21 - Normal Vectors 57:15 - Bullet Velocity from Mouse Click 59:51 - Circle Collisions 1:05:26 - C++ Random Numbers Memorial University - Computer Science 4300 - Fall 2024 Intro to Game Programming Professor: David Churchill - http://www.cs.mun.ca/~dchurchill/ This is a course for students interested in learning the fundamentals of game programming and game engine architecture. Topics include an introduction to: vector math for games, rendering, animation, and artificial intelligence, collision detection, game physics, and user-interfaces. Students will be writing fully functional games using an ECS (Entities, Components, Systems) architecture, using the C++ programming language and the SFML graphics library. Course Assignments / Files will not be released publicly
