If you want, you can change settings and modify/create new AI Players. The
files you need to change are located under the Settings, Players and AI folders.
You will either find them under the unzipped folder if you used the downloaded
zip. or under C:\Documents and Settings\<user id>\Tennis\ for windows If you are
using java webstart it will be under the user.home/Tennis folder. For
Windows that will typically be something like C:\Documents and
General units are cm and seconds. Ticks are measured in ms.
Create new players and AI profiles by creating files in the Players and AI
folders, and setting the properties as described below.
Creating new player characters:
ranking=500 //Used to order players
hitRange=100.0 //How good reach a player has
energyMatchRecover=0.7 //How well the player recovers at end of a game
energyDrainMove=3.0E-4 //How much move drains the player
energyDrainHit=3.0E-6 //How much hit drains the player
gameDrain=0.25 //power recover after game
ballDrain=0.25 //power recover after ball
serveToss=1050.0 //how hard player will toss ball
serveBoost=1.4 //serve power = serveBoost*maxPower
maxPower=2900.0 //How hard the player can hit (only used for serve now)
maxForehandPower=3100.0 //How hard the player hits forehand
maxBackhandPower=2900.0 //How hard the player hits backhand
racketHeight=170.0 //Optimum height to hit ball
swingSpeed=0.25 //How fast the player moves in x-dir when swinging
swingYSpeed=0.7 //How fast the player moves in y-dir when swinging
speed=800.0 //Player speed
accY=0.07 //How fast the accelerates x-dir
accX=0.1 //How fast the accelerates y-dir
AIClass=AINew //AI controlling code (only AINew available for now)
AIProfile=Medium //Name of file of AI controlling profile when computer
controlled (see below, filename [+.prop] must exist in the AI folder).
Createing new AI profile:
SwingStart=600 //Distance at when swing will be started no matter if estimated
to be able to reach ball
paralyzeTicks=200 //ms that player will "pause"/do nothing after hitting ball.
reactionTime=200 //How long time player will pause after input registered (ms).
advanceDefinite=0.9 //If player is closer than 0.9*Baseline it will advance to
advanceLimimt=1.2 //Further than 1.2*baseline and player will for sure not
viewDist=1400 //How far player can "see". AI will not start move to receive ball
until in viewing distance
secondServeDrop=300.0 //How much softer second serve will be
basePos=50.0 //Min distance behind baseline
basePosRand=150.0 //Additional random distance
netPos=60.0 //Min distance from net when at net.
netPosRand=60.0 //Additional random distance
thinkInterval=3 //Let the AI think every 3 loops
lobMinLimit=-300.0 //When opponent is at this dist from net, always lob
lobMaxLimit=700.0 //When opponent is at this dist or more from net, never lob
serveHeight=340 //When ball falls below this AI will release the serve
precision=0.3 //How close to the line the AI will aim
risk=0.1 //How much past the line AI could miss (can be negative)
serveToss=900 //Power in serve toss
You can also change the ball properties, but then the game needs to "retune"
how to estimate the ball track, which isn't possible from the compiled version.
So that is not advised at this time. Ctrls.prop not needed to edit. UI available
in game for that.