Hi everyone
I am back home and have started back with seamless co-op development. In this post I'll describe some of the results of the playtest I did this afternoon. Mainly focusing on the bugs and issues encountered along the way.
Overall: It's working "OK" in a sense that it's playable with some issues I can fix quickly and some I can't - One of which is detailed below.
Enemy AI is implemented (in my opinion) poorly in Dark Souls II.
As opposed to the other games, which have flags for enemy AI control stored in a big "WorldChrSync" list with enemy indexes within an array organised based on where in the game world the enemy exists.
Dark Souls II has a separate "NetEnemyManager" which is only instanced for the map in which the online activity is taking place.
What this means is that, if you move from one map to the other, you have to restart the entire module which is controlling enemy AI, and this also makes it impossible to handle enemy movements, damage, and AI if two players are in separate maps.
Moving from one map to another can cause significant desync -- with some enemies being affected more than others.
Enemy which is neither under the host's nor the local client's controlRestarting the network AI manager is fairly straightforward, and if I was to do this as the player changed map then the mod would work better but still not amazing and players would probably frequently experience issues unless they remained glued together the entire playthrough.
Instead, I have created multiple (over 40) instances of the NetEnemyManager that the mod will use internally. I will have to rewrite the way in which the host and client organise who is controlling what enemy, and include map IDs with certain network packets so that I can run all of the NetEnemyManager instances in parallel.
It's a big effort, but something I enjoy a lot since it has been uncharted territory so far for me. It will be interesting to learn about it.
The post only covers one topic since I have only been home for one day and found this an interesting point to post about. I'll probably be working on this specific issue most of the week.
As always - thank you for your patience and a huge thank you to all of my supporters <3
Take care
~ Yui
Игорь Ротарь
2025-10-19 15:34:16 +0000 UTCOskuro
2025-10-18 00:19:30 +0000 UTCHidden Is Classified
2025-10-16 10:02:46 +0000 UTCEnki
2025-10-16 04:26:43 +0000 UTC