- I’m actually against this. Python (or lua) + ERM (for WoG compatibility) should be more than enought for most modders + less languages we have more easier creation of guides, examples, support, etc will be.
- Agree with this one. Configuration files are more easy to edit + at some point we’ll be able to add some gui for it.
@Mod system proposal
Conversions - may be possible to replace with incomplete config files. Graphics can be replaced on filesystem level (can be done with beegee’s system)
Language - python is OK but what about lua? IIRC it is used in HoMM5 and gaming in general - so some modders may know it already.
New map format - care to fix the red link?
Scripts online - what about separating server-side and client-side scripts + allow some interaction with them like sending python data structures over network? Will work in both Single and Multi as long as mods are in sync.
main file IMO should be JSON which specify language, script files (if any) along with name, version, description, etc.
Json may be better here - I don’t like specifying name\description\images in code. For complex objects modders may specify name of python class with required actions.
Some of our c++ classes can be rewritten in python - will work as examples for modders + allow some un-hardcoding of mechanics.
Apart from prerequisites there should be list of conflicting mods.
Object identifiers - numeric ID will be needed for SoD objects but what about using strings as ID instead of number at least for objects added in mods:
this ID should either match name of python class or specified in config file. (separate from readable name to allow localization). May even work with subID’s. For example new object with id = “Mine” and subID=“Mithril” can be added by engine with same ID as H3 mine but new subID.
Looks to be simple resource overriding. We’ll need more than that. Nice mod BTW.