Another one of the peculiarities in Ultima 2 is in how it deals with saved games. Currently, if you try to create a new character when one already exists, the game gives you a not-so-user-friendly “Not a blank player disk” message and won’t let you proceed. The reason for this goes way back to the style of media on which Ultima 2 shipped.
Floppy Release
In its original 1982 incarnation, Ultima 2 was run entirely on floppies and included separate program master, player master, and galactic disks. When the player wanted to create a new character, they would simply use a blank floppy. The game would then clone files from the player master and the new floppy would become the player disk. Players could spawn as many player disks as they liked to create multiple characters.
CD Release
When the game first shipped on CD in 1991 and installed to the hard drive, the contents of all the disks were dumped into one directory and the game code was patched so as not to prompt for a new floppy disk for player data. This meant that it would use files in the local directory, but when the game saved it would overwrite the player master files. So even if you could force character creation somehow, there were no unmodified versions of those saved game files to roll back to. If you wanted to play a new game or otherwise reset? Reinstall.
U2 Reset
The 1.x versions of the Ultima 2 Upgrade solved this by including an external program called “u2reset”. It would reset the PLAYER and overworld MAP/MON files that contain the save state, but it also had some caveats. First, it worked by removing each monster individually. As a consequence, it then needed to recreate the horde of monsters on the Legends map. That data was just hard coded into the reset program – which bound it a little too closely to game state. Next, I ensured it was properly cross-compiled so it could run on DOS or Windows. This adds only minor maintenance overhead but also further bloats the upgrade package. And last was that it just wasn’t an obvious flow. You had to exit out of the game to run it, and not everyone was aware of its existence because who reads install instructions anyway? 😉
A better experience would be to have a smarter game that doesn’t expect a floppy-style file structure to manage save state. So in the next release I’ve made several changes to how character creation and saved games work:
Saved Game Directory
The upgrade stores saved games in the “PLAYER.U2” sub-directory. This allows for the player master files to remain entirely untouched when saving a game. It also allows you to more easily locate your saved game files if you want to back them up.
Replace Character Confirmation
You can now start a new game with Create a New Character even if you have saved player data. Doing so will no longer yield the “Not a blank player disk” message. Instead it will show a warning with your existing character information and prompt you for a confirmation. Proceeding will bring you to the character creation screen. It’s similar to the Start a Name Game feature added to Ultima 3.
New Character Confirmation
Similar to the above, choosing the Play option when you have no character created yet results in a “No character on disk” error message. Now, if there is no character, the game will instead ask if you want to create one. Proceeding will bring you to the character creation screen.
Proceed Into Game
This last one is small and more of a matter of convenience. But previously when you finished creating your character it would take you back to the intro sequence. The game now takes you right into playing the game.
All of these changes are coming in v2.0 which I hope to release relatively soon.
One thought on “U2 Upgrade – Character Creation & Saved Games”