Lucubration Posted March 11, 2016 Share Posted March 11, 2016 (edited) @FxsRMcFall Can I make request of you guys? Could your developers please, where possible, stick to extending your core game scripts - which are basically our API - rather than redefining interfaces like you guys did with this launch? We're finding incredibly clever ways to work with (or around) your core game scripts and often rely on really specific implementation details. When you release breaking changes like that it can really screw up how hundreds of mods operate, and break the game for tens of thousands of users with those mods installed. Edited March 11, 2016 by Lucubration Link to comment Share on other sites More sharing options...
kosmo111 Posted March 11, 2016 Share Posted March 11, 2016 Or, as an alternative, use the Steam beta system to allow developers to test and fix their mods before the regular user base gets it. Link to comment Share on other sites More sharing options...
davidlallen Posted March 11, 2016 Share Posted March 11, 2016 (edited) I've been through this in a number of different modding systems. Realistically, 90% of mods are immediately abandoned, so any beta program won't completely solve the problem. Mods get broken. One system I have seen which helped, is to have the release note contain details of which internal interfaces are changed. (Endless Space did this and it really helped.) If there were a beta program, with no release note, what is a modder supposed to do? Just randomly try every feature of their mod to see if it still works? Even if the release note just indicates which classes had interface changes, at least a modder reading that can know, they are most likely safe if they are not using the listed interfaces. They will also know, if one of their interfaces does change, that they should really be prepared to fix the mod when the patch is released. In related news, what I would really like is the tag system updated for the 1100 mods which are published on steam workshop. I guess Firaxis intentionally disabled this system for xcom2, since it works for other games on steam. For other games, mod authors can set tags when publishing. Without allowing users to suggest new tag values, it would be helpful if the community could set the tags. Searching for keywords is painful when there are 500 voice packs I don't care about. I guess somebody at Valve set the tags for the day 0 DLC, since those are the only ones that have tags set. We could easily organize a fan campaign to go through them and set tags, if it were possible. Edited March 11, 2016 by davidlallen Link to comment Share on other sites More sharing options...
FxsRMcFall Posted March 11, 2016 Share Posted March 11, 2016 Our best practices for base game script changes are: not to change function signatures (adding optional parameters is OK) and not to delete or rename data members. I believe some of that did take place with the latest code update and should have been caught in code review, but moving forward it should be avoided. Also if you have other thoughts with respect to best practices feel free to share them. Link to comment Share on other sites More sharing options...
davidlallen Posted March 11, 2016 Share Posted March 11, 2016 (edited) ItemsToUpgrade interface and method definitely changed:https://www.reddit.com/r/xcom2mods/comments/49wfcq/psa_item_schematic_templates_have_changed/Broken mod list (some noise in comments):https://www.reddit.com/r/xcom2mods/comments/49wx19/broken_mods_list/ Edited March 11, 2016 by davidlallen Link to comment Share on other sites More sharing options...
Solariz Posted March 11, 2016 Share Posted March 11, 2016 More event hooks would be nice. Especially surrounding data templates, so we don't have to register screen listeners for everything. Link to comment Share on other sites More sharing options...
Lucubration Posted March 11, 2016 Author Share Posted March 11, 2016 (edited) Our best practices for base game script changes are: not to change function signatures (adding optional parameters is OK) and not to delete or rename data members. I believe some of that did take place with the latest code update and should have been caught in code review, but moving forward it should be avoided. Also if you have other thoughts with respect to best practices feel free to share them. Thank you; that's great to hear. The most pressing thing I can think of is the need for more events (or other types of hooks) that we can intercept to change how things play out down in the core code without overriding it. Everything from being able to listen for adding/removing squad members in the mission loadout UI screen to being able to intercept and change the final "to-hit" results for a standard aim calculation. Edited March 11, 2016 by Lucubration Link to comment Share on other sites More sharing options...
davidlallen Posted March 11, 2016 Share Posted March 11, 2016 More event hooks would be nice. Especially surrounding data templates, so we don't have to register screen listeners for everything. This works well for me:http://forums.nexusmods.com/index.php?/topic/3839560-template-modification-without-screenlisteners/We will need to work out how multiple mods can coexist using the same/similar trick. Link to comment Share on other sites More sharing options...
Recommended Posts