World History Mod Conversation

I have been completely out during this long month. I stopped the activity when we were to include the buildings into the xmlgen. Well, this is not much work, but I haven’t been able to do it.

And I’m getting busier now in end May and beginning June, so I don’t want to compromise with more work for a while.

I hope at least to find the odd minute for posting.
 
Lately I've been developing as hobbyist project a game that mixes colonization with the theme of civilization series. So, essentially it's like a 2D version of my vision for what world history mod for Civ4:Col could be. Although I have made good progress, I don't know if it ever gets finished, so I want to share couple of ideas I have implemented so far, that I think could work well for the WHM too. (Btw, I'm still interested helping with WHM if the development ever truly begins.)

Some of the ideas I have:


New economy system

If the world history mod wants to be truly World history mod, the map should be global, with no borders in east/west. In my opinion, I don't think it makes sense to have trade screens in such global map. My solution is to simply sell the resources/goods into the cities.
System that I have at the moment is little bit like the famous domestic market mod:
  • If city has stored at least 100 resources and the price for the resource is more than zero, it is sold automatically when the turn ends.
  • Strategic resources(weapons/tools/horses etc) are never sold , you can store them as many as you want
  • Prices are defined by the base price, that is constant unique value for every resource, recent history of the sold resources and the population of the city. Only units that work in the city are accounted as population units when calculating the prices.Colonist and soldiers don't have effect on prices.
  • The number of sold resources is added to a variable for every individual city. The number goes down little bit every turn,as the citizens consume the goods.
For example player has 95 olives stored in the city of Rome. It is producing 7 more so at the end of turn 100 olives is sold. The price per olive is let's say 3 $. The player receives then 300 $. But then the price of olives drops to 2 because the city gets more saturated of the olives. If more olives are sold the price can drop to zero, and you can't sell more olives in the city. But every turn the citizens of the city consumes some amount of olives sold, and eventually the price will start to rise again.

Some effects that this system can cause for the game play:
  • You can't rely on economy that is based just couple of different trade goods. At least you need to find new markets (cities) to sell the goods. (You can sell goods in a foreign city if you move your ship or wagons in there.) And especially if the different terrains produce different resources, it makes sense to go colonize new lands or sign trade agreements with other nations.
  • Since the population effects the prices heavily you better have at least couple of big cities where you sell the goods. City spamming isn't the only viable strategy as it so often is in the civilization series. And If the game has some sort of population cap for the cities (doesn't for example M:C has some kind of max population feature?), it can cause interesting strategic dilemmas.
  • Well, obviously, since the goods are sold in the cities instead of just a handful of trade screens, the micromanagement may increase. Not necessary bad thing but I agree it could cause some headache.

But where do we spend the money if there are no trade screens?
Some possibilities:
  • Salary for the soldiers, pioneers and possibly city workers too
  • Upkeep for the buildings
  • Or maybe some sort of investment cost you have to pay before you can construct a building
  • And of course tile improvements cost money to build too

How to get new citizens?
No trade screens, no immigration... so only way is to have enough farmers!
Or capture enemy units...

How to get specialists?
Units gain experience points for the profession they are working. After working long enough as for example fisherman, unit turns into expert fisherman. To have a twist, maybe changing a profession will cause the experience points to be lost. Of course if the unit is already a specialist it won't gain or lose the experience.

Another option could be to have some sort of special food type that gives you directly a specialist when the storage is full. Much like how the luxury food works in the M:C.

---

Well that's enough of my ideas this time...

Btw Lib.Spi't, I have really started to appreciate the design sheet you created for the WHM, It's truly intriguing!
 
Hi ya Fullerene.

Glad you are enjoying the design sheet, it still needs a lot of work, but I felt it got to the point where people could at least get the gist of ancient to modern for ideas.

To be honest I haven't looked at it almost since I made it! I think the one available here is the most up to date one I made but who knows!

I still have the old version of the mod on an out of date M:C build, with all of the yields and yield graphics implemented, though it still needed some work to get the yield icons paired up right.

I won't do anymore work on the actual build until M:C gets done with what it is doing, but there are some great thoughts and happenings with M:C at the moment.

From my perspective I don't think I will ever get rid of the trade screen concept, but in the M:C forums we have been talking a lot about them and things that could maybe be done with them.

Stuff Like:
Dynamically generated screens.
Mutiple screens that are generated in game from a set of rules, limiting available goods, etc.
Trade Screen Events.
Leading to fluctuations in price on a trade screen.
Greater Fluctuation in trade prices.

I completely agree that the map needs to be circular and I think it is not difficult to do (I can't remember but I think I already did it in my WHM tests.)

Changes I would make to trade screens are things like:
Making their access points small, like 3x3 squares, etc.
Or
Centre them on top of a city as a trade hub, potentially adding the ability to gain full control of it in one way or another so you can deny access to it for other players, this will lead to a lot of contesting and pirating and banditry around these areas as you try to stop people capitalising on trade hubs.
So every continent would have a trade hub, this could even become several with the possibility of dynamic generation, each with a much smaller roster of trade goods, and specific 'bargins' to capitalise on.
Making a trade empire a very viable strategy, moving product around the world, but one that will require a great deal of work to implement, requiring shipping and security to keep it safe.

Opening and closing Trade Hubs.
I would also like to see certain areas of trade shift, or become obselete, perhaps wth techs, or wonders, etc.
We also talked about the idea of 'moving' trade screens, so a concept like a travelling fair that pops up in a city for X turns, then disappears to pop up again some where else.

I like the trade screens, and I think they would would not be out of place in the game, there have always been centres of commerce throughout the world, nations or cities that survived and thrived by becoming a trade hub.

Nations and areas of the world have often had an abundance of particular specialists, usually because they have grasped some fundamental element that other nations haven't at that time. Again making Trade Hubs a sensible idea for these people to congregate and seek employment.

We have also been talking a lot about inter-nation trading at the city level, with automated traders acquiring and selling goods for the best prices.

As for the concept of 'unlimited trade' the way I view it is that in game, an era can never really produce more than it needs, that there is never 'no-demand' for something somewhere, and these trade hubs make a name for themselves facilitating between the haves and have nots. you can flood a market and drive prices down, you can also make them 'unprofitable' especially in an inter-trade system(moving from one hub to the next) but you can never out produce the world need.
The flip side being that no nation can ever out consume production in a given era, you can always find what you need somewhere, you just might not be willing or able to pay the price for it.

With every 'upgrade' to M:C, we get more and more cool ways of doing things, and I am always thinking how an M:C concept can be altered or expanded for WHM.

It is very much still a dream to make this a reality, and I think there are enough people around to make it a reality, especially from working from and with the M:C build.

(Even if it is only us guys that end up playing it, anyone who doesn't would just be STEWPID! :p)

Long Live the Civ4 Mod Community!
 
I completely agree that the map needs to be circular and I think it is not difficult to do (I can't remember but I think I already did it in my WHM tests.)

To make a map circular is very easy. Enough to change wrap X=0 on wrap X=1 in your *.ColonizationWBSave. The problems appears with a color of water. I don't remember where exactly I read about it but somewhere on this forum.
 
Yeah, from what I remember it worked, it just had a big block of 'travel to europe' squares on one of the oceans..
That's a question of getting the map generator to make a map like you want. In theory you can make whatever landmass layout you want as well as making Europe access points where you want. The question is if you want any at all though, but completely removing them will cause problems as the DLL is right now, at least for the AI.
 
For example player has 95 olives stored in the city of Rome. It is producing 7 more so at the end of turn 100 olives is sold. The price per olive is let's say 3 $. The player receives then 300 $. But then the price of olives drops to 2 because the city gets more saturated of the olives.
I'm not sure I like this concept. If we get rid of all trade screens, then the most natural new trade solution would be domestic marked. Each unit requires some yield each turn, which mean you gain some gold each turn for continuous sales. You can trade with other players and buy olives for $2 each and sell them to your citizens for $3 each (or whatever the prices would be). Likewise other players will be interested in buying yields they can sell to their citizens.

The M:C forum has a thread on automated traders. It is essentially automated traders, which goes between one of your cities and foreign cities to automatically sell surplus and buy what you lack. Ideas are welcome and since it's a DLL feature, it will affect WH as well.

No trade screens, no immigration... so only way is to have enough farmers!
No fishermen?

How to get specialists?[/B]
Units gain experience points for the profession they are working. After working long enough as for example fisherman, unit turns into expert fisherman. To have a twist, maybe changing a profession will cause the experience points to be lost. Of course if the unit is already a specialist it won't gain or lose the experience.
That's how learning by doing is done in RaR. I don't like the concept that if a pirate forces your fisherman to become a farmer for one turn, it resets the fisherman experience.

There is M:C talk about storing the number of turns a unit has worked in a certain profession. The unit then gain +(turns/X)% bonus to production and possibly once the bonus reach a certain point, there is a chance the unit will become an expert. Experts will also be able to gain bonuses like this meaning a fisherman fresh out of school will catch less than the expert fisherman who has been fishing for 100 turns.
 
I'm not sure I like this concept. If we get rid of all trade screens, then the most natural new trade solution would be domestic marked. Each unit requires some yield each turn, which mean you gain some gold each turn for continuous sales. You can trade with other players and buy olives for $2 each and sell them to your citizens for $3 each (or whatever the prices would be). Likewise other players will be interested in buying yields they can sell to their citizens.

The M:C forum has a thread on automated traders. It is essentially automated traders, which goes between one of your cities and foreign cities to automatically sell surplus and buy what you lack. Ideas are welcome and since it's a DLL feature, it will affect WH as well.

Hmmm,so basically you can only sell goods to your own citizens, and can't directly sell to foreign cities? Domestic markets are all good in mercantilistic era, but somehow I'd like to go sell goods to foreign cities too.

Automated traders is surely something that helps with micromanagement. But on the other hand, losing some control might not be that fun. I, for example, never use automated workers in civ4. It's simply not my philosophy of strategy game to have things automated too much. Not saying it can't be a great feature if implemented well.

No fishermen?
Yes fishermen too, even hunters.

That's how learning by doing is done in RaR. I don't like the concept that if a pirate forces your fisherman to become a farmer for one turn, it resets the fisherman experience.

There is M:C talk about storing the number of turns a unit has worked in a certain profession. The unit then gain +(turns/X)% bonus to production and possibly once the bonus reach a certain point, there is a chance the unit will become an expert. Experts will also be able to gain bonuses like this meaning a fisherman fresh out of school will catch less than the expert fisherman who has been fishing for 100 turns.

Well yes the RaR system is mostly same I had in mind. And might be better that you don't lose the experience, but simply the first profession to reach certain experience level becomes the specialty.
 
Automated traders is surely something that helps with micromanagement. But on the other hand, losing some control might not be that fun. I, for example, never use automated workers in civ4. It's simply not my philosophy of strategy game to have things automated too much. Not saying it can't be a great feature if implemented well.
The goal is to reduce micromanagement by setting some well defined parameters (much more detailed than automated workers). However the automated traders are not meant to be able to do anything you can't do yourself. Right now you are able to load a trader, go to a foreign city and buy/sell yields.

The automated trader is meant to do something like "sell surplus of yield A, B and C and then import tools to maintain a level of 100". It will never be free to figure out more on its own, like it suddenly detects a great profit by selling all your stored weapons to the player you plan to attack. If it does that, then it is because you specifically told it to sell weapons to foreign players.

I generally do not use worker automation either as the output can be.... quite random. It's even worse in colonization than it is in the civ universe. For instance automated workers in RaR cuts down all forests unless there are prime timber. You can handle not having forests in civ, but you can't really handle not having any hammer production.
 
Btw, I'm still interested helping with WHM if the development ever truly begins.

WHM is M:C, M:C is WHM. As Lib mentioned he is waiting till production of M:C is close to being finished, then all the work for WHM will be XML based, adding Units, LeaderHeads, Techs, Civics, etc. So, rejoin the fun ;)

Some of the ideas I have:

New economy system

If the world history mod wants to be truly World history mod, the map should be global, with no borders in east/west. In my opinion, I don't think it makes sense to have trade screens in such global map.

This is something I have considered and my idea is that you don't drop the Trade Screens but Convert them. Certain cities can build up to become Trade Centers (or are already established as such) that you can sail to and open up the Trade Screen for that City. The code for this is already in place in M:C. We can spawn TradeScreen types on the fly, with their own market prices, goods to sale, Units to purchase and the like.

What I would like to see if we go this far is to implement a living economy where Prices are truly based on Supply and Demand, this being modeled after the historical events, places, prices, and supply. We have other games like this that we can draw inspiration from such as Dawn of Discover and Patrician IV, which I have both on Steam.

But where do we spend the money if there are no trade screens?
Some possibilities:
  • Salary for the soldiers, pioneers and possibly city workers too
  • Upkeep for the buildings
  • Or maybe some sort of investment cost you have to pay before you can construct a building
  • And of course tile improvements cost money to build too

We have similar Ideas posted in the M:C thread.

How to get new citizens?
No trade screens, no immigration... so only way is to have enough farmers!
Or capture enemy units...

I like M:C's version of Immigration where they come from actual Cities on the Map, or from "distant lands". You could even get more techincal and cause the said City to lose one population. If we used the above Trade Screens per City Trading Center, Citizens could be "summoned" from their as well. I like to call it summoning as this is what the Kings did, they would summon Specialists to their Realm.

Automated traders is surely something that helps with micromanagement. But on the other hand, losing some control might not be that fun. I, for example, never use automated workers in civ4. It's simply not my philosophy of strategy game to have things automated too much. Not saying it can't be a great feature if implemented well.

The aim of the AI Traders is to take away some of the tedious trading in M:C. Since in M:C you are required at times to buy goods from the Natives it is more noticeable. I also want to create a new type of Production option where you can say, buy Grapes cheap enough from the locals and turn them into Wine for a profit. As we know it does cost to produce yields, it cost 2 Food per turn, so Purchasing Yields at a good price can compete with this cost and you can benefit economically. Just like in real life, we buy goods for others because they can produce them cheaper than we could.

Anyway, after the tenth time of buying Grapes from the Natives to satisfy your Production you are going to be begging for some automation. Buying up Tools is also a desired action in M:C as Tools act as the initial weapons and also they are needed for Building Production. One of my biggest gripes in vanilla is Buildings/Units just sitting around waiting for Tools to appear in order to finish the production. I would always forget about them and they would never get complete. I am to fix this and automate the demand of getOrdersWaitingForYield(), as the DLL calls it.
 
One of my biggest gripes in vanilla is Buildings/Units just sitting around waiting for Tools to appear in order to finish the production. I would always forget about them and they would never get complete. I am to fix this and automate the demand of getOrdersWaitingForYield(), as the DLL calls it.
Huh :confused:

If you enable feeder service, it will figure out such demands and search your cities for any export of yields, which it requires. Sounds like getOrdersWaitingForYield() is just double work for something I already coded. CvCity::ma_productionQueueThreshold is a yield array (no access function) and for each yield, it stores the cost of the most expensive building/unit in the production queue and it includes the buildings, which are finished with enough hammers, but just needs some other yield to finish. Sounds like this is what you need if you want to do anything related to this.
 
Huh :confused:

If you enable feeder service, it will figure out such demands and search your cities for any export of yields, which it requires. Sounds like getOrdersWaitingForYield() is just double work for something I already coded. CvCity::ma_productionQueueThreshold is a yield array (no access function) and for each yield, it stores the cost of the most expensive building/unit in the production queue and it includes the buildings, which are finished with enough hammers, but just needs some other yield to finish. Sounds like this is what you need if you want to do anything related to this.

I was talking about the vanilla game. The getOrdersWaitingForYield() is just vanilla code as well. I was looking it over for the Trader AI, I want it to know if it's home city needs a Yield that it has picked up so it can decided if it should continue on its mission or head home and unload that yield. This function is part of the function that is called each time a Yield is unloaded.
 
Top Bottom