Collision checking speed: We must divide our world into segments Not today, but generally: Non-moving objects can be classified by location So we could check just the instances near us Can be done as a late step in level loading New non-moving objects must be added Not as helpful for moving objects We'd have to keep changing where they are! Speed with thick vs. thin floor Today's main goal: What blocks a line from one point to another? Marking an object: Will be useful We'll add it to the fragment shader This makes it pretty universal Guess that's ok... Iterative solutions: We can calculate a vector from one to the other easy enough How far to move, though? A tiny bit: Accurate, but slow A lot: Can phase through things The distance to the nearest object: Better Slow when passing something Fast in empty space If the nearest object is farther away than the goal, we can see the goal So we need a nearest object function! Use fast check distance, since it should be fast Closest point if it's not fast Given this: What are we looking at? Settling the UI: Query tree or hash table I think at this point we're pretty well good on object definitions Kinda have to be Stuff I'd consider important: HUD and aiming point Texture scaling Lighting If somebody wants it: Vehicles Not jumping through platforms Bouncing on curved surfaces Easier after lighting, since we need normals then Non-first-person view Momentum when jumping Crouch/sneaking Fragments that aren't projectiles Stuff I think would be fun: Rolling spheres (I had one in the engine last time) Ray tracing (I'd have to write it offline, then show you, cause it'll take forever) A few properties of our base class would have to change The rest of the code that would change is in gameobject.cpp