Pac-Man engine
What this means is that the game objects don't actually hold their render components but just a pointer to one that sits in the pool in the renderer. The only problem with pooling components is that the amount of objects stays the same. So what if we want to add/remove components? I solved this problem as follows: I split the pool in two sides, an active and an inactive side. This already meant that the renderer only needed to iterate over the acitve components to render and could ignore a portion of the pool. But it also allowed me to solve the problem of dynamically adding and removing components. The only thing I needed to do was switch objects from one side to the other. For a look at the full project visit the git repo:
0 Comments
Graphics Programming 2Seconds semester of graphics programming taught me many different things like animation, skyboxes, basic geometry shaders, terrain generation etc. We used C++ and a custom in house engine called the Overlord engine. In the end I made a small game using some of the systems I implemented during the semester.
C++ AI using behavior tree
Graphics ProgrammingArguably the most important/scary/exiting new course in second year has been graphics programming. But even though the subject matter is hard and goes really fast and sometimes got me doubting my life decisions. I ultimately enjoy this course to the fullest. It is incredibly fascinating to learn how in the world computers are able to render out 3D imagery so fast and I can't wait for the next class. We started from scratch learning the rendering pipeline and build up our knowledge from there using among other things the book "3D Game Programming with DirectX 11" by Frank D.Luna. This thing basically turned in to our bible of graphics programming and all the theory can be found in there. But the most important part is of course the practice, being able to apply that theory. We use The DirectX API (Microsoft) and each week we learn how to render out more and more exiting things like for example: Shapes Textured Meshes Light Saber Disney's AladdinI made a level from the Sega Genisis game Aladdin pretty much from scratch using nothing but C++ and a small openGL framework that. Being one of my first big C++ only projects the quality of code evolved noticeably over the time I spent on it. Things I have learned making the game and building systems in to the framework include for example: - collision detection with raycasting and hitbox objects - basic behaviour loops for enemy AI - making interaction objects like platforms, ropes etc. - sprite animation - camera movement - working object oriented in C++ - UI Some things I would like to do better in following projects:
- making movement matrix based - adding a managers for projectiles and enemies UPDATE: one year later I expanded on this knowledge in my own pac-man engine. |
AuthorFlorian Gaeremynck Archive
June 2019
Categories
All
|