Resources and Monopoly Trees

3335d

CCtP Player
Joined
Jun 15, 2012
Messages
642
There has been a debate over whether to make all AssignStartingPlots resources bonus resources, with "enhanced luxuries" and strategics being largely manufactured. We can carry on that debate here.

For my part, I think that all resources should be strategic, and the Monopoly tree buildings should be changed to use strategic-resource quantities, as opposed to local resources. Actually, the lower-level Monopoly tree buildings should still use local resources, but Distribution Center on up should use strategic resource quantities plus something like "requires 3 of (insert lower Monopoly building here)."

By making the resources strategic and increasing both the base improved yields and Monopoly building benefits, we can reduce the amount of resources on the map and make the mod run faster.
 
I'll keep my thoughts about things to myself until this thread gets more populated (don't want to influence anyone), but what do people think about this:
I've been thinking on how to make things more streamlined, and I think the best way is by grouping the monopoly buildings into an overarching theme, like a Grain Exchange or Animal Ranch. These would improve a number of bonus resources each (Grain Exchange being Wheat and Banana (just go with it), Animal Ranch having Cow, Deer, and Sheep). There would be one building per era that works like this for each group (Animals, Grain, Minerals, etc). The only issue that I am having with this is how to set up the resource prereqs. Should each building need 1 of each of the improved resources (very strict), some combination of resources that add up to, say, 3 resources (so 2 Cow and 1 Sheep would work), or just need one of the improved resources anywhere (very relaxed)? I don't know, but either way I see this as a way to really trim down on the "clutter" that some have spoken about.
 
3335d said:
By making the resources strategic and increasing both the base improved yields and Monopoly building benefits, we can reduce the amount of resources on the map and make the mod run faster.

Does the performance really depend on the number of resources on the map? I didn't know it. I like it when the map is cluttered with resources...
 
Thought i would throw in something i sent to chrome a couple weeks ago :)

Basically make the resources that appear on the map "bonus resources", have buildings that then require these resources inside the city limit before they can be built. :)

eg.

These are basic buildings that produce strategic resource, food, iron, steel, gold.
Fire Pit: Requires local cow, sheep, deer. Produces new strategic resource food. (building would have multiple upgrades that would lead to a monopoly)
Bakery: Requires local wheat. Produces new strategic resource food (building would have multiple upgrades that would lead to a monopoly)
Iron workshop: Requires local iron. Produces 2 Iron. (building would have multiple upgrades that would lead to a monopoly)
Steel Forge: Requires 1 iron. Produces 2 Steel

Housing requires the new strategic resource food and produces unskilled workers as a new strategic resource.
Hut: Requires 1 food produces 1 unskilled labor
Cottage: Requires Hut and 1 food, produces 2 unskilled labor
House: Requires Cottage and 1 food, produces 3 unskilled labor
Skyscraper: etc etc

Unskilled workers can be used with other strategic resources created from buildings (wood, stone etc) to build other buildings etc.
Temple: requires 1 unskilled labor and 1 stone. Produces 2 holy man.
School: Requires 1 unskilled labor and 1 wood. produces 2 skilled labor

the labor strategic resource is also used in the creation of units
Warrior: Requires 1 unskilled labor
Swordsman: requires 1 unskilled labor and 1 iron
Crusader: Requires 1 holy man

We could then also have buildings provide luxury goods eg firepit produces cooked meat, bakery - bread, Temple - holy Artifacts etc

It would be quite a change but maybe interesting, with the aim being to create product chains that makes every building have an impact beyond just gold/happiness/culture/faith :crazyeye:. Most of this is actually just xml work, with the only real lua work being on the city view and top bar to make everything easier to see, which needs doing anyways.
 
That is a good idea, but I really think that you should move to strategic resources for on-map resources. This will reduce the amount that you have to put on the map, making it load DRAMATICALLY faster.
 
That is a good idea, but I really think that you should move to strategic resources for on-map resources. This will reduce the amount that you have to put on the map, making it load DRAMATICALLY faster.

I think with bonus resources you could actually better reduce the number of on map resources, if a city has a local Ivory bonus resource for example you could then create a number of upgradable buildings that would provide more and more of the Ivory related strategic resource. So 1 city with a local bonus resource could generate 100s of the relevant strategic resource if you so wish.

What i can see that actually changes by having strategic resources on the map is that once you have exploited a resource you can then build the monopoly resource buildings in any city. So on a earth map with real resource placements and TSL you could have London building Ivory related buildings and a city in Africa building wine related buildings.
 
Fires, that makes sense. Bonus resources could create via buildings as many strategic resources as desired. In this case, though, we would have to rethink the Monopoly tree and allow Conglomerates and Monopoly buildings to be constructed in cities without the bonus resource. This is not a problem, as powerful conglomerates and monopolies are generally highly disconnected with the lower-middle-class herders and traders anyway.
 
@ 3335d - Any resource can have a quantity, its just a matter of defining it in AssignStartingPlots.lua. CCTP used to have all resources with 2+ Quantities was part of the early monopoly system.

@ Fires - Thats a realy neat idea. Prolly easier in SQL though than xml :) .... I know...I'm a SQL junkie..
 
Anyway, based on Fires' post, here is my grand vision of the new and almost completely overhauled monopoly tree. Rather than simply proceeding on one track, there will be various either-or prerequisites made possible by means of free dummy buildings and dummy resources. And best of all, it is doable 100% in XML (or SQL, if you like)! Although to polish the UI (which needs to be improved regardless) LUA will of course be required.

This change to the Monopoly tree will emphasize two aspects of a resource, the hard yield aspect and the mercantile aspect. One track of the Monopoly tree for each set of resources will place emphasis on the mercantile aspect, another on the hard yield aspect. These two eventually converge at the Conglomerate level.

Here is the schematic: Monopoly Tree CCtP

Also, I've been converted to the camp stating that all on-map resources should become bonuses. Strategic versions of bonus resources could be produced by Monopoly buildings.

EDIT: Strategic Resources could be made of the bonuses, if desired.
 
TBH I had not looked 3335d, looking now :)

Edit:

I think "Food" might confuse people and should be Goods or some such, I liked the Unskilled/Skilled labors idea better, but that probably stems from SimCity Societies since thats the way that was(You get them from that Fires?). Structure looks real nice, like how you have consolidated it as time progresses.
 
Thank you for the feedback Horem. As for more and more refined goods being eventually made, I think that these should be the subject of different buildings, like factories. The Monopoly trees that I am discussing here are only a section of those buildings dealing in resources. Even with my limited modding skills, it shouldn't be too difficult to make the new monopoly trees. I just need to know the names of all of the resources in both the mod and the base game, make them bonus resources, and thereby enable their presence in Monopoly trees. Strategics could be made as well, for unit and building purposes.

The bonuses may seem OP, but remember we're doing this with the intention to reduce the quantity of resources on the map as well as for consolidation of the Monopoly trees. While the actual bonuses may need rebalancing, the greater bonuses should give an idea of what the bonuses should be.
 
yeah maybe food should be "rations" or something :). There are a few games that use skilled/unskilled/etc labor so pinning it down to just one is difficult ;)

The monopoly tree looks nice, i don't know much about the xm... sql building limitations so am sure you know what you are doing with the dummy buildings :)
 
yeah maybe food should be "rations" or something :). There are a few games that use skilled/unskilled/etc labor so pinning it down to just one is difficult ;)

The monopoly tree looks nice, i don't know much about the xm... sql building limitations so am sure you know what you are doing with the dummy buildings :)

I've already started work, and despite my best efforts at copy pasting and changing some values in the github code writing the db values for the new buildings in XML, I've only gotten through the first tier. I have, however, made all resources either bonuses or luxuries, and have made the corresponding first-tier buildings for all of them. However, it's rudimentary. There's no game text, the prereq technologies have not been set and the few buildings that I do have don't do anything yet. I'm going to try importing it into SQL to see if that gets anything done faster. :)

EDIT: The "bonusization" of strategic resources will lead to some tongue-in-cheek names until better ones are decided. I'll not reveal them here because they will sound too absurd.
 
It would have been faster, but then there would be a tremendous waste of the code that is already on GitHub. I know SQL, and a simple INSERT INTO rather than all of this absurdity would have helped.

Done with the second tier now, third if you include the dummy buildings. However, the buildings don't do anything and will have to produce a strategic resource in order to work at the next level. I'm not done with the mercantile buildings but excluding game text it is just a matter of copy and paste, find and replace. I hope to be done with this in the next day or two.
 
Not sure I understand, I'm quite new to SQL, but use INSERT all the time, in various ways.

Inserting values into tables is what I meant. Just like you suspected. As you well know, editing with XML is a great pain, where one must type the column values twice rather than once (<xyz>abc</xyz>). Such is not the case with SQL - only once there must you type the column name in a query.

We shouldn't digress, let's get this thread back to its original purpose.

EDIT: Some LUA will be needed to improve the UI. I don't want the dummy resources showing up in the top bar in ways where it will look obvious that they are dummy resources, I want them under a different heading such as "Level X Monopoly Buildings."

EDIT: We're going to have 110 buildings versus the present ~200 - this will save even more load time! 15 new (dummy) resources though, and an indefinite number of non-dummy resources, though these will not be given a place on AssignStartingPlots and will be more "enhanced luxuries"
 
The lua in the top bar shouldn't be too much of a problem, looking forward to seeing how it turns out. I am sure we can find something to refill those buildings ;)
 
I have the updated monopoly trees. There's still no game text, however, and owing to typos there may be some bugs. The game text and tech required references also need to be fixed, as does the production cost of the buildings. I thought I wouldn't do anything about techs because we were reworking the tech tree anyway. :)

Other than that, the yields may need to be fixed for balance, but take into account that we will put fewer resources on the map anyway. I have not implemented enhanced strategic resources (except dummies) yet but these can be expected in a future version.
 

Attachments

Back
Top Bottom