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

M:C Victory Conditions

Discussion in 'Civ4Col - Medieval: Conquests' started by Kailric, May 28, 2014.

  1. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Ok, I need your help guys. I don't think many of us like the current victory conditions. Defeat the Pope please. So, lets brain storm some new Victory conditions.

    I pointed out one somewhere about having to Discover the New World. Which would work much like the Space Race in Civ4 in that you would need to build a capable fleet stockpiled with goods for the trip. I won't go into details on that one yet but I think it would be a cool victory condition.

    Moving on, we can ask ourselves besides total domination what would be another way to say, "I am conquered the Medieval Period." Thinking back on the different characters that lived in that times we can ask who where the victors? One that comes to mind is Charlemagne. So, if we say that he "won", then what was his "crowning" achievement. Well, he was crowned Holy Roman Emperor and said "I win". Since, being a "Holy Roman" probably meant that you was also Christian and we wouldn't want to force people to accept Christianity in order to win M:C so just saying you have been crowned Emperor is good enough.

    Just how to do this is the question. I have been thinking of "Emperor Points", where with the majority of EPs you win the game. You earn EPs in several ways, Trade Relations, Diplomacy (positively or Browbeating), through Cultural Awe, Domination (forcing others to submit to your Imperial Conquest), Positive Attitude from the Pope, or by Conquering Rome, and by Conquering Constantinople.

    The other Civs each have a "Vote" so to speak and you use one of the ways mentioned to gain their votes.

    Other players will be vying for these votes as well.

    Conquering Constantinople would pretty near guarantee Victory as it would take a miracle as their walls were impregnable to the technology of the day, at least until the invention of the Cannon. It took this mighty weapon to finally topple the great Byzantine Capitol.

    One victory could be to actually conquer Constantinople before the Ottomans do.

    There are those other Victories too, Cultural, Economic, etc, we would need to work out the details of those also, but I do want to remove the Pope conquest first.

    :confused:

    Edit: According to wikipedia there was an actual electorial council that elected the Emperors, interesting...

    http://en.wikipedia.org/wiki/Holy_Roman_Emperor#Succession_of_the_Holy_Roman_Emperors
     
  2. Trade Winds

    Trade Winds Warlord

    Joined:
    Nov 21, 2013
    Messages:
    235
    I like the idea of emperor victory. Emperors where crowned by conquests or by alliances. Another emperor of the game period was Charles the fifth and his son Philip the second of Spain, and reading about them (along with Charle Magne) could bring more ideas about this kind of victory.

    Other idea it has quickly come to my mind is a victory when all citizen’s demand are fulfilled. It could be part of the economic victory.
     
  3. orlanth

    orlanth Storm God. Yarr!

    Joined:
    Nov 17, 2001
    Messages:
    1,776
    That sounds like it could be an interesting condition. (I wouldn't want to lose the ability to have a traditional Revolution/REF Independence victory, its classic Col :king: . But everything should be ok as long as these conditions are Gameoptions, and players can use or not use them as they prefer). Rather than having to create yet another meter of points and code everything from scratch; the best way to achieve this would likely be to port over the already developed United Nations feature from existing Civ4BtS which is actually quite well implemented and adapted for this type of thing, and includes other cool voting and diplomacy features. Once the HRE is founded, civs that become members of it (their leaders would be Electors like in history) could get to participate in periodic votes on various imperial rulings like in the UN mechanism, with the number of votes weighted by population, with maybe a <iVotes> bonus in buildinginfos.xml to allow a boost from certain major buildings like Palaces/Cathedrals etc and unique buildings that could be put in Rome or Constantinople. There could also be elections for Emperor using the UN election mechanism; being this doesnt automatically mean total victory, but can carry diplomatic and other advantages. Maybe if you win successive elections you can achieve dynastic control and win a Victory.:king:
     
  4. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    I am still pondering the details but one thing is for sure, form here on out all things will be option-able and or moddable. So, you don't have to worry about being forced to use options.

    I am not so sure about the "vote" as by the time they started to elect their emperors the kingdoms were more unified, or established. Charlemagne on the other hand had to carve out his empire from scratch almost and that is more like you are doing in M:C.

    We could do something with attitudes, like add new ones. One called Imperial Favorite, and another on the other end called Worst Enemy. If you reach Imperial Favorite with a Civ then you gain their Fealty, they also give you gifts more often and perhaps other perks. Civs will only have one Imperial Favorite. With enough Fealty this way you can win an Imperial victory.

    Worst Enemy would be as it says, the one Civ you hate the most. Almost everything you do is done with the thought of the demise of your worst enemy, your arch rival, your nemesis.

    Anyway, thanks for the input so far.
     
  5. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    Actually, this is some kind of misinterpretation.

    It was the "rex teutonicum" (German king) who was elected.
    Either by pure pressure or by good terms with the Pope, he then would be coronated as Roman Emperor.
    So, starting with Karl dem Großen (Charlemagne, as the uncivilized world names him ;) ) there were again Roman Emperors (actually, West-Roman Emperors). The fact that they all happened to be German Kings later led to the name "Holy Roman Empire [of German Nation]" (with the part in parentheses coming into use somewhen after 1100 AD, if memory serves me right).
    The red part shows the role of the church and the Pope, the black part reflects the continuation of the Roman Empire and the blue part indicates that it were the German Kings who took the place of the former Emperors (which made some sense as large parts of todays Italy by then were controlled by these German Kings).
     
  6. mastrude

    mastrude Paraclete of Kaborka

    Joined:
    Oct 9, 2006
    Messages:
    329
    Gender:
    Male
    Location:
    Santa Cruz, ca
    Aaaaaaaaaaaaargh! I just wanted the victory conditions FIXED, not overthrown.
     
  7. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    There has been talk about Multi Invasions for the WHM, and I have been thinking we could introduce that into M:C.

    We could have a true Viking Age where their square sails begin to appear on the horizon, striking the most prosperous areas. This of course happened in real life, and was one major cause for Kingdoms to collapse or be divided.

    The Invasion part is a pretty cool and fun aspect of Colonization so I am not wanting to remove it, but make it fit better.

    Every Civ at this time had to deal with some invasion or several. For the Final Invasion we can research each Civ and see who their worst nemesis was and have them as the final battle for Imperial dominance. For a Random game we don't need to be all that historically correct, but we can set things up so that scenarios can be made more inline with actual history.
     
  8. orlanth

    orlanth Storm God. Yarr!

    Joined:
    Nov 17, 2001
    Messages:
    1,776
    hmm sounds intriguing:king:

    Some occasional invasions could be just the thing for enhancing game balance and preventing a runaway cycle of it becoming too easy to pull ahead of everyone else (in Civ4BtS I always stop playing when it becomes clear it's totally gonna be easy to win. In Civ4Col one thing preventing that is the question of whether you can triumph in the REF battle.) Invasions could be more likely to strike at civs that are prospering greatly and furthest ahead of all the others; if that civ doesn't play their cards right it gives the others a chance to catch up. That way, if you're pulling ahead or falling behind at a given moment the game result is still not a foregone conclusion; anything may happen so stay on your toes! :p

    When I was helping with the Warhammer mod of Civ4 (sadly no longer working) we made a series of minor local invasions as Events using the Event XML system. This is a cool system to use for modding similar kinds of attacks since there are a lot of options in TriggerInfos you can use to modify the chance according to cities, population, units, buildings etc. I don't think there is one to check a players Game Score or Military Power but there should be. I think you can also make an event trigger be contingent on Game Difficulty that the player selects, using HandicapInfos xml; this way it can be selected by players that want more of a challenge while beginners or people that don't want this can choose to avoid it. You can also use a delay where there is a warning Event message that an invasion force is on the horizon, and several turns later it will arrive giving you some chance to prepare. When the invasion triggers you can use EventInfos.xml to call a python callback spawning the appropriate barbarian-owned units locally.

    Also don't forget the invasions of Europe by Attila the Hun and later the Mongol Golden Horde. :viking::king:
     
  9. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Yes, we best not forget the Mongols.

    I am deciphering just how to use this new setup with the Pope on the map and all and new Victory Conditions.

    I am thinking that you have three choices, which involve either appeasing Rome or Sacking it.

    #1. If you declare war on Rome, you have to Capture it. A Relief force will be sent to attempt to take it back. If you survive this you win the game.

    Coding: I could create a Apostolic Palace building that is free to the Pope. This building has the bImperialVictory attribute and when created the game would assign this City as the ImperialVictoryCity. In order to Declare war on the Pope you must have 50% Fealty. In order to win you have to Control this City and eliminate the REF (Relief Expeditionary Force). If you eliminate this REF but do not control the Apostolic Palace you must conquer the City to win(within the allotted time). In the mean time the Pope could have built up defenses and called in support of other Civs.

    #2. To win with Rome's support you must have his favor for Imperial leadership. In order to do this you must have 75% of the world population sworn Fealty to your Kingship. You can get people from other nations to Swear Fealty either through Diplomacy or Conquest. Once a Civ's Leader swears fealty you gain the support of all their people.

    Coding: If you beat or diplomatically bribe a Civ into submission they will swear Fealty to you, a new kind of Diplomatic Agreement, that is locked in place unless they are liberated by another Civ. When a Civ Submits you create an "aministrative buildinig type" in their Capitol or Primary city. In order to maintain control you must station troops in this City. If no troops are present Rebellions can take place that destroys the administrative building thus liberating the Civ. Or if another Civ moves in and Liberates the City (that is destroys your center of administration), the Liberated Civ would swear fealty to their Liberator (if possible). Liberating a City like this would cause much grievance to the holding Civ, so Leaders will not Liberate without being able to back it up, but will attempt to do this to prevent the player from winning especially in undefended Cities.

    The Game checks each turn for the 75% Fealty of all population and crowns a player the winner if the goal is reached.


    #3. If you haven't won by #2 by a certain time an Invasion force will arrive to Conquer Rome and her Allies, you must defeat this Invasion force and liberate Rome. If you manage to do so you will be crowned Emperor.

    Coding:Basically by this point all competing Civs will be attempting to Liberate Rome and hinder other players from doing so. If the Invading Force is extremely formidable then perhaps Civs can join forces, form and Alliance, and share in the Victory. The Civ or Allied Civs that occupy Rome when the Invasion Force is defeated wins the game.

    The Invaders could be a Random Civ such as the Lumbards or Mongols.
     
  10. Trade Winds

    Trade Winds Warlord

    Joined:
    Nov 21, 2013
    Messages:
    235
    Very nice 3 in 1 victory condition. Very nice alternative conditions. It gives some more variety to game playing.

    What I don't know is if this victory condition could be separated into an early victory and a later victory.

    An early victory is just as you have designed it but dealing only with the remains of the Roman Empire at the begining of the Low Middle Ages. Rome will be present in the map to trade technology for resources maybe or to be plundered. And we could have a weaker Pope.

    Then, it could easily be extended to have similar outcomes later with the Pope States for the High Middle Ages. This way it would give the Pope States the role it had in the Middle Ages, and a stronger, ambitious and more powerful Pope could be present. (Or this second victory could be taken into account if religion is to be added later)
     
  11. orlanth

    orlanth Storm God. Yarr!

    Joined:
    Nov 17, 2001
    Messages:
    1,776
    In BuildingClassInfos, there is <VictoryThresholds/> which I think was used in Civ4 to let a Victory condition in Civ4VictoryInfos.xml be able to count number of that Buildingclass owned toward a victory type (in Civ4's case I think this was the Spaceship victory by counting number of "modules"). How about re-enabling this so you could flexibly mod victory conditions based on controlling a building like the Apostolic Palace, and could also use this in all kinds of scenarios (ie world war scenarios with Victory Points based on controlling a certain number of strategic cities, or industrial victory type where you try to be the first to build and/or capture a certain number of super-advanced buildings, or a fantasy scenario where you control a certain type and number of magic nodes, etc etc.):king:
     
  12. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Something like this could be done. First is to get the initial setup working.

    Apostolic Palace is in the Mod, Free to Rome. It has the bLiberationBuilding tag set, which sets Rome as the "Liberation City". If you Control the Liberation City and destroy the REF you win the game. I've limited tested this and it is working for the most part.

    This will make for interesting play as Rome can be spawned at any location and you will have to figure out a good battle plan to take it down.

    I want to get this part of the New Victory Conditions working correctly before I move on to the next.

    I am pretty sure the VictoryThresholds along with iPopulationPercentLead, iLandPercent, iMinLandPercent, CityCulture, iNumCultureCities, and iTotalCultureRatio are all setup already in Vanilla and should work.

    I want to add a Trading Economic Victory too, where perhaps you have to establish a Trading League in Several Foreign Cities in order to win, and Trading Leagues are not cheap.
     
  13. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    I studied the AI some what for the new victory conditions and there are some good building blocks in place already. Like each Civ selects a "Target City" for each area they can potentially invade. So, I set it up so that when at war with the Pope the AI will Target Rome.

    I let the AI play through a session and my AI controlled English Civ was decimated by the REF, so I lost. But, the new Victory Condition setup is working some what. This condition is harder, and could be extremely harder depending on the Map. If you start a long ways off from Rome or Rome is on a different continent then you will have to make strategic plans for your Invasion in order to control Rome to win. The AI would probably even have a harder time at this given the lack of AI already in the game.

    One issue though, when one nation Declares War on Rome, and then another does they will both have their REF's spawned and at war with the same Pope. So, the AI units may have issues finding targets effectively. Also, I would imagine that it effectively doubles the REF any player has to defeat. So, perhaps we can add a new attribute to the spawned Units that tracks what player they are suppose to be attacking. This could be tricky for the military strategy still though, but then again, AI units are pretty independent.

    We could spawn a REF player specifically for controlling the REF, but we have a limit to 32 players so that could cause issues on huge maps with lots of Civs. Can this limit be extended? And or could we set a limit to the number of players that can join a game to allow the REF players room to spawn...
     
  14. Commander Bello

    Commander Bello Say No 2 Net Validations

    Joined:
    Sep 3, 2003
    Messages:
    3,858
    Location:
    near Koblenz, Germany
    In RaR, NUM_PLAYERS (out of my head) equals 48 currently, so there seems to be quite some room for additional players.

    AFAIK, for BtS people have created DLLs with much more than 50 players, but I seem to remember RayStuttgart mentioning that there might be issues with the Colonization exe if NUM_PLAYERS exceeds the number of 50 (although this astonishes me a bit since 50 isn't any near a power of 2. Having conflicts exceeding 64 (as an example) I would understand...).
     
  15. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,283
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Yes, RaR currently allows 48 players max per game.

    Haven't checked that myself (yet).
    Some experienced Civ4 modders told me that 50 was the limit. Others said the limit was 64.

    But all agreed, that there is a limit.
    And nobody ever said, that more than 64 was possible.

    wrote a bit about it here
     
  16. Fullerene

    Fullerene Warlord

    Joined:
    Aug 26, 2009
    Messages:
    228
    Gender:
    Male
    Wasn't there also some weird limit on how many colonial factions there can be in the game at time?
    I don't remember was it fixed or not, and had it something to do with XML. I just remember that I have read about this in these forums somewhere.
     
  17. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    I wrote a bitmap code for storing a bool for each player. The variable for this is called PlayerBitmap. It is actually a 32 bit unsigned int. However it is a "magic sized variable" because if the number of players exceeds 32, then the compiler will use a 64 bit int instead. I tested it and it works, complete with saving and everything (vanilla can't save 64 bit ints, we can).

    I'm not quite sure what the limit it either, but I remember something about Caveman2Cosmos figured out a limitation, fixed it and raised the limit to be closer to 64... or to 64. EIther way 64 or close to 64 is the hard limit.
     
  18. Kailric

    Kailric Jack of All Trades

    Joined:
    Mar 25, 2008
    Messages:
    3,095
    Location:
    Marooned, Y'isrumgone
    Thanks for info guys. Well is there something else that needs done besides changing the #define to 48?

    #define MAX_PLAYERS (32)
     
  19. Nightinggale

    Nightinggale Deity

    Joined:
    Feb 2, 2009
    Messages:
    4,354
    I don't think so, which is the whole point in making PlayerBitmap as a variable size in the first place. You should note that increased size will make the game slower and use more memory. Also that it starts to use 64 bit instead of 32 bit to check if plots are revealed and stuff like that, which is slower in a 32 bit application. There are no major drawbacks through.
     
  20. raystuttgart

    raystuttgart Civ4Col Modder

    Joined:
    Jan 24, 2011
    Messages:
    5,283
    Gender:
    Male
    Location:
    Stuttgart, Germany
    Inside of DLL, there isn't.

    But every time you increase number of players in DLL, you will need to adjust all existing maps.
    If you don't they will always crash.

    Also, you will most likely want to adjust CIV4WorldInfo.xml or your DLL change might be pretty uselsess.
     

Share This Page