S3rgeus
Emperor
While developing the Wheel of Time mod for Civ5, we've been considering migrating our work from Civ5 to Civ6, now that the modding tools have been released.
I'm in the process of evaluating how well Civ6 will work for WoTMod and will be using this topic to post updates about the work I'm doing on that evaluation. I'm aware there will be pre-DLL-source limitations to modding Civ6 that puts WoTMod's more sweeping changes out of reach for now, but I want to understand what modding looks like in Civ6 well enough to make a good decision one way or the other.
Mostly this will end up being some kind of journal about me learning to mod Civ6, coming from Civ5. Some of the information may be useful to others, but I figure I might as well share what I find.
Step 1: a simple mod that adds a new unit that's only a simple gameplay variant of an existing one. Nothing fancy, would be super simple for me to do in Civ5.
In Civ6 this also turned out to be relatively straightforward:
I had a bit of a false start with setting all of the files in the mod to be loaded at the FrontEnd, instead of In-game, which caused some database errors. But that meant I went through database.log and some basic debugging of that kind of problem which is a good thing too. When I had changed the actions to load In-game, but had an error in my XML (referenced a row in the Types table that I had commented out) it also seemed like starting a new game immediately bounced back to the main menu. If all database errors (or even just all foreign key constraint failures) cause this behavior, then that's great. Makes it much easier to know that you've got something wrong in your XML files rather than finding confusing knock-ons in-game of that data not having loaded correctly.
Having explored a bit of Civ6's structure, I'm liking Modifiers as a concept. Seems nice and modular. A skim of NycholusV's two topics on the subject was a good primer.
Thankfully SQLite Personal can still open the game's debug gameplay database, like it could in Civ5. Unfortunately I couldn't find any database files for the icon or localization databases, so if you know those are available to view somewhere then feel free to let me know in my question topic about it. I did notice via Procmon that Civ6 tries to load a localization database from '<Civ6 install dir>\Base\Assets\Text\Localization.sqlite' if it's present, but there's no file there on my computer. (It seems to try the install directory before the directory in My Documents for several of the SQL databases.)
And that's all for now! I'll be back later this week with some other simple variants of the above. Adding a new building and the like seems quite similar to a unit. I might try out some Modifiers on those.
After that, I'll be creating a simple test civilization to try out bringing uniques and the like together. Then it's time for some unit graphics work, possibly even some 3D model import exploratory work.
I'm in the process of evaluating how well Civ6 will work for WoTMod and will be using this topic to post updates about the work I'm doing on that evaluation. I'm aware there will be pre-DLL-source limitations to modding Civ6 that puts WoTMod's more sweeping changes out of reach for now, but I want to understand what modding looks like in Civ6 well enough to make a good decision one way or the other.
Mostly this will end up being some kind of journal about me learning to mod Civ6, coming from Civ5. Some of the information may be useful to others, but I figure I might as well share what I find.
Step 1: a simple mod that adds a new unit that's only a simple gameplay variant of an existing one. Nothing fancy, would be super simple for me to do in Civ5.
In Civ6 this also turned out to be relatively straightforward:
I had a bit of a false start with setting all of the files in the mod to be loaded at the FrontEnd, instead of In-game, which caused some database errors. But that meant I went through database.log and some basic debugging of that kind of problem which is a good thing too. When I had changed the actions to load In-game, but had an error in my XML (referenced a row in the Types table that I had commented out) it also seemed like starting a new game immediately bounced back to the main menu. If all database errors (or even just all foreign key constraint failures) cause this behavior, then that's great. Makes it much easier to know that you've got something wrong in your XML files rather than finding confusing knock-ons in-game of that data not having loaded correctly.
Having explored a bit of Civ6's structure, I'm liking Modifiers as a concept. Seems nice and modular. A skim of NycholusV's two topics on the subject was a good primer.
Thankfully SQLite Personal can still open the game's debug gameplay database, like it could in Civ5. Unfortunately I couldn't find any database files for the icon or localization databases, so if you know those are available to view somewhere then feel free to let me know in my question topic about it. I did notice via Procmon that Civ6 tries to load a localization database from '<Civ6 install dir>\Base\Assets\Text\Localization.sqlite' if it's present, but there's no file there on my computer. (It seems to try the install directory before the directory in My Documents for several of the SQL databases.)
And that's all for now! I'll be back later this week with some other simple variants of the above. Adding a new building and the like seems quite similar to a unit. I might try out some Modifiers on those.
After that, I'll be creating a simple test civilization to try out bringing uniques and the like together. Then it's time for some unit graphics work, possibly even some 3D model import exploratory work.