COMP4300 - Game Programming - Lecture 05 - Intro to ECS

preview_player
Показать описание
Memorial University - Computer Science 4300 - Fall 2023
Intro to Game Programming

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
Рекомендации по теме
Комментарии
Автор

I love this course! Thank you for sharing it publicly!

LoreleyLylu
Автор

Thank you for posting these great videos! I'm so glad that you are talking about modern c++ techniques. I remmeber that when I was taking an Computer Graphics course in UWaterloo (the assingnment is in OpenGL/c++), and the professor clearly said that he knows nothing about c++ in the first lecture LOL. I did struggle with writing c++ assignments a lot :/

LichengZhang-iq
Автор

Your course has been truly insightful and helpful, Professor. Thank you. I watch this class on the 'COMP4300 2020' collection.

umrsai
Автор

Thanks for sharing these videos! Nice practical intro and it’s great to start by focusing on foundational stuff like ECS and Vec2 instead of jumping right into flashier concepts before building a foundation.

Slight correction for future viewers, near the end in response to a question it’s stated that the geometric interpretation of the dot product (a.x*b.x + a.y*b.y) doesn’t make sense in 2D. That is not true—the dot product works in any dimension (and is quite useful in 2D). It gives you the product of the two vectors’ magnitudes times the cosine of the angle between them—one upshot is that if it’s zero, they’re perpendicular, and if the dot product of _normalized_ vectors is 1, they’re parallel.

The _cross_ product is the one that doesn’t directly make sense in 2D, although there’s another, separate thing that’s often nicknamed the “2D cross product” (a.x*b.y - a.y*b.x) that is useful for certain types of calculations in 2D, although it returns a scalar unlike the 3D cross product which returns a 3D vector.

_noisecode
Автор

really appreciate that c++ refresh dose. i wanted to learn by studying (yet another) doom port client-service engine called zandronum, but it's a big thing, so here am i

stardustmotion
Автор

I'm new to c++ in general, and I was wondering if you have the slides somewhere to download - or does that come under the 'materials will not be made public'?

joshuacain
Автор

I´m enjoying this course very much but I think that the explanation of OOP is deeply flawed. You are comparing ECS to really bad Object Oriented Design. You don't need ECS to do composition. You don't need to do that to explain the benefits of ECS, and explaining OOP in that way only confuses people.

angelsiendonessillero
Автор

hi Dave
i am going to look at your series.
i wrote a program over the last 3 yrs.
it is graphics oriented.
more of a simulator than a game.
i think of it as an
abstract thot builder/recorder/player.
i explained something to my father 3 yrs ago,
after which i said " see what i mean ? ", he said no.
so i said " you want me to draw you a picture ? "
i realized i know how to do that, so i did.
i used opengl and C of course.
to use it, you explain an idea in english and
my program draws it. 2d, 3d, static, or motion.
i use loops, named lists, named paths, named sequences.
no neural networks, no ai, no gpus, no special syntax.
just words and numbers
like i was explaining something
in a text message to a 15 yr old kid.
then my program makes/plays it.

timstevens
join shbcf.ru