Coding for multi-player is definitely a pain. You may recall my experiences in my last post on the matter. It has been a while since then, but once again its complications have returned in the form of interactive cutscenes. Hopefully, my own testings will be if use to others who may be considering MP coding.
I started to write a cutscene conversation for a side-quest (at last!) and wondered what would happen if one player should activate a cutscene in one area, while another player was in a different area (and the conversation was set to multi-player cutscene in its properties). Thankfully, (and it may have been obvious to some), testing showed the cutscene does not fire for those in a different area to where the cutscene takes place. This means it is possible for one player to see a cutscene that other players will have to learn about afterwards. Thankfully (at least for my purposes), the journal does update for all players. The point is, I like the idea that one player may witness something another may not, simply because the were elsewhere at the time. E.g. One player is buying equipment at a store, while another player stumbles into a cutscene as they were making their way to another location.
In fact, there were only a couple of minor difficulties that I have encountered when coding for multi-player gaming at the moment:
Don't 'Follow My Leader' Question
First, any companions (or extra PCs added to the game at party creation time) always follow the leader of the party between area changes even if it was a non-leader player who had originally asked the companion to join the party. In other words, if Player A had asked companion Janice to join the party, and Player B had asked Frank to join the party, then both Janice and Frank would leave the area with the leader (Player A in this case), if Player A moved to a different area to Player B.
As I say, it is a minor issue, and I have already written some code that prevents this when jumping players within the same area. So, maybe I can adapt this code to do the same thing for between areas. I mention it, just in case anybody knows a quick and easy way around the problem. I can tell you that it is not as simple as removing the tick from the Party Transition box, as this simply prevents any other players from jumping at the same time as the exiting player, but does not prevent all companions following them.
At the moment, the simplest workaround is for the players to change leadership between the players involved if one of them wanted to take the group to a different area. However, this still operates as an all or nothing affair at the moment and I would be interested if this can be coded for, without resorting to allowing more than one party in the module. I know the situation where the likelihood of such splits in the group is highly unlikely, but I would like to know if it is even possible. If it not possible, then I will simply ensure the situation where a split is required does not rely on an area change over. ;)
Cutscene Camera Question
The second minor issue occurred when I ended a multi-player cutscene conversation for all players. After choosing "Goodbye" and ending the cutscene, the player making the conversation choices has a "clean ending" and the camera returns to a pleasant viewing angle. However, (in my own testing), as the conversation comes to an end for the second player who is viewing the conversation, the camera suddenly jumps above their head looking down. Again, it is a minor nuisance, but is one that I hoped someone else may have encountered and know how to "fix".