Posts: 150
Threads: 3
Joined: Nov 2020
I'm looking for some brave volunteers with a bit of spare time on their hands to try this out: https://masterofmagic.fandom.com/wiki/Us...Customizer. Do note that manual patching and, consequently, some technical expertise is required. I'm mainly interested in things that don't seem to work as advertised, but other feedback is also welcome. If I don't get any, I'll eventually submit it for inclusion in the Community Patch as is. In the meantime, I'll start working on the next batch of options. Thanks for reading!
PS.: There is no CoM or Insecticide version, sorry. You'll need either v1.31 or the latest Community Patch.
Posts: 61
Threads: 0
Joined: Feb 2017
Only tested the map creation... didn't play any games -- but seems to work well for me.
Posts: 150
Threads: 3
Joined: Nov 2020
(April 10th, 2021, 16:08)mshih Wrote: Only tested the map creation... didn't play any games -- but seems to work well for me.
Thank you very much! That's the main idea, by the way. There's not much in there yet that actually affects the game after it's been created. The only changes in wizards.exe are those that fix the functions that break when continent indices overlap between the planes, and the one that clears the patch feature settings when loading a save that doesn't have them.
May 4th, 2021, 09:26
(This post was last modified: May 4th, 2021, 09:28 by Blake00.)
Posts: 248
Threads: 48
Joined: Aug 2013
wow this looks really cool.. I like the custom wizard tower budgets to block the worlds up more.. so many other good adjustable options there too. Nice work!
Civilization Mods/Scenarios:
Civ1 Soundtrack Overhaul mod, ToT Graphics for Civ2MGE mod, Star Wars Civ2 Scenario, Heroes of Might & Magic Civ2 Scenario, Wonxs C&C Civ2 Scenario Remaster, Red Alert 2 Siege of New York Civ2 Scenario, Civ2 Master of Magic Jr Scenario Remaster For ToT, Attilas Conquest - Play as Barbarians in every Civ game Scenario Series.
Blake's Sanctum:
- TC Mods: Quest for Glory IV 3D Hexen, & Star Trek Doom 2
- Game Shrines: Age of Wonders, Babylon 5 Fan Games, Civilization, Command & Conquer, Elder Scrolls, Dune Games, Final Fantasy, Freelancer, Heroes of Might & Magic, Imperium Galactica, Master of Magic, Quest for Glory, Starflight, & Star Trek Games
Posts: 22
Threads: 7
Joined: Oct 2016
successfully got this working (my first time using fileset), will play with it later today
Posts: 22
Threads: 7
Joined: Oct 2016
drake, is there a way to reveal map so i don’t have to manually magic spirit scout each map i test?
Posts: 22
Threads: 7
Joined: Oct 2016
i can’t find a way to create a tiny map with one single
continent, like i can do with com 2 (com for windows). maybe a minimum continent size or option for single continent could be added?
Posts: 150
Threads: 3
Joined: Nov 2020
You can reveal the map by typing Alt+RVL (hold Alt while typing RVL) on the Magic Screen (its the original cheat code that adds Nature Awareness to your global spells). As for a single continent on tiny maps, unfortunately, that's a bit of a tall order. It's doable, but it requires a lot of work as well as thinking. Most likely, a new land generator with a different approach than the original.
First off, the existing function is designed to scatter the first 8 continent origins across the map. That is, no two of these can be in the same 16x11 cluster of the map. To do what you ask, this criteria needs to be replaced with one that, after the first origin, selects all subsequent ones from only tiles that are either already land or are adjacent to one, as that's the only way to guarantee one single continent. Normally, this would immediately raise a second issue, namely that it will cause most of the origin areas after the first to be hill/mountain regions given the amount of elevations that will be performed on the nearby tiles. Luckily, I've already implemented dynamic elevation scaling, so all I need to do is force-activate that to counter the problem.
However, that still leaves the issue of capitals, towers, and nodes. The absolute minimum mutual distance between capitals is 8. If there are more than 3 on the plane, their placement may not be possible, which will force the map to be recreated automatically. How bad this would be, we won't know until we try. Towers are also quite concerning, since if the single continent on Arcanus doesn't overlap with the single continent on Myrror, the towers will all be placed on water on one end or the other, which at least partially conflicts with the current design direction, and will be a serious hindrance for the AI.
Nodes have a yet different issue. They are also created using map clusters. If there's no land in their particular 24x20 map segment, they will be placed on a random water tile. I could expand this to 24x40 (full map height), the way Seravy did for Myrran nodes in CoM I (I already ported that generator, so the code exists for this), but that will still not guarantee an overlap with the single continent on the plane, which ultimately gets me back to square one, placing half of the nodes on islands. I could write a new generator that simply scatters the nodes on the existing land, but as I found out the hard way, set finding gets exponentially slower the deeper the desired resulting set. At 16 (Arcanus nodes), this may literally take hours. I already had to implement a timeout condition for the 9 towers of CoM I in order to look for an optimal solution rather than the best possible solution.
Assuming that I ignore the node and tower issues and simply recreate the map if starting cities can't be placed, that still leaves me with the question of the interface link. That is, how to trigger this option. The easier way to do it would be to make it a patch feature rather than a map setting, but that would mean it can't be adjusted on a per-plane basis, which is likely desirable. Naturally, having a single continent automatically disables the continent size limit setting, which requires noting in the descriptions. If I want to be meticulous, this setting would also need to be placed around the other two related options, which requires shifting everything else down - that's a bit of a PITA given that they are the first two, and I just finished a next batch... =P
I can't just do away with the max continent size limit setting either, as it has been requested one too many times . Well, okay, most of those simply asked for the removal of the limit altogether, or changing it to a different number from 200 tiles, but the current implementation is what I believe to be the optimal solution to satisfy all those requests. However, with it, I can't do a minimum size in any meaningful way that I can think of. A minimum would also be especially difficult to fit into the original land generator design. It requires either picking more and more origins on the same continent until the requirement is satisfied, or artificially expanding the continent until the goal is accomplished.
In theory, I could add a condition that prevents a generated land strip from being terminated until the desired continent size is reached, but that would invariably result in thin, snake-like continents everywhere, which I think are quite bad. I would also not know which land strip from a given origin to keep active. If I pick the first, for example, then the origins will always be on the west end of the continents, they will all expand eastward, and are bound to have fairly similar shapes.
Anyway, I'll keep thinking about it until I figure out a way to do it. I'm also open to suggestions in case someone else has some good ideas.
Posts: 150
Threads: 3
Joined: Nov 2020
Okay, I've cobbled together a single continent generator for you (re-get and reapply the patch), but I won't be able to do any extensive testing with it for a while. I do know that it fails when given the worst case scenario of 5 players on the same 150 tile continent (you can force this by playing on Easy/Normal and selecting Sss'ra's portrait without the Myrran retort). However, it should work fine with all other settings. To trigger single continent creation, set Land Tiles and Max Continent Size to the same value. I realize that this imposes an upper limit of 490 tiles, but it also allows per-plane toggling.
Posts: 150
Threads: 3
Joined: Nov 2020
I'll go ahead and call the first stage of this project complete, and so have created differential patchers for both versions. FILESET is no longer required. Links:
v1.31 to v1.31a
v1.52.03 to v1.52.03a
The patchers need to be executed from the game folder. To revert the changes, run the windows patcher (MoM_xxxx_32.EXE) a second time, or use the -v switch in the DOS one.
|