Submission Text Full Submission Page
Ultimate Soccer Manager 98 is a simulation game by Sierra that lets you manage your club's team, training, tactics, finances etc.

Objectives

  • Used Emulator: Bizhawk 2.11.1 (DOSBox-X core)
  • Uses hardest difficulty
  • Heavy luck manipulation
  • Genre: Simulation, Sports
The run aims to complete one season while reaching 1st place in the league, to trigger the victory screen. It does so by using the instant match feature over and over while manipulating favorable outcomes.

About the run

This is one of my childhood games that I spent quite a few hours playing. I recently managed to get the game running on DOSBox-X by turning off hardware-acceleration both in dxdiag (DirectX Diagnostic Tool) for Sounds as well as in Control Panel → System → Performance → Graphics. This fixed the game sometimes hanging up as well as the cursor glitching out, causing garbled mess to get rendered on the screen in addition to inaccurate lag frames. The cursor is still black in some parts of the game but I think that is negligible.
Since I got the game running, I was intrigued to re-play it and did some testing. I was also intrigued to finally get Windows 95 set up on Bizhawk so I could do some savestate testing with the game to figure out how the match results are determined. I posted the result of my testing here. As I explained, the result for the upcoming match can be changed by certain actions such as swapping players' positions, reading the newspaper or looking at your voice mails amongst other things.
Manipulating the match result to your favor is not trivial. Unless you are playing a top-tier club, it takes quite a bit of retrying (or savescumming) to get a favorable result most of the time. It seems the luck algorithm punishes you a lot if players are in a bad position (such as having someone in the goal who is not a goalkeeper) in addition to minor factors such as the fitness stat, your players' the opponent players' stats, the strategic choices your opponent and your team are using (passing vs. long ball, offensive vs. defensive play etc.).
I got away with swapping just a handful of players in the beginning and then using the newspaper and the voice mails for the remainder of the season. As it turns out, manipulating luck could be done fairly easily and efficiently: Before a match, usually you have to advance time 1 to 3 times - the match result would be different depending if you read the newspaper/look at your voice mail on the 1st or 2nd or 3rd... time period. You can mix up these things, so you can for example look at your newspaper on the 1st and 2nd time period and look at your voice mail on the 3rd to get a unique outcome. Usually, 80-90% of the time, the match would result in a loss, but there were often enough options available to get the successful 10%. Sometimes I would opt for losing if I determined that winning required that you do very long sequence of actions.
If a match yielded injuries or red cards on my side, it wasn't of any use since that means I'd have to replace players and I didn't want to lose time by visiting the team selection screen again. I also never visited the team training screen. Having the assist trainer set up an automatic training program could manipulate luck, but it takes a bit longer than simply looking at the newspaper one or two times so it wasn't considered. Player stats depletion is very slow so I got away with never training my team.
In the last third of the remaining matches, I took a much closer look at my players' yellow cards and at the runner-ups in the league table. Each yellow card would give a player 3 penalty points and accumulating 21 would give them a 2-match ban, so I had to make sure that no player got close to reaching that number. I figured that I should not only try to keep winning, but also try to make the runner-ups lose or get a draw so they don't catch up too quickly. At about 5 to 6 matches remaining, it was possible to just play the remaining matches without any more manipulating to successfully win the season.
FC Twente in the Dutch KPNT league was chosen because it was the best club in its league that didn't qualify for any European Cup games. The thing is, the game is pretty intransparent about how it determines whether a team is playing in any special cup (such as the European Cup). Such games would sometimes only show up on the fixture list later on, as you keep playing. The best case scenario: you choose a team that has 34 league matches and 1 cup qualifyer that you intentionally lose. In testing, Juventus - one of the best Italian clubs - met this criteria but when I started TASing, for some reason I was entered into 6 group matches automatically. I then did testing again, and got 6 group matches again... I'm not sure how I got the 34 + 1 matches with Juventus before. But I decided to solve this issue by choosing a different club. Top Dutch clubs like Ajax would get additional games such as European Cup games, whereas FC Twente only gets one mandatory Amstel Cup match. I determined that manipulating wins with this club was easy to do so I chose this club for my TAS.
This project was very, veeery frustrating to work on with Bizhawk 2.11 since TAStudio would crash every 2 minutes in some crucial parts, such as during screen transitions or when game files are being installed. It almost made me quit the project, but when I tried Bizhawk 2.11.1, there were no more crashes and I could TAS the game for three days straight without problems!
Also, I almost could not submit the run because the Windows 95 installation movie didn't sync anymore, likely a side-effect of the 2.11 crashes I experienced while working on it... But I was able to successfully resync the installation movies on Bizhawk 2.11.1.

Game version

There is the original USM 97-98 version and the updated 98-99 version. The latter updated the clubs and player rosters, added the Dutch and Spanish leagues and fixed a few bugs. Since I don't know of any bugs that would have been useful for this run, I opted for using the more recent game version (2.00).

Difficulty setting

This TAS uses Coach Mode on Real Hard difficulty. The game doesn't make it very clear what the difficulty entails. Perhaps you get a game-over for bad performance faster, the AI is more aggressive, you don't get to give players too high wages or don't get to buy just any player you want. Or perhaps the match simulation is more unforgiving. Either way, I hope that I made it more impressive choosing the hardest option.

Verification Steps

If you see any ROM hash mismatch errors, it is probably safe to ignore them - these are the result of resyncing the movies and migrating from Bizhawk 2.11 to 2.11.1.
1) Create w95_500MB.hdd
Make sure to have these files in the same directory. These are also mentioned in the Windows 95 tab here.
FilenameFilesizeMD5 hash
Windows 95B OEM (000-45234)(Microsoft Corporation)(July 1996).iso626,272,256 bytes5c3188e4685d19a98defc011395aaa6b
windows9x-utilities.iso17,725,440 bytes6b51f465a5b7fed54154f52930261544
w95install.conf
Then, load this XML in Bizhawk 2.11.1:
<BizHawk-XMLGame System="DOS" Name="w95">
 <LoadAssets>
   <Asset FileName=".\Windows 95B OEM (000-45234)(Microsoft Corporation)(July 1996).iso" />
   <Asset FileName=".\windows9x-utilities.iso" />
   <Asset FileName=".\w95install.conf" />
 </LoadAssets>
</BizHawk-XMLGame>
Then, load this BK2. At the last frame, export HDD:
FilenameFilesizeMD5 hash
w95_500mb.hdd(todo) (the hash will be added eventually)
2) Find the game ISO
Find the game ISO
FilenameFilesizeMD5 hash
USM98-99.ISO226 MB (the hash will be added eventually)
3) Verification Movie
Load an XML file in Bizhawk 2.11.1 with this content:
<BizHawk-XMLGame System="DOS" Name="USM 98 verification file">
 <LoadAssets>
   <Asset FileName=".\w95_500mb.hdd" />
   <Asset FileName=".\USM98-99.ISO" />
 </LoadAssets>
</BizHawk-XMLGame>
Load this bk2 movie file and on the last frame, export HDD.
FilenameFilesizeMD5 hash
USM98_play.hdd(todo)(file hash will be added here later)
What the verification movie does:
  • Inserts "c:/sierra/usm98-99.exe" behind "run=" in WIN.INI, so the game runs as soon as Windows boots up.
  • Turn off hardware acceleration in Control Panel → System → Performance → Graphics (fixes mouse cursor glitching up)
  • Set Display to 256 colors and 640x480
  • Turn off hardware acceleration in dxdiag → Sounds (fixes occasional softlock)
  • Installs the game
4) TAS Movie
Load this XML in Bizhawk 2.11.1:
<BizHawk-XMLGame System="DOS" Name="Ultimate Soccer Manager 98-99">
 <LoadAssets>
   <Asset FileName=".\USM98_play.hdd" />
   <Asset FileName=".\USM98-99.ISO" />
 </LoadAssets>
</BizHawk-XMLGame>
Then play either of these two movies:
  • load the bk2 movie file from this submission
  • load this bk2 with extended input so honorable mentions are shown after the initial victory screen
I verified the steps and the movies should sync.
Note about extended input: The submitted run only reaches the victory screen, whereas the above linked extended input bk2 advances the screen every 5 seconds or so to show all the honorable mentions. Feel free choosing what should be used for the publication.
Note about mouse cursor when movie ends: When the submitted bk2 movie ends, the user re-gains control over the mouse which will cause the mouse cursor to go to places unintended. Please make sure during encoding to extend the input or set mouse movement to sensitivity 0% so the mouse will not move until the end of the encode.

Thanks

Dimon12321 for listening to my complaints in the Running Windows games in DOSBox-X forum topic.


TASVideoAgent
They/Them
Moderator
Location: 127.0.0.1
Joined: 8/3/2004
Posts: 17579
Location: 127.0.0.1
This topic is for the purpose of discussing #10494: MUGG's PC Ultimate Soccer Manager '98 in 02:29.033
eien86
He/Him
Expert player (5680)
🇨🇭 Switzerland
Joined: 3/21/2021
Posts: 449
Location: 🇨🇭 Switzerland
TASVideoAgent wrote:
This topic is for the purpose of discussing #10494: MUGG's PC Ultimate Soccer Manager '98 in 02:29.033
Yay! More Soccer simulation games please! I personally prefer when all games are won, regardless of whether you have enough points already to win the league. Also that forces you to go through all cups (FA, Champions, EL, etc). Nevertheless, great execution, Yes vote.
Former player
Location: Zurich, Switzerland
Joined: 6/30/2010
Posts: 1143
Location: Zurich, Switzerland
It seems that there are three potential categories for this type of game. "Win the league" - What this TAS does. Just win the domestic league, number of match wins doesn't matter. "All Trophies" - Win all competitions in a season, number of match wins doesn't matter. "All Wins" - What eien86's TAS does, win every competition and every match in a season. This TAS was interesting to watch, but you are ultimately just starring at stat screens that go by very quickly and are therefore hard to even read. "Meh" vote.
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
Editor, Expert player (2628)
🇩🇪 Germany
Joined: 5/15/2007
Posts: 4109
Location: 🇩🇪 Germany
I decided against all wins and all cups for two reasons. 1) Some clubs get to play Cup Winners Cup, League Cup, FA Cup. Others get to play UEFA Cup, League Cup, FA Cup. Or Auto Windscreen, League Cup, FA Cup. Then there are clubs that only get to play 1 or 2 cups. I didn't want to make things feel arbitrary by choosing certain cups over others and having to make the decision to use a team with as many cups as possible or a team with as few cups as possible. 2) When winning a cup, there is a victory video sequence. But during an on-going run, I would have to skip it so it wouldn't be shown in a run. Whereas the victory screen for placing 1st in the league is shown at the very end of the run so it can be shown. I deemed this to be a good ending point for the run. I deliberately chose a club with as few matches as possible, 35 matches, and tried to reach the victory screen as soon as possible. If I had chosen the sub-goal "win all the matches", I would have had to compete in at least one cup and that would have prolonged the run and I think it would have made things feel arbitrary (because why choose the Dutch Amstel Cup over any other cup in the game?).

1780718966