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

New Victory Conditions

Discussion in 'Civ4Col - Medieval: Conquests' started by Kailric, Dec 18, 2013.

  1. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Wouldn't it make sense to set the victory parts to be yields? That way the AI already knows how to transport them.

    It would be something like needing a shipyard, possibly a special version of a shipyard. Either way you somehow has to declare a city to be "this is the construction site for the exploring fleet". The AI would set the victory yields to import in that city and export in all other cities and presumably humans would do the same. Once the yield is unloaded, the construction "eats it" and it is added to a counter in CvPlayer. That way we will not have warehouse capacity problems. The AI values the yields based on this counter meaning it will not build masts exclusively and it will stop once the target number has been reached.

    Victory yields can't be traded between players or in trade screens.

    Combining this with my idea of making professions tell how many yields they have as input and output, we can make a mast builder, which each turn takes 6 lumber and produce a single mast yield.

    Victory yields can only be used if there is a shipyard of the correct type (meaning the ship building race is on). My plan to automatically disable professions, which produce and consume unallowed yields will then disable all victory yield professions until the construction has started.

    Maybe buildings should be able to give the owner a certain CivEffect. This can be used to enable the victory yields, but at the same time it can be used with a capital building to give other bonuses. Maybe we should cache how many buildings we have of each type and we can enable a CivEffect if we have more than a certain threshold. This threshold is set in buildingInfo and can be modified by map size. Since it would make no sense to require less than 1, it should be capped at 1, meaning setting it to 0 would always give the CivEffect when there is at least one building. Alternatively it could be a type of CivEffect, which triggers when certain criteria is met, such as minimum number of buldings.

    I kind of like this because it could be interesting from a gameplay point of view and it seems reasonably doable to code and to get the AI to use it.
     
  2. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Well my concern is how many new Yields would this take? At the moment it is a total pain to add new yields, you have to add all kinds of art and DLL code. Perhaps if adding new yields was made easy cheesy then perhaps I'd like this idea more.

    Adding some AI to move "Victory Units" around would be easy. The Player doesn't actually move units, Units have AI and they use that to move themselves. So, creating an AI for Victory Units to move to the Victory Location would be an easy task.
     
  3. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    It's on the todo list to be able to add yields by editing yield XML only.
     
  4. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Ok, I see I have work to do for siding with the Pope. The Barbarian Player gets the Units in this case and is suppose to Attack the Pope and the Player must defend him. Except the Barbarian Player doesn't know how to get the Units on the Boats in Europe:crazyeye: If they Units arrive he can manage it then, just need to get them to load up :)

    I don't like this as a Final Victory condition anyway as it want work so well if everyone spawns a REF that attacks the Pope.

    So, once we get the New World Victory condition going, this Defend Pope deal could just be a Side Quest. Players gain huge favor in Defending the Pope and perhaps gain a Bounty for each Enemy Unit you kill.
     
  5. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    I have a question, read on. I am wanting to preserve the "Independence" theme in M:C as there are so many scenarios where this would fit, but I also want a version where there are other goals and you can't really mix the two. So, besides Independence some of the other suggestions that has been posted are...

    • The New World - sail to the new world and build a colony
    • Renaissance - this one should be something about reaching huge culture/science level. Maybe you should also educate your noblemen somehow. I'm not sure about the exact details yet. ~Fullerene
    • Conquest - as it's the name of the mod, this should be option too: remove all other factions from the map. ~Fullerene
    • Crusade- Convert or subdue everyone to your Religion (when we have a full list of religions in the game)
    • Trading Empire- Complete several trading mile stones

    Ok, the question is what to do with the Conquest Screen, the screen the tracks your Fealty and you can declare yourself Emperor at 50% Fealty (Revolution Advisor in vanilla)?

    Should we even use it for the newly proposed victory types, or can we find a way to incorporate it?

    Edit: Just had one thought, if you so feel like it, or if it looks like your are going to loose, by any of the above mentioned victories, you can Declare yourself Emperor, anyone who does not favor this will declare war on you and fight to the death, or submission (depending on difficulty). There could be diplomacy options where you try to persuade others to support you as Emperor. Some may actually make you think they will only to betray you in the end :backstab:
     
  6. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Heh, now I see why my current game broke when I sided with the Pope. I never finished the Victory for it and I couldn't remember ever posting that.

    I think I also posted somewhere about other Civs who are threatened by your Imperial Ambitions would contribute to a "REF" that would be sent to wipe you out if you ever crossed that line. Perhaps, Human Players could contribute to this as well if they feel another rival is going to Declare himself Emperor. The "REF" could then be split between all your Rivals:viking::jesus::cowboy::king::egypt::evil: :popcorn:
     
  7. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    I think we should keep using the victory screen for all victory types. The question is if we want that particular screen. I'm not convinced of that, but right now I have no idea how I want it to be. We can write a brand new python file from scratch and make the screen look precisely like we want.

    The real question is if we can figure out what we want and if it is worth the time to code it like we want. I don't really like the current screen, but I don't hate it enough to bother writing a new one, at least not in the near future.
     
  8. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Well, I'm not talking about the "victory screen", I am talking about the Revolution Advisor screen. For all the alternate proposed victories there is no use for this screen. However, if you created a use for it, like my above Emperor idea then it would be plenty useful. There is already a Victory Screen, which we can mod to display data for all the victories we have going.
     
  9. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,671
    Location:
    UK
    I think the best approach would probably be some 'sub-screens' with the ref screen. a bit like how the domestic screen has all those buttons for other screens.

    This way you could have a fancy new world screen and a fancy whatever else screen, depending what the relevant information is for each screen.
     
  10. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    That's a good option.

    Ok, the more I think about it, the more I really like the idea to Proclaim Yourself Emperor. We already have the "VictoryTypes" for each LeaderHead, so at default you would have your Independence Victory, but we could also set a Imperial Victory.

    We would have new Diplomatic Options for "Imperial Support" where you would attempt to gain support for you as Emperor. Like Civ4's United Nations and the vote for World Leader, in fact we could just port that system in to M:C. At 50% Fealty you can proclaim yourself Emperor. The other Civs will either support you or unite in one final War against you. Those that Unite with you, may not exactly become an Alliance, depends on play testing, but can offer you Military Aid, like the Pope/King does now. The REF will spawn and attempt to wipe you out as normal. If you can defeat the REF in the time, then you Win. You will also have to stand off any assaults from all the Civs that do not support you, including the Pope, if he doesn't support you. So, in the immortal words of Illidan Stormrage, "You are not Prepared!", you better be prepared for this, with ample defenses setup.

    Now, support can be based on several things. The Pope will obviously only support you if you have been a good Practitioner of the Faith. The others Civs can be based on their Personality traits and how well your actions line up with that. Also, the ones that Support the Pope will expect you to be on his good side.

    If all Civs Support you as Pope then you Win hands down. Obviously, the other "Players" will see this as a total lose for them, so unless they are at the verge of annihilation they will not side with you. Of, course, the AI can proclaim themselves as Emperor and you will be given the Option to Support them or not. If you do support, you lose the game Obviously.

    About the "REF", could there be more than one? Once someone claims Emperor there is Total War, so I am thinking that at this point, there can be only four outcomes for this Victory Type, either you Proclaim Emperor and either Defeat your Enemies, or you are defeated. If another Player Proclaims Emperor you must then side with the Alliance to overthrow them and Win an Allied Victory, or you yourself are defeated and must summit. Each player can be given control of a certain percent of the "REF", these Units can only be used to attack the Emperor. At anytime, the player can still see what kind of force he would be up against in the Conquest Advisor. Also, we would need to adjust the "The King/Pope adds so and so units to the REF" message to some else more fitting.

    One alternative could be that we make it so that at any point, you can still Proclaim Yourself Emperor, if you wanted a solo victory. And as before, others will Either side with you or not. You would lose all control of any REF you had, these would be redeployed else where, or perhaps to keep the Player for miss using his REF units to gain an Imperial advantage, all of his units would be re-spawned. This option may really complicate things though. Unless perhaps, if we prevent this action unless the other "Emperor" has been dealt with and you still have time to win.
     
  11. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,671
    Location:
    UK
    I think for an Emperor Victory, the idea of having a REF that you can partly control, (but with all those restrictions) will just be really hard work and not make a lot of sense.

    This is almost like some kind of UN Peace Keeping Force that everyone adds to, but that just really doesn't make any sense in the time frame.

    The idea of the Emperor 'REF' would presumably be the same crusade force that the Pope calls upon, because no one else has the 'Authority' to build some kind of trans-national force.

    So it would stand that this force would remain an AI force and would either be for or against you, by Papal decree.

    Either heathens are trying to stand against the 'chosen Emperor of God' and the Pope calls for them to be 'smote'.

    Or you are the Heathen up start who dares proclaim himself the chosen one without Papal consent and the Pope would call all good christian men to smote you.

    So it isn't really much different to the existing Papal Victory. It is just including two sides of the same coin, doing with or without the Papal Authority.

    I think that instead of an anti Imperial REF, it should just be every nation and their armies that are against you, which may include a Papal Crusade Force.

    One alternative could be that if/when we add in Byzantium as a second 'power player' like Rome is now, you could declare that you seek to 'reunite' the old Roman Empire with you at it's head, then you would be faced with both a Byzantium and Papal response. You would either need to control a massive army and empire to be able to achieve this, or have carefully cultivated your circle of friends.

    So you could set your sights on one of 4 Victories.

    Papal Sucession:
    You kill the Pope and suddenly find the 'Real' Pope who amazingly seems to agree with everything you say... that's fortunate for you!

    Become Bassileus(spelling?):
    You take control of the Byzantium empire and become it's new master

    Become Caesar:
    The ultimate Pimp Status, you kicked both the Papal Authority and The Byzantine Authority, and reunited the Ancient Western and Eastern Roman Empire.

    Become Holy Roman Emperor:
    Declare your intention to become Emperor of a New Nation Empire and fight off all your enemies, which depending on your diplomatic skills may or may not include the forces of Byzantium and The Pope.

    You essentially therefore would have two 'Minor' Conquest Victories, where you have to go out and actively destroy another nation.

    One 'Major' Conquest Victory where you have to go out and actively destroy two other nations.

    Then one Diplomatic/Defensive Victory, where you just have to force every other nation to accept you, either before you declare or after. Which would involve thrashing their armies until they feel they cannot gain victory, and forcing each nation to effectively capitulate(civ4 term where they agree to vassalage, but in this case would be accepting your new status) leaving no one to contest your new position.

    On a side note about multiple REF's it might be cool to try and take the coding approach that you have done with trade screens, and make multiple configurable REFs that expand when a certain 'persons' interests are under threat.

    So expansion factors could be thinks like:
    When someone disagrees with them diplomatically, "no I don't accept your new tithe" "the Pope has increased the size of his crusade force due to anti Papal sentiment."

    When their is a high amount of anti-chrstian faith production, or when there is a particularly low amount of christian faith production.

    For others like the Viking King it could be the standard fealty production system.

    For the Byzantiums it could be connected to the amount of money others make.

    Or whatever other factors we can dream up.

    It would essentially work in a similar way to the tradescreens though, where certain things can lock/unlock/modify a REF screen depending on your choice of 'weights' for a particular screen. Just like what is being proposed for the trade screen setup.
     
  12. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    All well suggested. I will take all that you say into consideration as I finish this Victory type. This needs to be done, as for one, the game is broken until it is complete.
     
  13. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    I was looking into how score is calculated and decided we needed adjustments for M:C. For one it doesn't take into account Population at all, but it does count Land and FFs. You get tons of points for FFs in vanilla. Also, you have a HUGE penalty for your Tax Rate. So, I added in Population (the Global was set to 0) and reduced FFs by half and removed the Tax Rate penalty for none Independence Victory types. I didn't see the need for this since some Civs may not even have a Tithe rate from the Pope, plus there isn't that urgency factor with the Tax Rate as in vanilla.

    What other factors could influence a Player's score, Number of Techs perhaps?

    I am working on how to decide if a Player will back you as Emperor or not. I figure that if a Player's score for "Victory by Score" is pretty close to yours then they would not dare back you. If a Player has no hope in Winning he should perhaps back another Player for Emperor.

    I am thinking that you can not ask for Imperial Support until you are at 50% Fealty, then the option will show, and then how should this Diplomacy work?

    Once at 50% Fealty you could attempt the noble action of bribery, to entice others to support you. We would have code that keeps up with these bribery attempts, each bribery say lasting for 10 turns. The cost for someone supports would be significant, lots of Gold and or valuable things like Techs and Cities. This cost would be modified by their Attitude and also their historical relations with you, and perhaps your Fealty score (which would be advantages to the AI as they generally have a high Fealty score). The game keeps up with certain events like Declaring War, or not fulfilling a request. Some Players would deny you outright, the ones that are attempting this themselves for sure.

    When you Declare yourself Emperor each Player would then do one last calculation to see if they back you or not. Ones that you have recently bribed would be the most likely. You would then get a Diplomacy Screen from each player telling you whether they back you or not. The ones that don't declare war. Ones that do will remain neutral, but you can still perhaps persuade them to join your cause. It would be wise to do this as your opponents will not cease to entice them to their cause. If you have any Defensive Pacts with Players they will Declare war on all your Enemies.

    Any more ideas on this?
     
  14. Lib.Spi't

    Lib.Spi't Overlord of the Wasteland

    Joined:
    Feb 12, 2009
    Messages:
    3,671
    Location:
    UK
    Have you thought about looking at how vassalage works in civ?

    It might give you some ideas of what triggers a belief in an ai that it is too weak to survive on it's own.

    You could also look at what influences socre, as M:C is moving back towards the same state as civ. You are building empires not colonies.
     
  15. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Good idea, I was also wanting to add the Gold Sum per Turn but the AI needs an overhaul on Money Management.
     
  16. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Thanks for the link to the Civ4 DLL, Lib, exactly what I needed. I found the Function that tells the AI what value they would assign to becoming some ones Vassal. I see it has at least one idea that I was considering and that is War Success, how often you have won battles. I am thinking of having something similar, like Reputation. We could have War Reputation, Trade Reputation, Religious Rep, etc. And the AI would use that as a bases, and the AI would have different tastes as to what Reputation they valued the most. War Rep would track your Victories and Defeats, it would also have to track the number of battles. It would also track things like You declaring Unprovoked war, or breaking Peace Treaties. So, you would have a Light and Dark side :)

    I just plopped the whole Civ4 Function into M:C. Now I just need to go through and rename things to fit with M:C or add similar functions to get basically the same results.

    Edit: I added that whole huge function with minimum changes considering it came from Civ4 and with only two lines of code that I had to comment out because there was no M:C equivalent. One was a personalitytype value, which most of the Civ4 Leaders had a value of 0, and the other was asking if the Vassal had a chance to revolt. In Civ4 Vassals could revolt if you asked form the extraneous demands, which it would be nice to have that in M:C as well.
     
  17. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    That has been quite important in real history. The Mongol empire developed the best cavalry in the world, expanded quite rapidly and didn't lose a single battle in more than a hundred years. They were invincible and had an empire stretching from Turkey to China and down to Vietnam or something like that. Nobody dared to go against them.

    They decided to conquer Japan as well, build a navy in China and sailed off with the entire army, 160k men in 4400 ships. When they arrived in Japan and the first landing party arrived at the shore, samurais came out of the forest, killed everybody and vanished into the forest again. This was repeated several times and the samurais really didn't want to be on the beach because the Monguls had learned (conquered) the secret of gunpodwer from China, which made being on the beach very dangerous.
    This went on for an insane amount of time (two months or something) and the Monguls became really impatient. Then came divine intervention, which the Japanese refer to as Kamikaze (godly wind). In modern terms we call it a typhoon. More than 99% of the ships were lost and the few remaining ships went home.

    Having lost the army, China rebelled and won. Rumours started to spread quickly that the Monguls could lose a battle and just the rumour made everybody rebel and the entire empire was lost in 5 years. It turns out that they didn't really have enough guards to protect their conquered land. They relied entirely on reputation, which was great until it failed.

    There is an interesting twist to the story. A Japanese monk wrote a diary while the siege took place and the locals were really scared of this massive army because they knew they only had 50 samurais to protect them. It turned out that 50 was enough to defend against 160000 :crazyeye:

    Another interesting discovery is when the wrecks were found. The device to fasten the masts were turned upside down, which mean they could sail normally, but in hard wind the ships would turn upside down. We know very little about the Chinese shipbuilders who were forced to build the navy, but we do know that they were calm enough to rig the ships to prevent them from returning while being watched by non-shipbuilding Mongol soldiers.

    In short: yeah combat reputation should play a major factor.
     
  18. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Wouldn't that be a problem? Vassals join your team and if they leave, they should leave your team, but.... what about founding fathers? They are stored in teams and how should you divide them? Or should a rebellious civ lose all the FFs it had?

    The more I think about it, the more I think vassals should be a status kind of like alliance, not joining the team. Joining a team causes a bunch of problems. In fact I think it would be good if we could keep one player - one team.
     
  19. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,094
    Location:
    Marooned, Y'isrumgone
    Yeah, I am not found of the same Team deal either. That is just the way the code in vanilla was set up for Human Players to be on the same team when in an alliance. Being on the same team just helps with shared visibility at the moment (perhaps some other stuff that I can't think of as well) but we could manage that in another way. FFs do not need to be shared for sure.

    Well, I finished the merge of code for the Imperial Support code borrowed from Civ4's Vassal code. So far in all my work I have managed to preserve saved games (as always hats :hatsoff: off to Night for encouraging me to do this). Anyway, so in my game I was straight off the bat able to get one Civ to support me. Another Civ would have, but he claimed I was "to far away". So, I used world builder to add some cities near him to see if it would change his mind and it did. He was mad at me for supposedly "stealing his land" but liked me enough to support me anyway. I like this as it will set up some neat strategic situations where you will need to have a presence near all potential supporters, but perhaps not too close:D. Many of the rest where at war so I think it should be changed that being at war doesn't count for this. It should be for becoming an actual vassal though, unless perhaps you are at war with the same Player and the AI feels you will help them.

    Right now supporting you doesn't do anything so I need to add that in. Also, I think it would be neat if the AI would barter for Support. That is putting a gold value on Imperial Support, right now they either Support you or Not with no value to it(this was Civ4s way as well). Perhaps also it would be good to add the Gold Per Turn here so you could sweeten the deal even more. To Barter this you would place the Imperial Support on the table and if he refuses simply ask "What would make this deal happen" and the AI will tell you what they would like, if you could do it. Perhaps they would ask you to declare war and capture a certain city, or many other things like such. Many interesting and fun possibilities here.
     
  20. Nightinggale

    Nightinggale Chieftain Supporter

    Joined:
    Feb 2, 2009
    Messages:
    3,986
    Maybe we should split team into multiple teamtypes. That way we can make two players have some team features, but not all if we want that. Having a teamtype for vision alone would be a good thing.

    It's the reversed world. Knowing that nobody plays with CivEffect branch, there are no active savegames and I break support time after time. Whenever some cache is saved, I just delete it without caring for savegame support. The code would be really messy if I did that.

    I have decided to make some upgrades to the savegames when CivEffect is complete. Since it breaks savegame support anyway, I might as well add some stuff, which is on hold because it can't be added without breaking old savegames. The goal is that once it's added, it will be even harder to break old savegames. It's completely unrelated to CivEffects though, it's just "now that savegames broke anyway".

    My goal is to have a complete savegame format for the next release and then if possible never break savegames again. That way if people download a stable release, they can upgrade to the next stable release and still use their savegames.
     

Share This Page