When two balls hit each other, they will push each other away and then adjust their velocities to look like a real bounce. 2 colliding balls turn yellow upon collision.
When a ball collides with a wall, the wall will push the ball out, estimate which wall it went through, and make it bounce off that wall. The bounce will adjust the velocity of the ball so that it looks accurate. The ball turns pink when it collides with walls. Black if it hits the dummy or the player.
The player cannot walk through stationary bounding walls. They can, however, walk through rotating bounding boxes and the dummy. I did not have enough time to implement that.
The start of a multiplayer dodgeball game. Currently, the player can easily move around the map and jump off of things that they are standing on. The ground can be remade so that it can have hills and dips wherever the level needs them. Walls are easy to set up, and colllision works effectively. Though it still is incomplete, it is a strong start for the game.
Every bounding object has a bounding sphere. This ensures that the intense bounding box calculations don't occur for objects with no chance of colliding. The algorithm for bounding spheres was: if the distance between the two objects was less than both objects radiuses added together, then there is a collision. Bounding boxes also have spheres who's radius is their longest side. The rotating bounding boxes have a radius the user must pick manually.
Bounding box collision detection was based on the distance to a plane formula. By using a point on a plane and its normal, you can calculate the distance from the center of the ball to the plane. Since a box is just 6 planes, this works just fine. If the distance from the center of the ball each plane, minus the radius of the ball, is negative for each plane, then there is a collision. To calculate which wall the ball hit, check the spot before it collided to find the plane with a positive distance. This has issues in practice, however, as the ball could have been pushed back into the collision after it was just pushed out.
For the bounding box to bounding box algorithm, please click HERE.
The current bugs are: sticky walls and problems caused from really uneven scaling. In order to get off a wall you are touching you must move in the opposite direction of it. If you make a wall that hs really small sides, then the ball might not bounce off it correctly.
I hope to make it so that the player can throw balls with the left mouse click, and have the camera rotate whenever the player moves their mouse. I also hope to be able to import my model in place of the current dummy model. As well as design it so that when the dummy is hit, it will move appropriately.