This project requires fixing a problem in a Table Tennis game.
The table tennis game is coded in C++ using OpenGL and SDL.
The human controlled paddle at the bottom of the screen is controlled with the mouse. Pressing the right mouse button enables the paddle to swing from the right side. Press the left mouse button enables the paddle to swing from the left side.
PROBLEM WITH CURRENT VERSION
When the human controlled player at the bottom of the screen swings the paddle quickly right or left just prior to and while making contact with the ball, the ball has more side spin and curve which often results in the computer controlled paddle at the top of the screen hitting the ball backwards since the computer paddle's position remains aimed sideways rather than changing the paddle position toward the human controlled player. The video folder has an example video of this problem. This needs to be fixed although the fix should not change other shots the computer ai makes. The fixed shot should be consistent with the types of shots the computer normally hits. For example, the computer hits some winners when the paddle is close to sideways when it moves closer to the net.
The computer paddle does not hit the ball backwards when the human player hits regular straight shots. Regular straight shots from the human player occur by only pressing the mouse button and not moving the paddle quickly right or left just prior to making contact.
NEW VERSION REQUIREMENTS
The current version has 13 levels of ai difficulty. The ai levels_current [url removed, login to view] and ai serving_current [url removed, login to view] files detail the parameters used for these levels which are in the current version. I'd like the current levels 1 to 13 moved to levels 3 to 15 and remain unchanged including the flaw where the computer paddle hits the ball backwards since the flaw allows the games to be competitive and close. I'd like the new levels 1 and 2 to fix the computer paddle hitting the ball backwards problem. I'd also like like the new level 1 to have the computer serves always having a very sharp fast curve. This serve is already coded in the current version but is rarely and randomly used.
I prefer that the bidder briefly explain what's causing the problem. A quick demo of the fix would be beneficial to allow me to determine if you can fix the problem properly.