So, what can we mod now?

Craig_Sutter

Deity
Joined
Aug 13, 2002
Messages
2,773
Location
Calgary, Canada
Haven't looked at G/K files...

Are there new things we can do, modwise, that we could not do before. For example, are there tools to set Civilization attitudes to each other similar to Civ IV or work-arounds via other additions that could be used as at start modifiers (for example, religious intolerance, or something in espionage that could be used to modify at start attitudes).

As well, can beliefs, pantheons, holy cities, etc. be set up at start via the world builder?
Is the worldbuilder set to add some of these items (religious citizens for example)? And can we do things like preferred religions, etc.

What other changes from a modders point of view, are there to xml, for example, that we should be aware of?

Thanks.
 
No one knows how to even change turn times let alone anything else. It's unbelievable.
In CiIV modding is so easy, what did they do in V?
 
The world builder has no new options other than the expansion enabled buildings - in fact the world builder seems to be missing some very important elements like setting city culture, great person count err and some other things that I can't think of right now... I'm tired!

The files for editing the new concepts such as religion and espionage can be found in civ v -> assets -> dlc -> expansion -gameplay. Notably there is a section called civilization religion that does not appear to be used right now. I'm uncertain if this restricts religions, gives it to them, or simply prioritizes it - I will have to test! You can however, easily create new belief modifiers without much hassle.

Espionage (perhaps fittingly) seems slightly more hidden within the new files and all of it's functions may not be available for editing. I found some numbers in globaldefines.. there are probably others scattered around.
 
There is a game speed mod, so, good to go now. I found one inside another modpack. If you look around long enough you'll find things. Too bad things like this are not in one place though, it would make trying to learn how to mod CiV that much easier. :)
 
There is a game speed mod, so, good to go now. I found one inside another modpack. If you look around long enough you'll find things. Too bad things like this are not in one place though, it would make trying to learn how to mod CiV that much easier. :)

As in, too bad they are not in a mod database? Like the Steam Workshop?
 
Why do you think no one knows it?

Because there are practically no mods for Civ V! No new art assets! No maps! No scenarios!

As a modder of CivIV I found this version to be so utterly devoid of help, illustrative tutorials, and other mods I cannot fathom why you would think otherwise?
 
As in, too bad they are not in a mod database? Like the Steam Workshop?

Yes and no, we can find completed mods sure, but no mods that help modders. At least as far as I know. Sure you can download a mod and dissect it. That though, is not very fun.The game speed mod, I found at CFC, not steam workshop.

I'll learn to mod, just been frustrated about how difficult it is to start learning.

Because there are practically no mods for Civ V! No new art assets! No maps! No scenarios!

As a modder of CivIV I found this version to be so utterly devoid of help, illustrative tutorials, and other mods I cannot fathom why you would think otherwise?
You are exactly right. Teach me step by step and I'll never forget it. That is how I learned to mod CiIV.
 
I don't think there should be more tutorials, Kael's is almost enough.

You want examples ? You've got plenty of LUA and XML ones in the game itself since the whole UI and game data are open-sourced. Changing turn times? Hell, you just need to browse XML files until you find the one where turn times are specified, why should there be a specific tutorial for that? You just need notepad++ and its "search all files" feature, or any other similar tool.

There are only three things I am disappointed in (but they are big ones) :
* Lack of reference documentation. The doc for vanilla was very, very lacking and there ain't any for G&K.
* Bad API design: it looks like half of the API was added on the fly, as Firaxis' devs needed them to build the UI, and many other functions seem to be C ones wrapped in LUA for no reason because they're useless (AI-related getters when you can't write an AI). All in all it seems like Firaxis never considered what modders would need and this is what makes the API so lacking.
* Instability, bugs, and partial implementations: many things only work for the specific cases covered by civ5, with many bugs and crashes triggered as soon as something goes out of the vanilla way. Since I started writing IGE, I probably reached the 500 crashes mark and, believe me, it was really frustrating.

Now, there is a whole field I didn't cover because I have no experience with it: art creation. Whether it is adding a new unit or something else, I have no knowledge about it and from what I did read here and there the system seems hard and lacking.

Basically, though, it seems like civ5 has not really been built with modding in mind. Actually many moddable games are lacking from this point of view. Still, civ5 is more lacking than many of them on that regard. Now achieving such a design constrain is expensive and complex, and it is likely that the trouble comes from the executives, not the devs (well, code quality seems poor but that, too, can be executives' responsibility). Maybe it is the price to pay to have a AAA game for PC only (small market): at some point, one probably has to make sacrifices.
 
I don't think there should be more tutorials, Kael's is almost enough.

Kael's guide is horribly out-of-date and in desperate need of serious editing - parts of it are more confusing than useful, and some of it is now just wrong.

However, the modders who are capable of editing it are few and far between and almost certainly have many more things they would rather be doing (like updating/expanding their own mods, or even just playing the game) when not dealing with all the other issues you mention that delay their own work (lack of official docs, poor api design, missing api events/functions, arbitary limits on internal data-structures, etc, etc, etc)
 
For me the main limitation is lack of unit models, especially fantasy units. This is because converting units from Civ4 is extremely complicated, and only a few people mastered it. And creating new models seems to be even harder...

Also the lack of DLL, but it should be released eventually.
 
Because there are practically no mods for Civ V! No new art assets! No maps! No scenarios!
You've not searched very well.

As a modder of CivIV I found this version to be so utterly devoid of help, illustrative tutorials, and other mods I cannot fathom why you would think otherwise?
Illustrative tutorials are very time consuming, there are not enough modders with time to do that, but ask your question, you'll get help if what you ask can be done.

Sure you can download a mod and dissect it. That though, is not very fun.

And you think writing tutorial or creating "mods to help modders" is fun ? :D

Still, there are dozens of those BTW, most written by whoward69 if you want a keyword to find them on the workshop.

Learning from other mods maybe not fun, but it's the only way to learn, as Firaxis have forgotten to give us a real documentation... When we get the source code we'll be able to write it.
 
And you think writing tutorial or creating "mods to help modders" is fun ? :D

Still, there are dozens of those BTW, most written by whoward69 if you want a keyword to find them on the workshop.

Learning from other mods maybe not fun, but it's the only way to learn, as Firaxis have forgotten to give us a real documentation... When we get the source code we'll be able to write it.

Of course not, writing detailed instructions is never fun. At this point I want to start simple.

I have modbuddy working. All I want to do is make a simple mod which sends the galleas to the astronomy tech, so it does not show up in my Medieval Viking game, which ends in that era. Send the unit to the Renaissance. That is all I want to be able to do. :lol:

Now is there a tutorial for doing such a simple thing? Sure, I can go into the game files and mess with the CIV5Units_Expansion.xml. However, that would effect my game as a whole. I only want the change to occur for this particular scenario. So, I need a mod in order to do this.

How do I proceed, I tried to use this modbuddy and failed miserably.

I started a new mod in modbuddy. The mod will be called 'The Vikings'

Ok, I have 'The Vikings' on the solution explorer.

1. I added a new folder called XML. Now I do not need an Art or LUA folder, because they will not be needed.

2. In my XML folder I created a Units folder.

3. Aha! I added a new item, a Game Rules1.xml. This will be where the data to move the galleas to a different tech will go.

This is what the xml should look like.

Code:
<?xml version="1.0" encoding="utf-8"?>
<!-- Created by ModBuddy on 7/4/2012 11:16:56 PM -->
<GameData>
	<Units>
		<Row>
			<Class>UNITCLASS_GALLEASS</Class>
			<Type>UNIT_GALLEASS</Type>
			<PrereqTech>[B]TECH_ASTRONOMY[/B]</PrereqTech>
			<Combat>16</Combat>
			<RangedCombat>17</RangedCombat>
			<Cost>100</Cost>
			<Moves>3</Moves>
			<Range>2</Range>
			<CombatClass>UNITCOMBAT_NAVALRANGED</CombatClass>
			<Domain>DOMAIN_SEA</Domain>
			<DefaultUnitAI>UNITAI_ASSAULT_SEA</DefaultUnitAI>
			<Description>TXT_KEY_UNIT_GALLEASS</Description>
			<Civilopedia>TXT_KEY_CIV5_GALLEASS_TEXT</Civilopedia>
			<Strategy>TXT_KEY_UNIT_GALLEASS_STRATEGY</Strategy>
			<Help>TXT_KEY_UNIT_HELP_GALLEASS</Help>
			<MilitarySupport>true</MilitarySupport>
			<MilitaryProduction>true</MilitaryProduction>
			<Pillage>true</Pillage>
			<Mechanized>true</Mechanized>
			<ObsoleteTech>TECH_NAVIGATION</ObsoleteTech>
			<AdvancedStartCost>30</AdvancedStartCost>
			<MinAreaSize>20</MinAreaSize>
			<XPValueAttack>3</XPValueAttack>
			<XPValueDefense>3</XPValueDefense>
			<UnitArtInfo>ART_DEF_UNIT_GALLEASS</UnitArtInfo>
			<UnitFlagAtlas>EXPANSION_UNIT_FLAG_ATLAS</UnitFlagAtlas>
			<UnitFlagIconOffset>14</UnitFlagIconOffset>
			<IconAtlas>EXPANSION_UNIT_ATLAS_1</IconAtlas>
			<PortraitIndex>14</PortraitIndex>
			<MoveRate>WOODEN_BOAT</MoveRate>
		</Row>
	</Units>
</GameData>

Now do I have to change Game Rules1.xml to CIV5Units_Expansion.xml? My guess is yes but let me know.
 
Of course not, writing detailed instructions is never fun. At this point I want to start simple.

I have modbuddy working. All I want to do is make a simple mod which sends the galleas to the astronomy tech, so it does not show up in my Medieval Viking game, which ends in that era. Send the unit to the Renaissance. That is all I want to be able to do. :lol:

Now is there a tutorial for doing such a simple thing? Sure, I can go into the game files and mess with the CIV5Units_Expansion.xml. However, that would effect my game as a whole. I only want the change to occur for this particular scenario. So, I need a mod in order to do this.

How do I proceed, I tried to use this modbuddy and failed miserably.

Read this:
http://kael.civfanatics.net/files/ModdersGuide.pdf, page 50 is useful but not exactly you want. What I think you need to do is something like this:

Add a new XML file: XML/UNITS/CIV5Units.xml to your mod in mod buddy.

add this code:

Code:
<GameData>
  <Units>
    <Update>
      <Set PrereqTech="TECH_ASTRONOMY"/>
      <Where Class=">UNITCLASS_GALLEAS"/>
    </Update>
  </Units>
</GameData>

(check that PrereqTech is the right tag name and that UNITCLASS_GALLEAS is the right unit class name as I have not tested this at all!)

Then follow the instruction on page 18 of the pdf linked above, on how to get the game to update it's database when your mod is applied. It's sounds a bit complicated but it's actually really easy.

This may or may not be relevant:
I found that when adding map scripts that if you don't set the file import property to true then it'll be ignored. This may also be true for XML but I haven't tested it out. To do this, right click on the file and select properties. Then change the import setting from false to true if it is not already set to true.

I hope that helps.

*edited*
 
I'm at the office, so some of the code may be wrong:

Create your mod using modbuddy (reference Kael's tutorial to do that)

From mod buddy menu within the mod, add new object... chose game rules file.

Code should be something like this:

Code:
<UNITS>
<Update>
<Where Type="UNIT_GALLEAS"/>
<Set Tech="TECH_ASTRONOMY" Era="ERA_RENAISSANCE"/>
</Update>
</UNITS>

I'm at my office right now, so there are several elements I may have misnamed or capitalized/lower_cased when I should not have. Anyhow, look at the Units file under DLC/Expansion/Gameplay (I think) and find Galleas. Change the names in <...> to match that file as appropriate. (for instance Type might be UnitType for all I know, since I'm at the office.)

Anyhow, experts better than me can probably correct this.

I repeat, though, that Kael's guide is an excellent start.

Remember to add the file (rename it if you wish) to the project so it activates on modstart (again I think the guide tells how.)

Sorry I can't help more at the moment, otherwise I'd just do it for you.
 
Back
Top Bottom