Branch "Yields" - Base Setup: Yields, Professions, Buildings, Experts, ... [IMPLEMENTED]

"Syrup" in English is spelled with a "y". It's a big business in Quebec so a toque might suit the collector.

Merriam-Webbster has sirup as a less common spelling of syrup, so it is not just us germans with our Sirup :shifty:
https://www.merriam-webster.com/dictionary/sirup

"Canola" is now the preferred term in English for "rapeseed" because of the unfortunate synonym. Canola is the most popular cooking oil on supermarket shelves here, to the point that North American shoppers might not know what rapeseed is. It's partly political correctness, but it's mainly marketing.

We are very lucky in Germany that we can enjoy the view of large fields of "Raps"
https://th.bing.com/th/id/R.95eeb8e...FtvUZcMFhtEJj5CZ09dvp1o=&risl=&pid=ImgRaw&r=0
without the word being to similar to another one that has nothing to do with it so that someone thinks about having to do a do an Orwellian modification of language like in 1984.
Rapeseed originates from the latin word rapum which means turnip.It is hysterical that some people need to change that to have to hear less in public about a problem that the majority usually ignores and which is still not punished by life long hard labour - which should be the assumed considering the effort people make to change the language...

However it puzzles me that they do that for a simple plant when they let the "therapist" continue to practice... :rolleyes:
 
As all these units are male, maybe the sheep/goat shepherd, could a female unit, ...
I am no graphical modding expert like e.g. @Schmiddie or @MightyToad :blush:

I simply can not create great graphics from scratch using a picture or reading a text description - I am not skilled enough for that.
I can only use the graphics others already created and start to change them ... trying to e.g. work on their faces and clothes.

And I am really desperately trying to use new graphics and not just recoloured copies of graphics we already have.
Because I really want our Experts to look unique to be easily recognized on the map.

See, you are asking me to create a new Unit which a graphical modder with 3+ years experience might be able to do.
I have however only started graphical modding - due to the lack of alternatives - and have only 1+ years of "try and error" experience.

Also I am also not focussed on graphical modding and would actually rather invest that time into programming features.
I have learned graphical modding basics out of necessity since there are otherwise no graphical modders for Civ4Col anymore.

----------

e.g. Creating / changing animations is still impossible for me.
So once I change the body too much the Unit is ruined.

Even giving a unit graphic other tools in their hands does not work for me.
(All attempts to "NIF-Swap" I tried so far have miserably failed.)

----------

Summary:

Sorry but you either take what I am able to deliever or somebody else needs to create graphics. :dunno:
(As I said I am limited to use graphics I find and trying to improve them.)

It is not like I would not like to be more creative and create more diverse Units.
I would also love to find a new team member more skilled in creating graphics.
 
Last edited:
By the way:
@Kathy - a really experienced graphical modder - has also offered to help us a bit with creating better Expert / Specialist graphics.
I am really looking forward to see the magic an experienced graphical modder like her can do with Unit graphics.
@Kathy has now also created a few Units that might be used as new Experts. :hatsoff:
(They are based on graphics found in the "Pirates Mod" of @strategyonly but he might have used work of other modders of course as well.)

Thanks a lot. :hug:

This is a preview how they look like.
(Still need to think a bit how to use them ingame.)

This here could e.g. be an "Master Tavern Maid". :think:
(Producing lots of Entertainment when working in Tavern.)
upload_2022-4-15_12-11-18.jpeg


This here might e.g. be used as "Expert Coal Miner". :think:
(I think it is looking a bit better than the other graphic I have so far.)
upload_2022-4-15_12-12-15.jpeg


This here might be used for one of the new "Planter Professions". :think:
upload_2022-4-15_12-13-1.jpeg


This here might also be used for one of the new "Planter Professions". :think:
upload_2022-4-15_12-13-33.jpeg


-----------

For these 2 I currently have not yet come up with a purpose. :dunno:

This here also looks good, but right now I have enough "Miners" already.
(It may serve as a fallback though if one of the other graphics have an issue.)
upload_2022-4-15_12-16-19.jpeg


This one would be cool if it had some bags to serve as a "Collector" of some kind.
But without it I currently have no idea what to use it for. :hmm:
upload_2022-4-15_12-16-31.jpeg
 
I hope the tools are at the right place ingame. I did not test them, and in nifscope they where in the hands of this guys.
 
... could a female unit ...

With the help of @Kathy this beautiful Spanish Lady was created.
(I will probably use her as "Expert Yerba Planter".)

expert_yerba_planter-jpg.625088
 

Attachments

  • Expert_Yerba_Planter.JPG
    Expert_Yerba_Planter.JPG
    30.9 KB · Views: 382
Last edited:
Here is now also an Irish (red haired green eyed) version. :)

Just so people do not complain anymore that I only created male Experts.
(Not really sure yet but she might become the "Expert Canola Planter".)

upload_2022-4-15_21-18-19.jpeg
 
Last edited:
Smalll pieces ... step by step ... thy name is progress ... :)

Now also the "Yield Units" have their proper buttons configured in Worldbuilder.
(So you can e.g. load goods on a Wagon Train or Ship by Worldbuilder.)

upload_2022-4-22_17-13-28.jpeg
 
Hi guys,

this is the "rough balancing concept" of the new Terrain Yields vs. new Terrains.

There is more detail to it, but it should give at least an overview of which Yields will be available on which Terrains.
(e.g. Food, Lumber, Health ... is of course also not distributed equally. "Value Category" should give a hint to that.)

Each Terrain has now become quite unique considering its "base Yields" and finding synergies will be key to success.
Also "Lifestock" will be a bit different everywhere and "Feature Yields" (Forrests, Jungle,...) will also vary a bit more.

But of course "Strategic Yields" will be available more or less everywhere.
(Also Silver, Gold, Gems will still be more or less randomly distributed.)

However, I am still working on it. :badcomp:
(There is a lot of balancing to be done.)

Also I want to implement a new more dynamic mechanism for Europe / Africa / Port Royal that simulates that these Foreign Markets produce and consume goods of their own.
(e.g. To have a more "speculative" market that also e.g. offers more trade options than just "produce in New World & sell wherever most expensive".)

Best regards
ray

By the way:
There are now 90 "tradable Yields" in total ... :rolleyes:
(I had to add a few Yields to nicely balance to concept. But now I am convinced that is the final number.)

upload_2022-4-22_21-19-2.jpeg
 
Last edited:
Hello all,
after a long time i play colonization again. I have compiled yields. I find the many additional raw materials great.
In the city view I can see them all, but not in the ports. The lowest row is not displayed.
Can I change the port view so that they are visible?

upload_2022-4-23_17-25-22.png
 
@Raubwuerger
Please have some patience. :)

"Yields" is not even close to being "done".
(As I said, I will need at least 2 months more to finish it.)
  • Professions for new Yields not yet implemented
  • Experts for new Yields not yet implemented
  • Screens have not yet been adjusted.
  • ...
I will definitely need help with "Yields" at some point, but not now.
Right now I want to work on that branch in a relaxed fashion without stress.

By the way:
Not all of my work on "Yields" has been already commited.
(Some stuff is still in work locally only.)

e.g.
  • the last 6 Yields I am currently working on are not yet fully done and thus not yet commited
  • some Experts graphics I have already configured and tested are not yet commited
  • the DLL logic for "realistic Supply & Demand / Actual Market Stocks" is still a prototype
....

----

If you want to help you could help finishing "Plains" (e.g. the Events I had asked for) or "Release Candidate 3.0.2" (@devolution or @Nightinggale surely need help).
Because without "Release Candidate 3.0.2" first and then "Plains" being finished and merged, "Yields" will probably also never be finished / published.

-----

Summary:
Please let me continue to work on that branch until it is "ready enough" for others to join in.
The "mini-projects" I start are often simply really big and may need months to be ready for others to join in.

I work as I can, but my private life is currently already stressful since I am trying to "build my new passion".
I currently cannot handle the additional effort to somehow coordinate anything other than myself.

-----

Otherwise, I really appreciate the offer to help and at some point I may come back to it. :hug:
But I still need more time, a bit more motivation and as little stress as possible ...
 
Last edited:
Hi guys,

maybe I should explain that I intend to implement a mechanism in Europe / Africa / Port Royal similar to what @Ramstormp has implemented / discussed.
I call it "realistic Supply & Demand / Actual Market Stocks" ... which is a simple name for an algorithm that is quite complex.

Basically I want to create a new "economy algorithm" that reflects several aspects for Europe / Africa / Port Royal:
(Actually in most cases I will expand the current algorithm, but I will also add "Stocks" and "Market World Events".)

To simplify it:
1) I want to create a market that reacts much stronger to the things the players do in the game.
2) I want to incentivise the player to react much stronger to the chances the market offers to him.

---

1) Base settings for each Good considering "production per turn" / "consumption per turn" in Europe / Africa / Port Royal per Era (so each Era will be different)
2) Base settings for each Good considering "storage thresholds" (min and max) in Europe / Africa / Port Royal per Era (so each Era will be different)
3) Goods from other Market sales of other Players also replenishing or depleting the "Limited Stock" (stronger tying the player market actions to each other)
4) Dependencies of certain prices and stocks on "Global Market Events" creating very lucrative Trade offers for short time ... (triggered by Python Event System)
5) Each good will have an actual "Stock" in Europe / Africa / Port Royal. Once the stock is empty, you simply cannot buy it anymore.
6) Size of the Colonies (e.g. Population), Wars, Attitude of King, Happiness of Colonies, ... and many other factors will also be factored into the algorithm, so it is not just plain Era settings.*
...

This is for the "production per turn" / "consumption per turn" / "storage thresholds" (min and max).
(They will be very dynamic and not static.)

---

So e.g. there will be situations where for example 1000 horses pop up on the European market for a very nice price but that deal has only a limited time.
Now the Player can decide if he will buy those 1000 horses even if he currently does not need them to either use them later or to e.g. sell them in Africa.

There may also be situations where for example Europe is completely depleted of Food and you might make huge profits selling Food to Europe.
Now the Player can decide if he wants to export Food from the Colonies to Europe or rather keep it for its own growth ... or he might send Ships to Africa to buy the food there.

Also by e.g. bomarding your market with the goods that another player is dependent on, you can basically lead an economic war and ruin his income base (for some time).
But of course the other players might do the same to you. (Do not worry, I intend to protect the AIs a bit and give them slightly easier rules.)

There may also be situations where you have completely depleted the European Market of Tools and may have to wait to buy more.
And if other European Colonies now start selling those, they may really help you, so you may refrain from attacking them or even protect them, because you depend on them producing.

...

---

Summary:
Basically the "Markets" will offer much more "lucrative deals" and sometimes chances for "fast profit" for some limited time.
It will be up to the Player how good he is able to exploit those ... but to do so, he should always have some extra cash around.
Also the player will always be in a competitive situation with other players, that may steal or ruin his deals.

---

Why do I write this? --> It may affect the "Visual Design" of Europe / Africa / Port Royal.

Because e.g. information on available stock, production per turn and consumption per turn might also have to be displayed in Europe / Africa / Port Royal.
(The current price informations alone will not be enough to make this system work. But maybe "Mouse Over" will be enough for those infos)

---

But as I said, I will need a bit of time to implement all of that. :)
("Yields" in total is one of the biggest concepts I have ever started.)
 
Last edited:
@Ramstormp:

As you may have read above I am trying to implement something similar as your "Limited Resources" after I am done with all the new Yields, Professions, Experts, ...
(But I am not going to try to adapt any Dawn of a New Era sources. Instead I want to create something of my own from scratch.)
Limited resources in Europe
Spoiler :

Adapted from the Dawn of the New Era mod...
Europe, Africa, and Port Royal will only have a limited amount of resources for sale and slowly replenish each turn (this is a very simple system which will hopefully be improved on at some future point).

So yeah, I will also implement "Actual Stocks", incl. production and consumption in Europe / Africa / Port Royal.
But it will be quite a while unitl I am done anyways and it would still have to be discussed if it becomes "core mod" as well of course.

Sorry if that might cause conflicts to the work you have already implemented.
But after thinking about it, the "Actual / Limited Stocks" holds quite some interesting potential for gameplay. :thumbsup:
(Especially if you add in some "Global Market Events" triggered by Python Event System.)
 
These are the 6 Yields I am currently working on. They are the last ones I want to implement but still needed for my balancing concept.
(Once they are implemented, we have 90 tradable Yields - which is the max limit I have set myself and fully sufficient to support my concept.)

upload_2022-4-23_21-15-59.jpeg


@Raubwuerger
Once they are implemented / integrated in the game, we might take a look at the screen design.
(I will most likely have integrated them in the game by tomorrow evening.)

Those are the possibilities we might have:
  • 2 rows of 45 Yields --> would look better in wide screen resolution
  • 3 rows of 30 Yields --> would look better in normal resolution
I am pretty open to both solutions. :dunno:
It needs to be seen, which looks better.

Maybe we could have a Global Define in XML to switch between both options. :think:
It might however also be too much work to have both options look good ...
 
@Ramstormp:

As you may have read above I am trying to implement something similar as your "Limited Resources" after I am done with all the new Yields, Professions, Experts, ...
(But I am not going to try to adapt any Dawn of a New Era sources. Instead I want to create something of my own from scratch.)


So yeah, I will also implement "Actual Stocks", incl. production and consumption in Europe / Africa / Port Royal.
But it will be quite a while unitl I am done anyways and it would still have to be discussed if it becomes "core mod" as well of course.

Sorry if that might cause conflicts to the work you have already implemented.
But after thinking about it, the "Actual / Limited Stocks" holds quite some interesting potential for gameplay. :thumbsup:
(Especially if you add in some "Global Market Events" triggered by Python Event System.)
No, I love what you have added to the concept! I have not implemented or planned anything further.

All I have is desire, but with no mental clarity and motivation to get my desires implemented. Dawn of a New Era is confusing in its structure and naming conventions. It has functions like Europe bull or bear market trends, and a way to cause colonial raw material supply affect European production amounts; but I could not puzzle it all together and then add what I wanted into a nice merge with WtP.
 
If it's not a big issue, I would prefere screen design be switchable by XML.
With this you should be able to please most players.
 
Just in case you guys ever asked which steps are necessary to add new Yields to the game, I am going to document a bit.
It will be a mini-tutorial if you wish. :)

One of the first steps (after having created the Icons / Buttons), is to also adjust the GameFonts.
You need to add GameFont Icons for every new Yield you introduce. (They are the tiny Icons displayed for "Production", City Billboard or also in "Mouse Overs".)

Main Tool: GameFont Editor (after having created DDS in GIMP)
Input File Format: TGA (simply convert the DDS you should already have)
Folder for Files: ...\Assets\Res
Files to be adjusted: GameFont.tga, GameFont_75.tga

Important:
Add the GameFont Icons in the exact same sequence as you want to have the Yields in XML (Civ4YieldInfos.xml)
and DLL (although AutoXMLEnum.h is now automatically generated from XML).

--> This is also the sequence you will have the Yields in the UI (e.g. CityScreen or EuropeScreen or AdvisorScreen)

Comment:
GameFonts are more or less the most annoying files I have ever worked with, they are extremely easy to break when edited and have strangest dependencies in DLL.
(Especially changing their structure like adding rows or expanding their width, needs a lot of try&error and experience to make it work.)

Experiment a bit to figure out how it works.
There are sadly only very few GameFont Tutorials around.
(Also only very few modders still understand how they work.)

By the way:
These Gamefonts have been completely custom built / optimized for WTP.
(Do not try to use them for any mod that is not based on WTP. It will not work.)

This is how it looks in the tool:
upload_2022-4-24_10-56-59.jpeg
 
Last edited:
So ok, up to the next step: Adjusting resource_icons_64ea

This is the file that is used for displaying "Terrain Yield Icons" on the map. (e.g. when you activate "Display Yields").
(But it is also used for the small map section showing the Yield Icons in City Screen.)

Main Tool: GIMP2 (other alternatives work also)
Quality Check Tool: DXTBmp (also for minor corrections)
File Path: ...\Assets\Art\interface\symbols
File: resource_icons_64ea.dds (dds)
File Format: dds

Comment:
Only Yields that are "Plot Yields" need to be put in there. (Produced Yields do not matter here.)
  • Tobacco --> Yes (has an Icon here)
  • Cigars --> No (has no Icon here)
Hints:
Use the same raw DDS Icon as you later also use for the Buttons. (Both are 64x64 Pixel)
I have noticed that also for the "normal Yields" a black highlighting makes the Icons look much better.

Referencing:
Referencing the position in the file is done by Civ4YieldInfos.xml and starts with Index 0.
e.g. Rice has position 50 (from left) in this file and thus is referenced like this.
Code:
            <iTextureIndex>49</iTextureIndex>
            <iWaterTextureIndex>0</iWaterTextureIndex>

1. Row = normal Yield Display
2. Row = highlighed Yield Display (when Yield is worked)

Good News: This file is much more forgiving than GameFonts (it is harder to break completely)
Bad News: If you break it, it will be really hard to repair without ruining graphics quality (thus always make lots of safety copies when working on it and test quality ingame)

By the way:
This is also a custom built extremely expanded version of resource_icons_64ea.dds.
But such an expansion could be done for any Civ4Col mod. (I simply needed more space for all the new Icons I had to add.)

Remark:
Just be sure that you always work in multiples of 64 pixel.
If you break that format, the file is broken. (And this happens easily if you are a beginner)

e.g.
6144 x 128 --> file works fine
6145 x 128 --> file broken
6144 x 129 --> file broken

Hint for working:
Put support lines with distance 64 Pixel in there, to help you to position correctly.
(Otherwise the Yield Icons will shift / mesh / look ugly.)
upload_2022-4-24_11-42-0-jpeg.625917


Additional Hint for working:
Double check quality using DXTBmp.
(If it looks good there, it most likely also will ingame.)
upload_2022-4-24_12-14-4-jpeg.625935
 

Attachments

  • upload_2022-4-24_11-42-0.jpeg
    upload_2022-4-24_11-42-0.jpeg
    114.3 KB · Views: 240
  • upload_2022-4-24_12-14-4.jpeg
    upload_2022-4-24_12-14-4.jpeg
    86.9 KB · Views: 230
Last edited:
Considering graphics, the only thing that is left is the "High Res Icons" (used in City Screen / Europe Screen for Goods Colums) and the "Buttons" (used in Colopedia).
--> Those are DDS files and are actually the first graphics you normally create. (Used in the previous steps as well to save some time creating the other graphics.)

Comment:

Usually they are put into an "Atlas" (which is a single DDS file containing many buttons in a matrix like structure).
But that is not really necessary and also not creating much benefit in times of fast SSDs.

Thus I currently simply have them in folders.
They are easier to be updated / changed like this for the moment

Comment 2:
At some point when the Yields have been fully integrated / approved, it may be a good idea to create an Atlas and reference the position.
It might simply be a little bit more cleaned up.

----

Referencing:
They are are referenced from Civ4YieldInfos.xml.

File referencing e.g. like this for "Hardwood":

(Note that there is no "," because it is directly a file.)
Code:
            <Icon>Art/interface/buttons/New_Yieds_Icons/Hardwood_Goods_Icon.dds</Icon>  
            ...
            <Button>Art/interface/buttons/New_Yields_Buttons/Hardwood_Goods_Button.dds</Button>

Atlas referencing e.g. like this for "Stone":
(You need to reference / encode the position in the Atlas Matrix. Also there is a "," to signal atlas referencing.)
Code:
            <Icon>,Art/colonization_atlas_resources.dds,8,14</Icon>
           ...
            <Button>,Art/colonization_atlas_resources.dds,8,5</Button>

----

Buttons:
upload_2022-4-24_12-31-56.jpeg


High Res Icons:
upload_2022-4-24_12-32-21.jpeg
 
So ok, once the graphical setup of the new Yields is done, the rest is "simply" XML and DLL.
(To be honest that is heavily understated, because it is most of the work to be done actually.)

1) Programming AI logic so it knows how to handle the Yields
2) Setting up the base XML configuration (Civ4YieldInfos.xml)
3) Setting up all the other affected balancing (Civ4TerrainInfos.xml, Civ4FeatureInfos.xml, Civ4ImprovmentInfos.xml, ...)
4) Setting up the "Yield Units" (Civ4UnitInfos.xml) so you can place these Yields by Worldbuilder
5) Writing all the Pedia stuff or at least preparing the entries so they can easily be filled.

Once you have messed a bit with XML and DLL and checked all the places where Yields are referenced you might get an idea.

Important:
The order of the Yields in the XML really really matters !!!
Already in the GameFonts you have decided / chosen a specific order. Keep it !!!
Order in GameFonts, XML and DLL must be absolutely identical !!!

--> Like always:
Find another comparable Yield as an example / blueprint and search for all the places in XML / DLL where it is referenced.
Learn from examples ! Try it, test it and if it does not work, start asking questions.

It would however simply be too much to document it all in here.
(None of that is really difficult in itself, it is simply massive amounts of little changes.)

Maybe you have gotten an idea now how to setup new Yields.
 
Last edited:
So ok, I have at least finished the "base config" and DLL for the last 6 new Yields as well.
(There is more XML config and balancing to be done, e.g. Terrains / Professions / Experts, ... but I cannot finish it all today.)

So that is it, the final magic number of tradable Yields: 90 ! (Yeah, I think that is enough now ...)
So we could potentially start working on the screens.
  • Rice: A "hybrid" crop ingame, also generating Food when harvested. (But historically it mostly was a "cash crop".)
  • Cassava: A "hybrid" crop ingame, also generating Food when harvested. (But historically it mostly was a "cash crop".)
  • Padded Leather Coats: A "tier 3" produced good. Needs Leather + Downs to be produced.
  • Chocolate: A "tier 3" produced good. Needs Cocoa + Sugar to be produced.
  • Cochineal (Carmine): Can also be used to dye Cloth and Wool Cloth (like Indigo and Bloodwood)
  • Field Worker Tools: For now, this is simply an "Import Good" to be sold on Domestic Market.

Some images of how it now looks:

Colopedia:
Spoiler :

upload_2022-4-24_17-31-13.jpeg

upload_2022-4-24_17-31-25.jpeg

upload_2022-4-24_17-31-41.jpeg

upload_2022-4-24_17-31-59.jpeg

upload_2022-4-24_17-32-16.jpeg

upload_2022-4-24_17-32-31.jpeg



Current / unimproved City Screen:

(Still needs to be improved to look pretty again.)

1st row: raw materials (manufacturing inputs)
2nd row:
produced goods (final output yields)

Spoiler :

upload_2022-4-24_17-33-22.jpeg



Yields to be placed by Worldbuilder:

(e.g. Loading a Ship or Wagon Train)
Spoiler :

upload_2022-4-24_17-35-20.jpeg

 
Last edited:
Back
Top Bottom