Will the players receive Modding support?

Discussion in 'Clockwork Empires General' started by Espa, Jan 13, 2017.

  1. Espa

    Espa Member

    Just curious. . Now that I've looked around and seen the incredibly negative posts and Steam review, I was wondering if the future of this game will be given to the players to tinker with?

    If they don't want to waste anymore money or time on this project, just give over control to those good at making mods :)

    I think everyone wins in that circumstance.
  2. Tikigod

    Tikigod Member

    The vast majority of the games behaviour, recipes and what not are already stored in the various XML (and a handful of database) files and simply parsed during runtime. So the game is already incredibly moddable.

    Don't quite get why people think the game still needs 'mod support', have they not even looked into how the game is structured and just figured if it was moddable there would be someone to tell them what to do already... and no hand holding instructions == No mod support?

    Or is there some aspect missing in what is exposed that some feel is needed? As yes some of the exposed elements do make reference to some things that are properly coded into the game itself and aren't immediately accessible without more majiggering™ about... but such things are the fringe exceptions.
    Last edited: Jan 14, 2017
  3. Naffarin

    Naffarin Bureaucrat-Inspector Exemplar of The Empire

    You are right...but currently a modder would have to redistribute game script files and/or database files which i wouldn't do due to legal consequences without prior consent from gaslamp games.
  4. Tikigod

    Tikigod Member

    It's (almost certainly) fine, not like it's actual game source code. It's XML references to references to references for the most part. :p

    For (a very simplified) example, let's say in an XML file you found something that triggers "Goto" like:

    "Goto getCursorWorldCoord,ColonistID;"

    "Goto" in that file means absolutely nothing, same as "getCursorWorldCoord". They're both simply a reference to something else that you may find in another XML file as:

    getCursorWorldCoord: "translateCScreenToWorld, cursorPos"
    Goto: "calculate_path, colonistID gotoCoords;"

    Again, this means absolutely nothing they're simply reference labels to actual behaviour. So something behind the scenes not in any of the XML/DB files then actually then does perhaps dozens of lines of pathfinding calculations and sanity checking none of which are exposed.
    Whilst another is handling the process of taking screenspace coordinates and projecting to worldspace to actually generate the set of coordinates to pass to Goto. (In this example there's an obvious referencing data before it exists issue but hey... its a simplified example so let's ignore that :p)

    And Gaslamp could have called such things in the XML files anything really, the naming convention used just makes it clear to anyone reading regarding the general gist of what's going on.

    But you could call:

    Goto -> Kitty
    getCursorWorldCoord -> FigureStuffOut
    colonistID -> Bob
    cursorPos -> ClickyPlace
    translateCScreenToWorld -> RayManAdoogle
    calculate_path -> DoSomeThinking.
    gotoCoords -> ShakeItBaby

    And end up with XML files that read loosely like:

    "Kitty FigureStuffOut,Bob"

    "RayManAdoogle, ClickyPlace"

    "DoSomeThinking, Bob, ShakeItBaby"

    And as long as the behind the scenes stuff is untouched, it would work the same. :p

    For items and recipes, even less a issue I should imagine.
    Last edited: Jan 14, 2017
  5. Espa

    Espa Member

    The only reason why I wish for Mod Support is to be able to upload them from the Steam Workshop -- As I am not good at creating mods at all haha.
  6. Naffarin

    Naffarin Bureaucrat-Inspector Exemplar of The Empire

    The entire content is intellectual property of gaslamp games, be it source code, lua code, or xml definitions. And you cannot simply add new files because they won't be loaded (seems to be hardcoded which files are loaded, at least for the edb files)
    So if you want to add a new commodity like a specialization from maize (let's call it sugar maize as an example) you would have to redistribute the entire file.

    If you want to add new workshop jobs, you have to redistribute the entire workshop_jobs.xml and buildings.xml in my humble opinion.

    I have no problem with giving advice how to mod this game or create some content myself but only with the approval of gaslamp games
    Last edited: Jan 14, 2017
  7. Kaidelong

    Kaidelong Member

    Distribute a diff and use a patcher. It's a pain, but it'd work.
  8. Alavaria

    Alavaria Member

    Yeah that's a pretty handy thing as well.
  9. Tikigod

    Tikigod Member

    So not really mod support for the game, but rather integration into a distribution platform that will handle file placement for mods already created?