Just finished a major overhaul to character creation for the campaign. For those of you young-ins that never played the original Ultima games like 5 and 6, character creation was a narrative driven process.
So in Shadow over Moonglow, players will begin similarly with a narrative driven dialogue that effectively determine a preset, after which they can customize the look and specific stats of their character.
This will also be supported in two-player multi-player. Here is an example of how it looks:
There were quite a number of challenges with implementing this, to say the least. Here are a few issues I needed to overcome:
1. I cannot figure out how to remove races from the normal character creation process, so I opted to go with assigning a pre-made character and then sending them to the "re-spec" version of character creation. While it works, it's not ideal because the re-spec version does not provide a way to change gender or memorized (starting) skills.
2. Re-spec character creation does not appear to support more than one player at a time. The engine uses hard-coded camera and trigger names for establishing the UI perspective and portraits and the "re-spec" version of character creation only recognizes the value for one player as opposed to normal character creation where it seems to support at least four. This forced me to put in "wait conditions" when one player went into customization and another attempted to go in at the same time. Blargh!
3. Cameras and timing issues. Spectator cameras can be fickle. It was very hard to debug a problem where a remote multi-player user "connects" to the game and you can start performing a lot of operations on the player but there appears to be a significant lag time before activating a spectator camera works. It's as if the player is there but the camera has not finished initializing so if you try to set the player's view to a spectactor camera too early, it simply doesn't take. I had to put in a three second delay after the user connects before activating a spectator camera would work. It's an uncomfortable position because I'm not sure if the timing will work for all play sessions and I don't know of any Osiris event to key on to know when the camera is up and ready to be assigned to a spectator camera.
There are still some other kinks to work out with respect to user disconnects and cleaning up the state of the two characters in dialog when it happens. I also need to define a bunch of custom presets as this currently just uses the Origin ones, but it's progress!
DOS2 Mods: Happily Emmie After and The Noisy Crypt