Since We Last Spoke
One of this biggest issues plaguing our play testing sessions was the instant crash to desktop that happens when a player picks up a prop. Specifically, it will crash everyone who ISN'T picking up the prop, even if they can't see it. Obviously not the best thing to deal with when you're playing a game that prides itself to physics interactions and using the environment as your tool. I can happily report this has been fixed though! Had to write an entire function dedicated to validating the holder of a prop since that isn't something that existed in Dark Messiah, but what we have a COMPLETELY permanent solution. We were even having a good time playing catch with the boxes!
Firing On All Pistons
With the energy obtained from solving that major crash issue, I started tackling some of the quality of life problems. Two things stood out to me: players can't interact with objects if the host isn't in line of sight, and triggers for changing levels don't work. For the first, I actually solved that ACCIDENTALLY when trying to fix the crash issue. I may need to change it later, but it turns out traces were not being directed from the correct entity. Detouring it to use the host actually legitimized the whole check, but I will definitely need to find the source and use the same trick I did to fix the prop issue.
The changelevel issue was a REALLY easy thing to fix. The engine has a hardcoded check to see if players are greater than 1, and if it is they will simply not allow a changelevel command. A simple data patch changes that number from 1 to 127, and boom. It works extremely well, and even carries over inventory, props, and all sorts of things between the change level. How cool is that?
Some Things To Do
I've made a psuedo-list of things I still need to get done from what we found in our playtesting session. There may be things we haven't come across, but the objective is to have a fully playable and non-crash-prone version of the mod working so we can move to quality of life changes. Here's that list:
- Fix chains / ropes not being interactable by more than one person
- Fix triggers not working after death ( reset player death state )
- Change Objective and Skill point bonuses not activating in multi-player
- Perhaps begin an objective handler and skill point logger for late joiners?
- Implement UTIL_GetNearestPlayer so we can start fixing AI
- Fix ORCs grabbing the host instead of their intended target ( will probably be fixed by above )
- Add multiplayer player models with armor types set on it ( SetModel is exposed, USE IT! ) WILL ALSO PROBABLY NEED MODELERS TO TRANSITION PLAYER BODYGROUPS TO THE MULTIPLAYER MODELS
- Add multiplayer menu resources so we can actually have a server browser / model menu
If you think you can help, feel free to contact me! I am always welcome to it.
Happy Holidays! Also Optimism
Holiday season means holiday wishes, so I hope everyone the best!
Due to the holidays coming up I won't have as much time to work on this as I'd like, but I've made some extremely good progress. I am confident I will be able to get a playable version of this mod out in at least 3-4 months, and if I'm lucky I can hit the milestone and get it out by February, marking a 1 year anniversary for the development. There's still plenty of things to fix but they are not necessarily outside the realm of what we have access to. Map fixes can be through VMF, models through simple remodelling, etc.
Development Diary Posting
I posted another development diary summarizing this with the hardships I've faced. If you're looking for a little more to listen to, you can check it out here: