Wrapping up from last time: Bounce problem (negatives...) Collision checking reorg: Floor = square thing Projectile = round thing Water tank = cylinder thing They can be non-solid if not included in solid objects list A target box: We can explode into projectiles They'll damage the floor If this isn't quick, I'll fix it later 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