1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

Current and Future Developments

Discussion in 'Civ4Col - Medieval: Conquests' started by Kailric, Aug 7, 2013.

  1. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    The natives trade tools and most things you need at the start. So, unless you go on a murderous rampage there are plenty of opportunities for improvement. For those who want to go on a murderous rampage I want to create a new Unit for captured goods. So that when you destroy a village you gain several of these units from goods present in the city, much like treasure units. So, if you decide to wipe out the locals you still gain some goods as trading opportunities will be diminished. This would be a good place to introduce the Bandit profession. So you can raid villages for goods. This act would not cause war but would still hurt or have a chance to hurt relations.

    I did look into it. I've copied what R&R did pretty much and that is as far as I desired to go with it. If some one else wants to do more with it then that's fine.

    Yeah, I have found no issues with the plotgroups.

    You get trade points from trading with natives and such also or you should be. The AI doesn't have an issue and probably has it better then humans. The current local trade can be expounded on so that more needed goods can be bought and sold locally through pedlers. Then again, if you wipe out the competition there is no one to trade with.

    Anyway, I must get to work. These are some valid points Night, so I'll ponder over them as I play test.
     
  2. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    How about making destroyed villages give you yield units. We already have those, but we don't really use them. They then just sit there and move. Next we make peddlers (and possibly other transports) able to pick up lone yield units on the map. Say the unit is UNIT_FOOD and it has an int saying say 15, then the peddler will load 15 food. Moving on to the next village and it loads 18 food. It will then not carry two food units, but 33 food as the conversion happens on load.

    Alternatively we make units with spoils and they take up one slot. They are then converted to regular yields when unloaded in a city.

    We should consider a setup for this as it should be in XML or the yield headers. Presumably it will be fine in XML only as "destroyed village" is an event called rare enough not to really bother with performance.


    However what about destroying a village on an island? How about giving land transports the ability to unload a single cargo slot and move it to a ship next to it. It will then use up all moves for both units that turn. It could work with regular yield transports too as it would allow loading ships slowly even if you are unable to make a real port city.


    I wonder what to do with yield demands and GUI. I want to somehow get a good overview of plotgroup needs as well as an overview of what unit demands what. The unit demands sounds like a pedia issue and while it belongs there I would also like a spreadsheet like overview. Maybe it would be best to make a domestic advisor screen where columns are yields and rows are allowed units (instead of cities). That might actually be the best because it filters out units you can't make anyway and you can sort by column values. Maybe it should have a button with an on/off switch to switch between allowed units and all units.

    Ideas are welcome.

    I also wonder if we should change yield demands into floats. Having a demand of 20 makes it little intuitive that you need 5 units to generate a demand of 1. If we instead make the demand 0.2, then people will go "naturally 0.2 * 5 = 1".


    Another idea is to have a game setting called "high domestic demands" (or whatever) where all demands are multiplied by 2, shifting the economy towards a stronger domestic scenario. It should be a game option, not an XML option as it is a choice for the player, not the modder. We talked about Founding Fathers too at some point and that should also be a game option. Start a custom game in FFH2 and see what it is like for the gamer to customize a game to one's liking with a huge amount of game options :)
     
  3. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,707
    Location:
    UK
    Am I right in thinking that you guys changed the 'can sell unit X at Y% price' that had different buildings opening up new sellable goods at market, to the old custom house style of selling overflow of goods at X%?

    I don't really like the autoflow overselling system, unless the price is really low like an 'everything must go sale' because actually in real life, if you can't store something it goes off.. so why if you over produce and don't get it to a market should you make money on it?
    That just rewards a lack of proper planning?
     
  4. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    The income from overflowing goods is pure XML and I think it is still fully functional in the DLL. However from the looks of it, Kailric have modified CIV4BuildingInfos.xml to say
    Code:
    <iOverflowSellPercent>0</iOverflowSellPercent>
    Set it to 5000 and be rich :lol:

    Modders can do what they like, but I kind of agree that selling at even 50% of the price seriously affect the game. If we go back to my play example I mentioned earlier I kept overflowing with barley because nobody would buy it. Imagine if that gave me an income from overflowing with something nobody wants to buy.


    I just had an idea. How about clicking on the city plot will bring up a list of what to produce in excess to food? The game currently picks the best one, but if you have say 4 cities all producing the same thing, you might have more than you need. You could benefit from picking a yield, which provides less yields/turn if you have problems getting supplied of that yield.
     
  5. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Having to pick up Yield units may be a bit to much micromanagement and also you are at war so sending your none military units out with enemy units about would not be to wise. Generating a unit like the Relic units with goods in tow instead of a relic may work best. Each yield could have a "landcapturedunitclass" that generates a portable version. This would solve the issue of capturing islands as the units can self load into ships.

    Yield demands converted to float sounds ideal. I was very confused how the system worked and I know others would be too.

    "High domestic demands" sounds like an excellent idea, also.

    We could create a new rule of market. To start with we need to make the "natives" function like minor Civs, and their cities can be captured. The minor Civs demand finished goods more and the major Civs demand raw resources. And you can generally find a buyer for what ever yield you are attempting to sell once you have a trading post established. Yields with little demand would have to be sold really cheap but still can be sold. There could be a limit set also, "We are sick to vomit from so much barley, please no more!" :)

    Each city would have its own AI price list that fluxuates over time and with actually amounts of goods traded. Also, for example, as you sell barley to a major civ they will start to auto generate Ale that can be bought. This Ale would be seperate and could not be sold as normal by the AI. The player could then purchased this finish product to fulfil other demands or uses within his Empire. This would create a symbiotic relationship.

    ...
     
  6. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,707
    Location:
    UK
    yeah, I thought it had changed, it used to be that it would sell a few of a resource every turn, instead of selling overflow cotent.
     
  7. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Trading Post, Markets, and Guild Halls now do this with 50, 60, 70 % returns respectively.
     
  8. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,707
    Location:
    UK
    yeah.. Can I ask what the reason for the change was?

    I don't think I kept up with the economy discussion too well...

    I thought the other version just made more sense, especially when I thought we were moving towards the numbeer and types of citizens affecting how much would actually be sold per turn, along with how advanced the market infrastructure was in a time.

    I really liked that system...
     
  9. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Night introduced the demand system which works similarly but, setting it up so that Units and Buildings have demands that make since was a problem for me. The original system was unbalanced and over powered as it was. Maybe instead of Units and Buildings having demands Cities themselves could generate demands for the Players cities much like I proposed for the AI cities above.

    At the moment the system is a jumbled mess and needs play tested and adjusted to something that works well with the main theme of M:C.
     
  10. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    I just had an idea. Sales to domestic demands are handled within a plotgroup. How about a diplomatic relation, which allows using the other player's cities in your plotgroup for sales. You can then supply whatever demand the owner didn't supply himself during his last turn. This will make it more beneficial to connect to all native settlements as well as making a relationship good enough to make them allow your traders in their cities. Maybe there could be a split profit from doing so.

    We could add threatening requests like "If I can't sell to your citizens without any fee to you, then I will attack you". This mean the relationship to open for traders can be one sided.

    It shouldn't replace making peddlers to sell yields. There is a balance issue here. Also remember that it is the unsupplied demands you can access. If the player can supply the demand himself, then there is no demand for whatever you try to sell.

    Also I need to check the sales code. It should never sell while feeder service is on and is importing. Imagine you import yield X because you need 20 for a building. You have 18 already, then it shouldn't sell from those 18 before the building is completed and there is no construction demand.
     
  11. orlanth

    orlanth Storm God. Yarr!

    Joined:
    Nov 17, 2001
    Messages:
    1,776
    From vanilla there is a Unitclass for every cargo Yield, but I think these are unused except maybe somehow behind the scenes when dragging cargo onto carriers. Maybe when you destroy an Animal or enemy Pedler it could "drop" some yields onto the map as one of these cargo-yield-units, which you could pick up with a Pedler or Wagon to use for yourself :king::cool:

    That sounds good; if there could be a local price adjustment from over-fulfilled or under-fulfilled local Demands, then the existing Domestic Market system would in fact work really well as you describe. If local prices adjust depending on how much Demand is fulfilled this whole system would become effectively self balancing, just like in real world economies :king:. You could never get too rich too easily since overfulfilled Demand would suppress local prices, while if a city is itching to get its hands on a certain good, there would be higher profits for those able and willing to supply it.:gold::)

    hmm that sounds tantalizing as well:cool: Especially if there are some non-economic consequences from fulfilled and unfulfilled citizen Demands. It could be a tradeoff between letting your already prosperous rival get even richer and more powerful from selling to your people, versus clamping off foreign trade and depriving your citizens to keep a national monopoly on domestic sales. :goodjob:

    Now you sound like a real American! :p are you sure you don't want to emigrate?;):D

    Seriously though this sounds like a good idea, and could be even nicer if there were a unique Tech or Civic that could boost your ability to sell into foreign markets, to enable merchant powers like Venice and the Hanseatic League:king:
     
  12. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Would it be more simple or be unrealistic to have this goods generated this way moveable, much like the Relic unit? I could create a new Yield Unit and put the current immobile unit in the back. What I am thinking is it will just become a pain to have to go around picking up a bunch of cargo boxes, especially in times of War.

    I agree, all these new ideas do sound tantalizing. Perhaps when we are done with our current updates and upload a new official version we can concentrate our efforts on creating a tantalizing economy or should we wait and do this before our next release?

    In my latest push I am working on the Research Pact code. In order to start a RP you need to be producing enough Research to make it worth wile to the Partner. Now, if you start a Pact and stop producing ample Research the Partner will cancel the deal. This will prevent exploits. Currently you simply get a text warning that this has happened as the Diplomacy screen isn't popping up for some reason but I will have this fixed my next push hopefully.
     
  13. Trade Winds

    Trade Winds Warlord

    Joined:
    Nov 21, 2013
    Messages:
    235
    If you want to listen to a humble opinion, I’d rather have the new official beta version so that we can test the latest changes minor as they may seem.

    It is difficult to me to pull a playable version after a month off-line, even in the case that I more or less keep up with the forums, so imagine newcomers.

    Also, if we continued (upon time) with our projects, we could easily check how they assemble with the latest changes.
     
  14. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    I agree. We should aim at a release ASAP. The fact that we got a bug report for the latest release and that it was so outdated that it turned out to be useless really show that we should have released something long ago. We should finish up minor stuff and then release.

    With a release we should tag the revision in git meaning we can find it again later and we should no longer commit to master. Instead we continue onwards in a development branch. We are seriously not using the branch system like intended and that too is hurting bug hunting.

    The only thing remaining before a release, which I want to do is to rename some types. I started recently, but then stalled. The reason is that the names goes into the savegame and I would prefer if we can make savegames from 2.1 load with 2.1.1 and maybe even 2.2.

    I'm not sure if we have any other issues, which are important enough to hold back a release.
     
  15. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Ok, I shortened my list to the major points, if anyone wants to help finish these let me know as my hands are full(literally I am holding my baby girl as I write this from my iPhone)
    • -adjust in game tutorials for new features
    • -Nobles shown in "Conquest Advisor", this should be Nobles/Commanders/Chaplain or removed for now
    • -There is a discrepancy in the Armor smith's building on what yield is actually being produced. The yield help text does not show what yield is being produced correctly either. We should also consider how we want this to function as there has been talk of changing the functionality.
    • -Could select Leather Armor in the Armor Smith's house, this should not be
    • -add benefits and adjust Mints and Banks, currently they do nothing
     
  16. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    I put a strike through four of my todo's today.

    I have removed the Noble Icon from the Conquest Adviser. This will at some point be re-added back except it will be a "Honored" or "Knighted" Icon to show which Units can become Knights under Feudalism and how many you have.

    Hopefully I have fixed the discrepancies in the Armorsmith building. Also, I worked to fix discrepancies in the Multi yields consumed code that would occur when one consumed yield was in stock and the other wasn't.

    I added a new ability to buildings called fGoldReserveBonus. This is a float that will give a Gold bonus of that percent of the Treasury per building with this effect. Currently, Mints and Banks have this ability. I also changed the CivicTreasuryBonuses to a float as well. Floats are a pain. I guess there is no format you can use to put floats numbers in XML. I seen where the programers converted their floats to a string for use in XML so that's what I did as well.
    Code:
    <fGoldReserveBonus>1.0</fGoldReserveBonus>
    <AutoSellsYields/>
    <CivicTreasuryBonuses>
        <CivicTreasuryBonus>
           <CivicType>CIVIC_STATE_CONTROL</CivicType>
           <fValue>0.5</fValue>
        </CivicTreasuryBonus>
    </CivicTreasuryBonuses>
    So, my next agenda is to check the tutorial popups for any major changes that need to be made, and play test some for bugs. Then I'll be ready for the next release.
     
  17. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,707
    Location:
    UK
    Nice one Kail, I am looking forward to getting hold of a version of this that doesn't make my head hurt :D
     
  18. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    I just went back to my list of todos for next release and apart from the short list in the XML cleanup thread where we need to figure out good names, I only need to play test.

    I noticed that a tutorial popup mentions alt equipment. Maybe it should just be removed. Alternatively mention that some professions will make a new popup to select different variants like armor.

    Also we are releasing M:C 2.1. However what about the DLL? Technically speaking we would need a version tag in each git submodule. Say we release DLL version 1. We then release M:C 2.1.1 with bugfixes, which are XML only. In that case it would still use DLL version 1.

    We should also decide if we still want asserts in stable release builds. It might be a good idea considering the low number of people testing directly from git. Ideally it should never assert meaning people shouldn't notice anyway.
     
  19. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,707
    Location:
    UK
    My advice is to make 'release packages' completely seperate from git.

    Downloaded in the standard way from a standard host site, included in the package is everything needed to work, plus updated with patches as they come, and including a standard .dll (for those who just want to 'playtest') and a debug(or equivalent) .dll for those who also want to bug test.

    Then also have patch packages, for those who DL the mod before patches were made.
     
  20. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    The standard way is to commit the release to master. After that you use git export to pull the release completely out of git and then you zip what you just pulled and upload that somewhere where people can download it without using git. When people make bug reports for a stable release, we know precisely where in the git history the savegame is designed for.

    What I actually referred by "what do we do about submodules?" is what do we do regarding tagging releases in say the DLL? Ideally the DLL would live in a version system of its own because it would be a mess if M:C DLL 2.4 = col2071 DLL 2.0 = WH DLL 0.1b. The stable releases for each mod should be able to pick the latest stable DLL. In fact from the looks of it, WH should be able to release without write access to the source code meaning it should be possible without even tagging in the source code.

    There is also the issue of changelog, which might make it a whole lot easier to write if the mod can include/copy the DLL changelog.

    We only need a single DLL as we include the source code. If people want to debug, they start by compiling a debug DLL. Besides people wanting to debug should really use git for several reasons.

    :confused:
    You mean like making a zip with just the changed files since last release? If so, we are not doing that with the next release. Changed files are more or less all of them, including all graphics (they are repacked).

    We could make an upgrade zip in the future when just XML and DLL changes as people would likely like not to redownload the graphics.

    Btw I'm reading through the git log to try to sum up all changes since early september last year. That is a lot of log reading and we really did a lot of totally unrelated stuff. I plan to add changelog.txt to git. That way in the future we can have the top release called "next" and fill in while we add the new features. If done correctly, making a release in the log is just to rename "next" to whatever number it ended up to be. That will greatly simplify this task.
     

Share This Page