Hello World!
This is the first dev log. Moving forward I’m going to attempt to chronicle my journey to create a game and engine from the ground up.
Today I replaced the janky collision handling code I wrote as a proof of concept in the past with the goal of creating a new system that is extensible, easy to extend, and hard to mess up when adding new entity types in the future. The previous system synchronously handled all entity collisions while updating the position of each entity. This had a number of issues, chiefly that two entities could collide multiple times in the same tick and that it was really hard to think about the state of the world as entities we being collided with before they had a chance to update this tick. The new system defers collision handling until all entities have had a chance to update. Each collision that is detected is saved off as a pair consisting of two entities. The pairs are stored in an std::unordered_set which naturally will eliminate any duplicate entries.
I also took the time to set up this page as well as finally enable TLS on my site!