Medieval Millennium release thread

Couldn't you find a kind of solution about all these divergent opinions by
-adding a 'db.plagueFactor' to add in related calculation in your mmPlagues file ?

proposing at the beginning of playthroughts, or loading games if value is nil, a dialog proposing to scale the feature ?
Well, yes, this would certainly be possible. But doesn't that open the door to allowing an endless sequence of configurable "difficulty" options, each for its own facet of the game? In this case we're discussing plague events, but someone else may believe that the fact (or the rate at which) terrain depletes is a major problem, so there should be a separate control for that as well. Et cetera...

I prefer to think of the plague as simply a fact of life in Medieval Europe. It's important to emphasize that nearly all events in Medieval Millennium (including plague) scale with the base difficulty level you select: Baron, Earl, Marquess, etc. However, the way I consistently chose to implement this was to leave the human player's probabilities or thresholds fixed, and alter them for AI nations. In this case, that means you experience the same chance of plague at every difficulty level, but at easy levels, the AI gets hit even worse than you do, giving you an advantage (in relative terms) vs. your competition. True, it wouldn't have to work like this -- I could keep the AI plague levels fixed while altering them for the human player. But this would be inconsistent with the standard used for all other events, plus more challenging to playtest, and I guess I'm just not very inclined to pursue it.

(I will grant that Barbarian activity level is a counter-example where there is already a separate setting for this aspect of difficulty. Players have come to expect this due to the presence of this option in the base game. But to be completely honest, if I was going to make a change, I'd be more inclined to take that away, and derive appropriate Barbarian levels solely from a single main difficulty level setting, rather than start adding multiple separate "difficulty" controls that could be used in any combination.)

Sorry, that I couldn´t give you any other feedback about the mod. I only want to help you in improving this mod - as I received a lot of help by reports about tons of errors in my civ 3 mods and scenarios.
I appreciate that -- and I certainly don't mean to discourage you (or anyone else) from doing that. In fact, although I'm pretty content with the basic plague probabilities and behavior, your latest post did provide some useful clarifications about how a different feature behaved in a way other than what you expected:

But of course - due to the documentation of this mod - I thought I was in a position to refuse the opponent's demands.
peasant-militia-jpg.580038

Following the documentation of this mod, a peasant militia unit should be automatically created if a city without sufficient defenders is being threatened by enemies. Less defenders than no defender in my capital is not possible and 20 gold is less than 50 gold. But even that protection for my capital was not working in this mod: A land unit with an attack rating of 0 captured an 'undefended' city, that should be defended by an event, creating a unit with a defense value of 1!
I see... that makes a lot of sense and is a big help in understanding why you chose the strategic option that you did. Thanks for providing this additional info.

The Peasant Militia event is working, but the documentation doesn't provide as much detail as it should regarding the timing. The way the event is written, Peasant Militia are hired and/or dismissed for all your cities at the beginning of your turn, immediately after your cities have been processed and units you chose to build have been created. This was done so that Peasant Militia aren't hired to fill a need that you have already arranged to meet by your selection of that city's build order. Furthermore, the code doesn't hire Peasant Militia in response to every opponent unit, but rather in response to every enemy unit -- that is, only those opponents with whom you are at war. So from the point at which Denmark declared war on you, the code didn't have an opportunity to run before the Danish Scout captured your city.

I see a couple things here that I could improve. First of all, right now an enemy unit with 0 attack is never counted as a "threat" and Peasant Militia are never hired in response to such a unit. But that code should be updated to reflect the fact that if the city has 0 defenders, such a unit is in fact a threat, and therefore Peasant Militia are needed. Secondly, the documentation should be updated to specify the timing of the event. I will have to think further about whether I want to actually change the timing so that the event would have fired in your particular case. Mustering Peasant Militia feels like a process (not instantaneous) so I actually think it's reasonable for it to run only once per turn, and not by continuously monitoring all diplomatic statuses during opponent's turns. But I'll think about this further as I said.

I have to add, that even without this not working event, I wouldn´t have paid 50 gold to that extortion and especially not to a queen named Emma. :D Too much is too much !
Well, of course everyone has their limits! :lol: Taking a chance by saying "No" to an opponent's demand might work out in your favor in some situations, but backfire in others. Even Emma is in a bad mood some days!

If such a situation normally doesn´t occur, the question arises, why such an event must be in the game, only punishing the player in random cases for playing this mod. I cannot say anything about needing the plague for balancing reasons in the later stages of the game, as I have never reached these stages, but in the early phases of the game, if one has the opinion that the plague must be in the game due to historical reasons, the reduction of a two citizen-city by one population point should be more than enough and not such an overkill, as it has happened in my game.
I don't think it's fair to say that just because an event is extremely unlikely (very low probability) then it's not worth including in the scenario. The key issue in many Medieval Millennium events is the way probability compounds over time. If there is a 1% chance that something happens on a given turn, what is the chance that you could avoid it entirely over the course of 50 turns? It comes out to about 60% -- meaning that over that span, there's a good chance it will never happen, but also a pretty good chance it happens at least once. (Of course you could also encounter it more than once, or even more than twice, though higher numbers of occurrences become less and less likely.) Over 100 turns, though, your chance of avoiding it entirely is reduced to about 37% -- now this "very unlikely" event is actually more "likely" to happen than to be avoided. So what is to be said if it happens on the very first of those 100 turns, despite only the 1% chance? I think that's just what I call "bad luck" -- it doesn't mean the probabilities are inappropriate though.

Is it really the intention of this mod, that is created with such a lot of love, dedication and great programming knowledge, to be played by timing the production of settlers to the point, when the capital is reaching two population points to minimize the danger of running into the 'murder-event' and to position a scout before every city of an opponent, to take this city, when the 'murder-event' is hitting the opponent ?
Civ is a game absolutely full of optimization -- how can you maximize the productivity of your tiles, how can you maximize the research produced by your nation, which wonders should you build (and where, and when) for maximum value, when is it more valuable to build offensive units vs. defensive ones, etc. There are players out there who have taken this analysis to an insane level in the base game -- I've seen literally pages of formulas to determine the exact order in which to build each unit, which tiles to improve, which techs to research, etc. For me, that level of "min/maxing" can quickly suck all the enjoyment out of the game and reduce it to a vast spreadsheet. But any player who wants to be successful at Civ is always mentally weighing probabilities in search of what path is most likely to lead to a positive outcome. There are no guarantees, though, and I think that's what provides much of the fun.

To answer more directly: no, I don't intend or expect players to micromanage every tiny detail of MM, or try to seize upon every wild loophole that gives them an edge. But as in any strategy game, multiple experiences (both good and bad) are the way a player learns what to attempt and -- equally important -- what to avoid. I don't think a single negative experience ought to be the end of the journey.

But it is also the question, if such an early plague, triggering situations that normally don´t occur, is really needed in the mod. The historical argument, that the Plague of Justinian occured from 536 to 750, is the only historical parameter in a world that starts its existence in the year 500 and doesn´t take into account, that even before the year 500 AD life on earth and its grown structures were existing, even when reaching an age, that is called the medieval age.
To quote my own post from earlier:
Balancing historical realism vs. rewarding gameplay is always a challenge, and while I tried very hard to keep that in mind as I built this scenario, every player may have a slightly different perspective on what that balance ought to be. Plague (or disease in general) is something that is 'unfun' in isolation, but in this case I consider it to be a key factor in making the overall scenario an interesting and challenging experience ('fun').
...
In the early game, plague strikes limit the ability of any nation (human or AI) to jump out to a big early lead, thereby providing a more balanced mid-game.
I realize you may not find that answer satisfactory, but it's the best I can offer. I can assure you that I wouldn't include the early-game plague, despite its historical accuracy, if I didn't believe it played a valuable and necessary role when considering the gameplay from the broader perspective of 500 turns.

It´s a pitty, that this mod, that sounds brilliant in most of its concepts, is haunted by this problem.
I'm really sorry your first game didn't go as you hoped -- and after all of our back-and-forth about the installation too! I wish I could undo that and make your initial impression more positive. I sincerely believe that if you play a couple more games, you'll come to a better understanding of the ways in which the different aspects of the mod work together. There's so much more in MM than early-game plague, and I hope you get to experience it. But we may always have some different opinions, too, and that's OK.
 
Last edited:
Knighttime, thank you very much for your answers. You are right, about the early plague. Here I still have a different opinion, but of course the opinion of the creator of the mod is the decisive one and I´m not a missionary to convince you about the opposite. In my mods and scenarios, when thoughts about changes are posted, I frequently stay by my point of view, too.

In my eyes your mod has a very detailed documentation and I´m aware about the problems that even those detailed documentations can become unclear for players - and what a lot of work alone the writing of such a documentation is causing for the modder. So here is another part in the documentation of this mod, that is unclear for me (sorry, it is concerning the plague again): Units that are located in or near the city may be killed.

Are these units only units of the player, who is targeted by the plague, or are units of other civs, which are located near the city when the plague event is triggered, endangered, too ?

I´m not sad about the early end of my first game with this mod and there is defenitely no reason to be sorry for that. The problem is, that my time for trying this mod now is running into severe limitations.

Knighttime, I wish you all the best with this mod. Good luck!
 
In my eyes your mod has a very detailed documentation and I´m aware about the problems that even those detailed documentations can become unclear for players - and what a lot of work alone the writing of such a documentation is causing for the modder. So here is another part in the documentation of this mod, that is unclear for me (sorry, it is concerning the plague again): Units that are located in or near the city may be killed.

Are these units only units of the player, who is targeted by the plague, or are units of other civs, which are located near the city when the plague event is triggered, endangered, too ?
I had to check the code myself, to be sure. :)

First, plague strikes are determined by city rather than directly by tile. If the city is struck, then a tile within that city's radius is selected to be the site of the plague and the tile on which the skull icon will appear.

The units that may be killed by the plague are those that are:
  1. on the selected tile (that is, the one where the plague skull symbol appeared);
  2. on any land tile adjacent to that tile (note that if the selected tile is in the city's outer radius, i.e. two tiles away from the city itself, then some of the tiles adjacent to the selected tile will be outside the city radius entirely, three tiles away from it);
  3. within the city itself, even if the city tile is not adjacent to the selected plague tile.
The nation owning each unit is not relevant -- plague strikes can kill units belonging to a nation other than the one that owns the city which was struck. (I've had this happen to me in test games, where I was besieging an enemy city and a plague strike on their city wiped out much of my invading army!)

Finally, plague strikes can only kill human units, never ships, mechanical artillery, or cannons.

You are absolutely correct that writing documentation is a lot of work! In fact I could have released MM months earlier if I had skipped documentation entirely, but that would probably be pretty frustrating for potential players! :D Because there are so many new features in Medieval Millennium, I made the conscious decision when writing the documentation to speak generally about the effects rather than giving specific percentages and bulleted lists of criteria. In other words, I want players to understand the concept, but I don't want to overwhelm them with a level of detail that would amount to a transcription of the Lua code. The documentation that exists definitely isn't perfect, but it represents the best I could do with the time I was willing to commit to that phase of the project.

I´m not sad about the early end of my first game with this mod and there is defenitely no reason to be sorry for that. The problem is, that my time for trying this mod now is running into severe limitations.

Knighttime, I wish you all the best with this mod. Good luck!
Thank you! I sincerely hope you have time to play at some point in the future.
 
I just want to comment that looking through the files and complex Lua architecture for this scenario...It is an astounding achievement. Stellar work, to say the least.
 
Thank you, @CurtSibling!

With the release of TOTPP 0.16, I'm looking into an update release of Medieval Millennium that will take advantage of some of the new Lua features provided there. I'm not anticipating any drastic changes, but I think several features that were a little clunky in version 1.0 can be smoothed out and made a little more friendly to the player.

If anyone has feature requests or ideas for an update release, which haven't already been discussed in this thread, please feel free to post them here or send me a PM. (Yes, support for playing on custom maps, such as a real map of western Europe, is on my list!)
 
I cannot WAIT for the custom maps! I'm sorry but I've been playing this game for something like 20 years and the ONLY time I've played random maps is in MM, so I definitely have a preference :lol:

I'm looking forward to seeing everything you come up with.
 
If anyone has feature requests or ideas for an update release, which haven't already been discussed in this thread, please feel free to post them here or send me a PM.

To show the attack animation in combat for the defending animated unit, too and to have unitspecific movement sound would be absolutely great.

EngKnightRun.gif


FrenchKnightAttack.gif


PikeAttack.gif
 
To show the attack animation in combat for the defending animated unit, too and to have unitspecific movement sound would be absolutely great.
Those units look great! But is this even possible in Civ2-plus-TOTPP? My understanding is that both of those things would require someone like TNO to enable this by adding features to the game itself -- it's more than can currently be accomplished in a mod or scenario. (Please feel free to demonstrate that I'm wrong, though!)

Even attack animations are rare (hardly any scenarios have them) and possibly beyond my skill level. I have thought about the idea of sprite masks so that units appear with their nation's colors, but that would be a pretty major undertaking as well. I'm better at writing Lua code than creating or editing graphics! :lol:
 
The sprites might be a nice little touch that @CurtSibling may be able to shed some light on (Curt, are you aware of a page with a good tutorial? You're the master of these...)
 
My understanding is that both of those things would require someone like TNO to enable this by adding features to the game itself -- it's more than can currently be accomplished in a mod or scenario. (Please feel free to demonstrate that I'm wrong, though!)

I don't know anything about combat sprites, but I think we discussed custom movement sounds before. One option was overwriting the sound file for unit movement. We've been kind of reluctant to overwrite files like that, though Medieval Millennium might be a good place to try it out, since it is already more involved than a regular scenario. Check out my custom music patch for an example of overwriting sound files.

A second option would be to make a silent unit movement sound, and play a sound when a direction key is pressed. You could then choose what sound to play based on the active unit.
 
II think we discussed custom movement sounds before. One option was overwriting the sound file for unit movement. We've been kind of reluctant to overwrite files like that, though Medieval Millennium might be a good place to try it out, since it is already more involved than a regular scenario. Check out my custom music patch for an example of overwriting sound files.

A second option would be to make a silent unit movement sound, and play a sound when a direction key is pressed. You could then choose what sound to play based on the active unit.

Yes, I can remember that discussion. :yup: The result was, that writing a lua function for replacing the movement sound in Civ 2 ToT could trigger some security problems. I don´t understand how the replacement of the ToT movement wav by other wav files that are included in the same scenario download can trigger those problems, but I´m no programmer and if this is problematic of course I accept it (and this even more as I´m not yet able to do such a programming myself). :)

The suggestion with the silent movement sound and playing a different movement sound when a direction key is pressed, sounds very interesting! :goodjob:

I think different movement sounds will be a big progress for Civ 2 ToT, that is important not only for animated units, but also for the not animated units, that are currently used in all present Civ 2 ToT scenarios. It is a much better feeling in a game, if you hear the foot stomping of a moving legion or the hoof-beat of a galopping knight when moving those units instead this dreary klack-klack of the original Civ 2 Tot movement sound.
 
The sprites might be a nice little touch that @CurtSibling may be able to shed some light on (Curt, are you aware of a page with a good tutorial? You're the master of these...)

I made some fully animated Civ 2 ToT units nearly 20 years ago. All these units are conversions of existing Civ 3 units, most of them WW2 units. Unfortunately I never received any feedback in using all these fully operable animated units in a testgame. The thread can be found here: https://forums.civfanatics.com/threads/animated-units-for-civ-2-tot.411816/

The big problem with animated Civ 2 ToT units is, that only the attacking unit is animated. The defending unit uses only the static animations of the static sprite in Civ 2 ToT. These static animations are only one image of the unit in each direction. Therefore the defending unit stands there without any defense action, while the attacking unit is beating or firing at that unit like crazy. Interestingly the death animation of the defending unit is working properly again. As the death animation of the defending unit is working and only the defense animation (that could be the attack animation of that unit) is missing, I think, here is something wrong in the programming of Civ 2 ToT.

May be, a workaround could be, to replace the static animation of the defending unit with another static animation file, that holds the attack animations of that unit. As to create such a different static test file could be a lot of work (the current static file of Civ 2 ToT holds all animated units of the original-, the scifi- and the fantasy games of Civ 2 ToT in one frame static images) I would like to know, if it is possible to program such a change of those files in lua in case of such a solution should work.


The "sprites" in post 49 of this thread are simply animations of Civ 3 units that are converted by the program Animation shop from the flc-format to gif animations by only klicking some buttons. To do those sprites in post 49 was a matter of only some minutes and most time was consumed by finding those units among the more than 4,000 animated units in the next version of my Civ 3 mod CCM 2.50.

Civ 3 units hold all animations, that are needed for Civ 2 ToT units (and frequently many more animations). To construct Civ 3 units, a special tool is needed, but for the conversion of existing Civ 3 units to Civ 2 ToT units, Animation Shop, PSP 7 and the Mercator Sprite tool are sufficient.

The animated Civ 2 ToT units must fit into a 64 x 64 pixel size for each image of the animation. For most Civ 3 foot units this is possible without any problems. A small "fiddling around" sometimes is needed for the death animation of modern foot units when they are throwing their guns too far away from their bodies when falling down. For medieval foot units (or even older) this problem mostly isn´t existing.

The images of the single Civ 3 animations must be centered and cropped to the 64 x 64 pixel size if they are bigger than this size and converted to the bmp format, that is needed for the Mercator tool. The new Mercator tool should allow to set individual frame sizes, so to find an existing Civ 2ToT sprite with a working number of frames should no longer be needed. In the past I mostly used the 12 frame bombard sprite of Civ 2 ToT to convert this sprite to the new animations by using the Mercator tool.

A problem can be the conversions of Civ 3 units with a bigger size than 128 pixels, as the images first must be shrinked down to a 64 x 64 size and here are loosing too much pixels during the shrinking process (mostly Civ 3 battleships, battlecruisers and carriers). Civ 3 pre-dreadnoughts can still be used for animated Civ 2 ToT sprites as they mostly have a size of about 110 pixels and are still recognizable after been shrinked.

After all these masses of text, here are some more medieval animations of units that could be converted to Civ 2 ToT (and many, many more are existing):

Ayyubid Footknight.gif


Bombard.gif


GoldenHorde.gif


GermanLongsword.gif


HotOilAttack.gif


German Bombard.gif


Templar.gif


Khwarezm Knight.gif


WorkerMine.gif


SwordAttack.gif
 
Last edited:
Yes, I can remember that discussion. :yup: The result was, that writing a lua function for replacing the movement sound in Civ 2 ToT could trigger some security problems. I don´t understand how the replacement of the ToT movement wav by other wav files that are included in the same scenario download can trigger those problems, but I´m no programmer and if this is problematic of course I accept it (and this even more as I´m not yet able to do such a programming myself). :)

The problem I have is that this methodology involves overwriting (hence deleting) existing files. If the event works as intended, this isn't a problem. Strictly speaking, the security risk is in TOTPP itself for allowing arbitrary Lua code to execute on the system (and not be restricted to the Test of Time directory), but if you're not writing files, then it is hard to screw up in such a way that damages the host system. My concern is that if it becomes 'normal' for us amateur programmers to write code that overwrites arbitrary files, then sooner or later someone's going to write something that will accidentally overwrite the wrong thing under some weird condition. (Or, that someone's going to turn up with a lovely scenario that is actually a trojan horse.) I've never actually tried to implement custom movement sounds, so this might be academic anyway.
 
Yes, I understand. :yup: But your new idea about different movement sound files seems to be great, as it doesn´t overwrite any existing files. Edit: Is this working for the movement of AI units, too ?
 
Last edited:
The sprites might be a nice little touch that @CurtSibling may be able to shed some light on (Curt, are you aware of a page with a good tutorial? You're the master of these...)
Basically, each unit would have a direction pose for each of the eight compass points, and each of these would need up to 24 frames of animation per second.

Basically a lot of work.

Although, one thing that perhaps could be done is to create the unit poses that match the directions, as fairline expertly displayed here...
multi ships.png
 
Oh I meant the idea of having different units be different colors depending on the tribe :) I know that truly animated units aren't a very realistic goal (at least if one wants to use the massive art displays that we currently have). However, I'm never quite sure how you get different units to be slightly different shades, which is a cool touch for any "shared" units.
 
Ah! Now I get ya.. :)

I could put together a tutorial thread easy enough, I'll put something together this week.
In the meantime, the only essential is the utility below, Mercator's SpriteGen.

Making colour sprites is one of my favourite CIV2 tasks...I hope I can get other people into it. :)
 

Attachments

One option was overwriting the sound file for unit movement.
...
A second option would be to make a silent unit movement sound, and play a sound when a direction key is pressed. You could then choose what sound to play based on the active unit.
The suggestion with the silent movement sound and playing a different movement sound when a direction key is pressed, sounds very interesting!
Edit: Is this working for the movement of AI units, too ?
I'm pretty sure that overwriting the sound file would affect all unit moves, AI or human. But using a silent movement sound and then playing a sound file based on the direction key would mean the sound would only apply to the human player. It would allow different sounds per unit type though.

I think that latter option is actually what I'd prefer anyway (apologies if you don't agree, Civinator). I often like to listen to music while I'm playing Civ, and having a constant barrage of movement noises on AI or barbarian turns would be too intrusive. The current release of MM already contains silent unit movements, which I think I'll keep, but I'll consider adding movement sounds triggered directly from Lua for the human player.

To do those sprites in post 49 was a matter of only some minutes and most time was consumed by finding those units among the more than 4,000 animated units in the next version of my Civ 3 mod CCM 2.50.
A 3.91 Gb download? :eek: Yikes! It's been years since I've played Civ 3, and even then I never really downloaded many scenarios for it (nothing like Civ 2). But I'm intrigued by your mod and may have to dust off my Civ 3 and take it for a spin. Thanks for sharing the link.

Thanks also for all the other information and examples you shared regarding animated Civ 2 units.

I could put together a tutorial thread easy enough, I'll put something together this week.
In the meantime, the only essential is the utility below, Mercator's SpriteGen.

Making colour sprites is one of my favourite CIV2 tasks...I hope I can get other people into it. :)
I see that Mercator released something called "CivSprite2beta2" in this thread. But that seems different than what you attached? I'm unclear about the difference between SpriteGen and CivSprite, especially if both are from Mercator (which tool is better, for which purposes, and why) so anything you can put together in the way of a tutorial would be great. Not only for my sake, of course -- hopefully this would make the process seem less intimidating to any designer.

One question I have is whether (or how) these tools integrate with the "Extra unit types" patch of TOTPP. Medieval Millennium has over 120 units, so I would need the capability of creating sprites that go far beyond the 80 slots available in the base game.
 
Last edited:
Top Bottom