Making Buildings Asian

SlySlySly

Warlord
Joined
Feb 8, 2017
Messages
293
Location
Denver
hey, I'm trying to figure out how to make civ buildings asian, but i'm confused. I've been looking at examples but I am lost.
 
Ethnicity="ETHNICITY_ASIAN" within table <Civilizations> does not control this ?
No it doesn't. I have it set to that, I think that's just what the game uses to find out what the civilization's culture group is.
 
okay, from a quick querry to the civ-making experts they tell me it is controlled in the mod's Cultures.artdef file that is associated to the civ. I am not sure if modbuddy's asset editor tool creates this Cultures.artdef file or not.
 
okay, from a quick querry to the civ-making experts they tell me it is controlled in the mod's Cultures.artdef file that is associated to the civ. I am not sure if modbuddy's asset editor tool creates this Cultures.artdef file or not.
I have an example from JFD's Mali. Can anyone pick this apart?
Code:
AssetObjects:ArtDefSet>
    <m_Version>
        <major>1</major>
        <minor>0</minor>
        <build>0</build>
        <revision>0</revision>
    </m_Version>
    <m_TemplateName text="Cultures"/>
    <m_RootCollections>
        <Element>
            <m_CollectionName text="Culture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_JFD_MALI"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="AncientBrick"/>
                <m_AppendMergedParameterCollections>true</m_AppendMergedParameterCollections>
            </Element>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_JFD_MALI"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="SouthAfrican"/>
                <m_AppendMergedParameterCollections>true</m_AppendMergedParameterCollections>
            </Element>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_JFD_MALI"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="ModernGlass"/>
                <m_AppendMergedParameterCollections>true</m_AppendMergedParameterCollections>
            </Element>
        </Element>
        <Element>
            <m_CollectionName text="UnitCulture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_JFD_MALI"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="SouthAfrican"/>
                <m_AppendMergedParameterCollections>true</m_AppendMergedParameterCollections>
            </Element>
        </Element>
    </m_RootCollections>
</AssetObjects:ArtDefSet>
 
it is controlled in the mod's Cultures.artdef file
I've just created a Cultures.artdef for my own mod using Asset Editor and then setting the civilization in ModBuddy (because Asset Editor would only accept a civ from its droplist), and I see no difference whether I set it to Mughal, SouthAfrican or Mediterranean. Do I need to go on testing other types or should at least one of those be different?
 
Code:
                <m_ChildCollections/>
                <m_Name text="SouthAfrican"/>
seems to be the relevant part.

Japan, Hong Kong, and Seoul all use "EastAsian" in the game's base file.
Kongo, Kumasi, and Zanziabar use the "SouthAfrican" designation JFD is using.
China, Jakarta, and Nan Madol use the "SoutheastAsian" designation in the game's base file.
 
I've just created a Cultures.artdef for my own mod using Asset Editor and then setting the civilization in ModBuddy (because Asset Editor would only accept a civ from its droplist), and I see no difference whether I set it to Mughal, SouthAfrican or Mediterranean. Do I need to go on testing other types or should at least one of those be different?
Is there a logical way to do it without mod buddy?
 
example from JFD's Mali
I tried putting three entries in using ModBuddy. I used the three for Mohenjo Daro as I like how their buildings look. Zero difference in my buildings – they still have beams in them :(

I have no idea why JFD's Mali has three sections that are otherwise identical apart from the culture name. It seems like nonsense, so I'm not surprised that it doesn't work. This is beginning to annoy me.
 
Is there a logical way to do it without mod buddy?
Well here's what I have currently and I can't spot any logical difference between that and JFD's Mali, except that mine doesn't work:
Code:
<?xml version="1.0" encoding="UTF-8" ?>

<AssetObjects:ArtDefSet>
    <m_Version>
        <major>4</major>
        <minor>0</minor>
        <build>260</build>
        <revision>754</revision>
    </m_Version>
    <m_TemplateName text="Cultures"/>
    <m_RootCollections>
        <Element>
            <m_CollectionName text="Culture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_MYCIV"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="Mughal"/>
                <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
            </Element>
        </Element>
        <Element>
            <m_CollectionName text="Culture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_MYCIV"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="AncientBrick"/>
                <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
            </Element>
        </Element>
        <Element>
            <m_CollectionName text="Culture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
            <Element>
                <m_Fields>
                    <m_Values>
                        <Element class="AssetObjects:CollectionValue">
                            <m_eObjectType>INVALID</m_eObjectType>
                            <m_eValueType>ARTDEF_REF</m_eValueType>
                            <m_Values>
                                <Element class="AssetObjects:ArtDefReferenceValue">
                                    <m_ElementName text="CIVILIZATION_MYCIV"/>
                                    <m_RootCollectionName text="Civilization"/>
                                    <m_ArtDefPath text="Civilizations.artdef"/>
                                    <m_CollectionIsLocked>true</m_CollectionIsLocked>
                                    <m_TemplateName text="Civilizations"/>
                                    <m_ParamName text="Civilizations001"/>
                                </Element>
                            </m_Values>
                            <m_ParamName text="Civilizations"/>
                        </Element>
                    </m_Values>
                </m_Fields>
                <m_ChildCollections/>
                <m_Name text="Colonial"/>
                <m_AppendMergedParameterCollections>false</m_AppendMergedParameterCollections>
            </Element>
        </Element>
        <Element>
            <m_CollectionName text="UnitCulture"/>
            <m_ReplaceMergedCollectionElements>false</m_ReplaceMergedCollectionElements>
        </Element>
    </m_RootCollections>
</AssetObjects:ArtDefSet>
 
Just for reference I just took a look at the screenshots from JFD's Mali in Steam. His buildings definitely look different, so I wonder if there's anything wrong with my entry in my Mod.Art.xml:
Code:
<artConsumers>
        <Element>
            <consumerName text="Cultures"/>
            <relativeArtDefPaths>
                <Element text="Cultures.artdef" />
            </relativeArtDefPaths>
            <libraryDependencies/>
            <loadsLibraries>false</loadsLibraries>
        </Element>
</artConsumers>
 
You should look at your culture.artdef again in comparison to JFD's. Especially the first few lines of the code.

But other than trying to make your file more like JFD's I am beyond my area of expertise.
 
I have no idea why JFD's Mali has three sections that are otherwise identical apart from the culture name. It seems like nonsense, so I'm not surprised that it doesn't work.

Landmarks change their appearance based on the Era.

In the Ancient Era all Civs and City States will be in one of three Culture buckets AncientWood, AncientBrick or AncientEarth so there isn't much Cultural differentiation.

At some point (not sure whether it is Classical Era or Medieval Era but easy to test) the more specific cultural buckets kick in which are:

NorthernEuropean
Mediterranean
Mughal
EastAsian
NorthAfrican
SouthAfrican
SouthAmerican
Barbarian


Then at the Modern Era all Civs and City States are in the only modern Culture ModernGlass.

Without looking carefully I think some Civs also use the Colonial Culture at some point.

So if you want to see the more specific Cultures affecting your buildings you should start a game with your mod in later Eras.

This is why JFD's Mali has three entries. It is simply saying "for Mail use Ancient Brick in the Ancient Era, ModernGlass in the Modern Era and then
SouthAfrican for the other Eras.

@CivilizationAce Your .artdef structure is not the same as in JFD's Mali if you look carefully. His has only one Culture collection with three subelements. Yours has three separate collections each with one element. Also he is using <m_AppendMergedParameterCollections>true</m_AppendMergedParameterCollections> which I think could be quite important in this case since you want to add your new Civ into the existing collection of Cultures rather than completely replace the base game list of collections with your new list.

Generally, to avoid frustration, it might be better to adapt a file that you know is working such as JFD's Mali file and then edit so that you maintain the same syntax.

Hope this helps!
 
I'm in the middle of playing with it as I write this. I have a map as full of leaders and city states as possible. There's a change at Industrial, but I'm unclear what buckets are used at that era, yet. I think a lot of the civilizations' eras are left to the default, which ruins the clarity. BTW it changes at Classical, which I find annoying, because I think it leaves the Ancient ones underused.
 
I'm in the middle of playing with it as I write this. I have a map as full of leaders and city states as possible. There's a change at Industrial, but I'm unclear what buckets are used at that era, yet. I think a lot of the civilizations' eras are left to the default, which ruins the clarity. BTW it changes at Classical, which I find annoying, because I think it leaves the Ancient ones underused.
During classical there are still ancient era buildings being used as well as the newer ones. It's similar with industrial -> modern.
 
I think I've had enough of this. We need someone who's made this work to explain, because stumbling around in the dark isn't cutting it.

All I've deduced so far is that it can't be just the Cultures.artdef, because I'm pretty sure there's nothing wrong with mine. There must be some requirement in the Mod.Art.xml, but I've tried putting the same related stuff in that that's in the Mali mod, without success.

All I've achieved is a huge waste of my time that I now have to roll back to ensure I haven't broken anything else.
 
You guys know that you need to amend the cultures part in the modart file in modbuddy don't you? The original won't have "Cultures.artdef" in it, it'll be blank.

Code:
<Element>

<consumerName text="Cultures"/>

<relativeArtDefPaths>

<Element text="Cultures.artdef"/>

</relativeArtDefPaths>

<libraryDependencies/>

<loadsLibraries>false</loadsLibraries>

</Element>
 
Top Bottom