phoyh / tennis-manager

Manage a tennis player and guide him through his career

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Manage a tennis player and guide him through his career by taking care of his finances, training & skill development, and participation in tournaments. Up to four managers can take part in this hotseat game.

The simulation is composed of the a few key elements. The gallery illustrates some of them:

  • Tennis Players
    • The top 140 players of 1994 are in the game. The 1 to 4 managed players start young and with low skills. The rest of the players have differing realistic skills that remain stable throughout the game.
    • Skills: There are several categories that contribute to a different degree for the calculation of aggregate skills on court types. For example, baseline shots are fundamental for clay courts, whereas volleys are important for grass or carpet courts.
    • Special Skills: The player's experience only improves by active participation in tournaments. The weight of endurance increases steadily throughout a match. Health deteriorates by participating in tournaments and training camps.
    • Progression: Player age leads to a continuous improval (young age) or deterioration (old age) of skills. In addition, training camps are available for skill boosts. There, the manager chooses the skill categories to focus on. The more expensive the camp the more boosts are provided.
  • Manager Finances
    • Start capital: Depending on the difficulty level, it ranges from 10,000 to 1,000,000. Whereas a beginner may become competitive within few weeks by repetitively booking training camps, an expert must wait years for the natural progression to take place.
    • Sponsoring: One contract can be signed for the shirt and the sleeve respectively. The money offered by the sponsor depends on the player skills and ranking. Installments are paid out on a weekly basis.
  • Tournaments
    • Schedule: The tournaments of 1994 are available in the game. Their prize money, calendar week, court type, and number of sets are all realistic for that time.
    • Prize Money: Is divided among the participants based on performance, meaning that the winner gets much more than losers of the first round. No money is given to players who fail in the qualification.
    • Participation: Each manager may choose to let his player participate if his health is good enough and he is not on a training camp. In addition, travel expenses (1,000 to 3,000) must be paid. The AI players take part based on their skill for the tournament court type and the prize money.
    • Points for Ranking: The rules of 1994 are applied. This means that bigger tournaments provide more points. In addition, awarded points expire after exactly one year.

How to Use

Put the repository into a mounted directory of an emulated Amiga 500 and run the script from the shell:

execute TennisManager

You can also start using the workbench (info-files provided).

The game language is German - but you only need to know some key words in order to play it.

The game is completely written in AmigaBASIC. Its source code (both ASCII and tokenized) is also provided and can be run from the IDE. The point of entry is src-tokenized/Tennis, but be sure to reside in the src-tokenized directory.

1992 Version

The first version is also included in v1992. It is restricted to AmigaBASIC and, thus, foregos any of later performance improvements and rich assets. Further points to note:

  • Calculating ranks takes very long, especially after the first tournament. This is not only due to AmigaBASIC but also caused by the Bubble Sort in Tennis6's dadadadd.
  • Only parts could be recovered - the rest (Tennis0, Tennis3 and parts of Tennis2) is lost on bad 2DD blocks. Hence, this version cannot be run.

Trivia

  • Assembly subroutines: The game is significantly sped up by using dedicated Assembly subroutines. Their sources are found here.
  • Split program: AmigaBASIC has a limit on the program size. It can only be raised by some degree using CLEAR. Hence, the program is split into several parts:
    • Tennis: Entry point including the CLEAR.
    • Tennis0: Simulation data and game setup.
    • Tennis2: Weekly managerial routine. This is the largest part and also the part the got most upgrades after the 1992 version.
    • Tennis3: Tournament competition, including match observation and the country flags.
    • Tennis4: Save & load routines.
    • Tennis5: National anthems - implemented natively in AmigaBASIC based on the SOUND statement.
    • Tennis6: Newspaper reports.
    • Tennis7 (only the 1992 version): Highscore.
    • Tennis8: ATP ranking.
  • Diskfont library: The only OS routine for which relative paths do not work. Hence, it is put into the src folders.
  • Anachronisms: The Soviet Union appears as country although, by 1994, it was already dissolved.
  • Inspiration: There is a much more basic game on the C64 from which I drew some inspiration.

Gallery

Setup

Setup_LoadNew Setup_PlayerNum
Load a game state or start afresh Up to 4 hotseat managers can participate
Setup_Player
Each manager has a name and (inconsequential) birthday.
The difficulty level mainly determines player money at start.
Press return for confirming the name and click the top bar for completing manager entry.
Setup_ChoosePlayer Player_Birthday
Each manager chooses the tennis player
he wants to manage. The chosen player's
skill is set to the same level irrespective
of who is chosen.
The player's birthday serves the purpose
of keeping track of the season.
Note that the manager's and
player's birthdays conincide...

Weekly Management Routines

Player_Menu Player_SkillComponents
Game menu for viewing player skill,
consulting tournament schedules,
and booking training camps.
Player skill has several categories.
The aggregate skill level by court type is based
on realistic weights of these categories.
Player_TrainingCamp
In training camps, the player's skill categories are selectively boosted (by 4%-10%).
The more expensive that the camp, the more boosts are available.
Note that none of the medieval buildings seem to have been preserved to modern times.
Menu Finance_Menu
Main menu for finances, player skill,
time series and save files.
Game menu for viewing cash flow
and obtaining sponsoring contracts.
Finance_ActiveSponsoring Finance_Sponsoring
You may hold up to one sponsoring contract
on the shirt and sleeve respectively.
Offer for a new sponsoring contract,
it is paid out weekly.
File_Menu File_Save
Game menu for saving, loading,
and deleting game states.
Click on "New Name" to create new save
or click on the left to overwrite.

Tournaments

Tournament_Schedule
The tournament schedule for the first few weeks of the year.
Each tournament differs in its prize money and the court type.
Tournament_ObserveOrAuto Tournament_AutoComplete
If no managed player participates, you
can choose to skip observing it.
Only high-level information of tournament
status is displayed if participation skipped.
Tournament_Draw Tournament_LiveGame
The tournament's draw for the qualification
round, the player is highlighted.
The player competes live, game-by-game,
against another contestant.
The A denotes the player who serves.

Results

Ranking_Calculation Ranking_Display
After the tournament, the new ATP rankings
are calculated. The speed-up
of doing that in Assembly is 100x.
The points of the ATP rankings adhere
to the rules of 1994.
News_Player
Newspaper commentary on the player's performance in the last tournament.
Available whenever player passes the qualification.
News_Overview
Newspaper overview on the tournament's outcome.
The performance of each seeded participant is listed.
And the national anthem of the winner is played.

Statistics

Stats_Money Stats_Rank
Time series for player's money.
He has more expenses than income.
Time series for player's rank.
The breakthrough is still outstanding.
Stats_Skill
Time series for player's skill level by court type - he has improved a lot in a few weeks.

About

Manage a tennis player and guide him through his career


Languages

Language:BASIC 100.0%