Physics for Games

May/June 2021: More Collisions

  • SAT Collisions for Convex Polygons with Explanation
  • Pill Collisions
  • Remove (or hide) ellipse collision pages for now
  • 3D scene setup
  • 3D scene basic physics with spheres bouncing around a scene

Obviously, the month of April did not go as planned. I got caught up with a number of tasks that I couldn't handle, namely, the pill collisions. These, as I discovered, were quite unfeasible and involved a lot of complex maths that I didn't quite yet understand. They are also unreasonable for game development's sake, so I will ditch that effort and focus on doing other things. This, of course, is not time entirely wasted, as I now I have a somewhat better understanding of why ellipses (and by extension ellipsoids, although I am not entirely sure of this). I should instead try to figure out the intersection using pills, not ellipses. Pills are simply 2D shapes made of a rectangle in the middle and two half-circles at either ends. This is a far less expensive collision to calculate.

I also failed when it came to getting a good physics collision system going. This stemmed from a general misunderstanding of moment of inertia and how it can properly be implemented for each shape. I think I am getting a better grip on it now, however.

And that brings me to May/June. I am combining these two months because I am quite busy in May with family stuff, and hence won't be able to give my full attention to the project. That being said, as a high-level goal, I hope to get some more 2D collisions going, and maybe move onto 3D fairly soon. For 3D, I would simply like to get the physics simulation up and running with simple objects (spheres, cubes, etc.). From there, I want to begin exploring more complex physics simulation topics like oct-trees, multiple collision resolution, etc. We will see what happens, but I am optimistic, so long as I stay the course.


April 2021: Ground Work and Initial Collisions

  • Orthographic rendering basics
  • Uniform build Process for WebAssembly
  • WASM Framework with simulation loop

2D Collisions with Descriptions

  • Ellipse-Line Collision
  • Ellipse-Ellipse Collisions
  • Ellipse-Circle Collisions
  • Ellipse-Square Collisions
  • Rectangle-Line Collisions
  • Circle-Line Collisions (Redo)
  • Rectangle-Circle Collision

Brief Wasm Series

  • Getting started with WASM docs
  • Wasm examples

Everything above has a due date of April 30th, 2021. None of it is that hard, so this should be a very doable timeline.