Yea, I kind of anticipated that the "enemies in different places" thing would be poorly received, but wanted to give it a shot as it seemed the best compromise between "multiplayer is possible" and "multiplayer doesn't require a refactor of singleplayer". Perhaps not, it seems
I'm thinking that it may be possible to fix the "enemies in different places" thing, though, even within the context of the current sync model:
1) For each monster, the server "plots a course" for their movements for the next 5 seconds or whatever, and sends that to the clients.
2) The clients just play back that course, no questions asked (this means making sure that any change to the set of things that can physically "block" the monster would have to happen on the server first, but that's basically already true).
3) Every second or so, the server sends out the next second's worth of course, or whatever works out to be a good timeframe. If the client runs out of "course", that monster just stops moving on that client and when you get the next course update it jumps to the starting spot of that, or something like that (hmm, that could get tricky to get it temporally sync'd, but I don't think it needs to be too exact).
That would get each monster to be basically in the same place on each client, but then there's the problem that if one player can trick a boss into chasing just them they can "tank" the boss while the other players just dps the boss down. That's fine as far as it goes, but the boss's attack power is the same regardless of the number of players in the chunk (it's the health that's multiplied), so that would basically just make MP battles way easier than SP battles. (edit: a key point here is that the boss can currently shoot all players in range at the same time, the cooldowns are independent) Of course, it's easy to just multiply the boss's attack power too, but then with any significant quantity of players it's probably just going to one-shot players whether they're trying the "tanking" tactic or not. For those of you who haven't had the pleasure of vengeful ghosts popping up in the middle of a boss fight: I assure you that it is entertaining, but not as a habit.
So, to address that:
4) If a monster (or maybe just bosses, or maybe just some bosses) is unable to shoot at a player that's in the chunk because they're out of range or something like that, its shots get more powerful against the players it can shoot.
That way if you have some beastly tank that can actually take that kind of damage, you could try that. If everyone's pretty normal then you'll want most folks to stay where the boss can shoot them to avoid the boss getting too frustrated and just one-shotting whoever he can reach
Anyway, just possible ideas, thoughts? Would this solve that problem? Would it cause other problems that are worse?