Modding suggestions

As I see modding requests coming in again, I’m starting this thread to have them logged in one place.

If you have any ideas, suggestions, requests of mods that you would like to share with everyone, this is the place to post them. I’m also going to gradually scout the (English) forums for suggestions previously posted in other threads and either move them here, or just post links.

If you believe your suggestion will trigger lots of reactions (or you’re even looking for a debate/feedback on it), you can of course start a separate thread in the General discussion section. If you already have the code for your mod (or are planning to write it) - and need help with the integration in VCMI or advise from other coders - the thread can be open in the Development section.

[size=84]Disclaimer:[/size] VCMI is a work in progress. The priorities of the team are completing the Single Player functionalities, which will be followed by developing the AI, the Multiplayer and most common WoG features. This will take at least a couple of years from now with the current resources. So it may take some time until VCMI would be able to support mods. A separate aspect is that VCMI is not another mod, but an open source project meant to re-create H3, in order to give modders more possibilities then ever before. So there’s no need to focus on “selling” your ideas to the VCMI team to convince them to “include it in the mod”, as that’s not what the project is. This place is more for collecting ideas that may serve as inspiration to amateur coders that will be writing mods in the future.

extend hero attributes (attack, defence, power, knowledge) to ui16 (unsigned short)
extend creature count from ui16/si16 to ui32 (unsigned long)
reserve place for new abilities (like estates, tactics, wisdom, etc.) to make possibility add new ones in mods
make number of army slots extendable (ie. mod can change it to 9 or 13 or whatever), making additional slots availible by scroll
implement possibility to add spell by altering config/scripts (not-hardcoded)
make number of players extendable, make players’ signboards customisable, make player colors customisable
make percentage/count based abilities (ie. armorer or mysticism) customisable by percentage/count through config/script

PS: I believe I use proper topic, but if not give me a sign

accumulating creatures (and guards): could you do the engine support this but need a change in config file (only) - it would be one of first implemented wog hardcoded features. also nice would be ability to change the time avaliblence of objects (like in WOG the script make some OncePerHero objects to be visitable them once per month per hero)

With current objects structure this one could be somewhat complicated to implement, much easier would be to erase visiting heroes via script.

so what about some unvisit function/class which gets own config file and change under a time the visited status to not visited? I think it would be nice to support them without doing script from scratch (the engine has to mattr about implementation)

the config file should specify which type of objects to reset and if it’s internal OPH OPW or Visitable_Once to make engine know what to change, and an event needed to do the reset (basicaly ‘every nnn days’)

accumulating creatures guards etc. should be in hardcoded.txt in config directory (it would list hardcoded features and bind them to on or off)

3 levels map

1 Like


and perhaps “hell”?
or maybe 7 level-s underground?

i think if we remove limit of two levels we should exchange limit to no less than 255 allowing mapmarkers to choose (almost) any in range

Another thing I was thinking about with regard to map is an option to make map “without edges”, meaning if you go to the right edge, it moves and hero appears in the left part of the map. The same with upper and lower edges. The variation of this is map is on the surface of a globe, which you can turn in any direction similar to Google Earth.

I believe most players agree that Conflux was a bit overpowered, due to the double growth rate of the Firebird/Phoenix. To balance that, a WoG script was halving their growth. That way however, I believe Conflux would become the alignment with the weakest 7th tier in the game.

Perhaps a better way to balance this would be to halve their growth, but instead have the horde building (Garden of Life, or a new one - though that would be harder to implement) boost their growth with 1/week. :question:

More spell on spellbooks and maybe mights can have skill: summoning


well, ideas for mods i have a lot :slight_smile:

O.k., start with something. F.Ex. the skill system. It is not that good that H3 has a more or less fixed static probability to get any skill. So at first the probability of getting a certain skill could be dynamically modified by the skills the hero already has. So f.ex. if the hero has wisdom, then increase the probability of getting one of the magic schools. If the hero already has a magic school, then significantly decrease getting any other magic school. And so on.

Next, what about kind of “extended” hero classes? Something like what we have in H4. But not automatically, but offer the user a choice if the hero has the appropriate skills at the appropriate level. These extended classes then should be output in the hero screen (somewhat Gem was a “sorceress” in the initial SoD campaign.

Then, what if combine some skills into a totally new one? WoG did something like that with the “warfare” skill. But statically. I thought of offering a choice to combine some skills each time a hero gains a level and has the necessary skills. That could a) make room for new skills (thus making it unnecessary to have more than the standard 8 skills) and b) enables introduction of totally new skills.

F.ex. combining diplomacy and leadership into a) the extended class “lord” and offer an extra military type skill. Or combine diplomacy with estates and make a merchant, adding f.ex. an extra skill like mining (random resource per day) or interest (plus n% money per week).

Those combinations and new skills could additionally or alternatively also be offered on levelling if the hero has the necessary base skills. Like any building in a town may have a prerequisite building, anay hero skill may have a prerequisite skill.

Generally i’d prefere 5 levels per skill instead of 3. Remember, if you have an uint32 for any primary skill that means 4 * 4294967296 = 17179869184 levels to get them at maximum. With 3 levels per skill and 8 skills that means 24 levels. After that the hero is 100% skilled. No more interesting development possible. With 5 levels that would increase to 40 levels, which is still not optimal, but a bit better. Adding the skill combinations could add more interesting development after level 40, but still we have extreme much empty space until level 17179869184.

With an uint16 for level the hero could reach level 262144, which is still drastically more than needed until the hero is fully skilled. Adding development options here would be nice.

These are my ideas around the skill system. There are other ideas to other areas. Maybe i’ll post them later :slight_smile:

Next idea is mostly eyecandy. Or, exactly, earcandy.

Every time a town screen opens and the town music is to start, look for an mp3 with the town’s name. if existent, take that mp3. if not, take the standard mp3.

I tried to implement that in WoG erm, but there was no reliable trigger. I implemented it when a hero entered the town, but there are other options how to open the town screen.

Next idea is a battle modification. I’d prefere a siege mode similar to that in H4. As long as the wall is not breached, do not allow flying over the wall. I think, it should be 3 moves:

  1. To the moat.
  2. Into the moat.
  3. Over the wall (directly ajacent inside).

For fortress this might result in 2 moves within the moat.

Next: Additional hireable creatures. What if those little extra houses would allow to hire some level 1 creature? For castle this would mean peasants. For rampart, halflings. Currently no idea for other towns.

Halflings should be grafically reworked. They are too big compared to the other creatures. They should be the same size as dwarves or even a little smaller.

The WoG ghosts should be grafically redone. The H2 ghosts where better.

The grafics for the hovel and the halfling hut should be swapped.

Next: The magic system. Dividing spells into 4 elemental schools is basically a good idea. But there are several spells that do not really fit into one of these classes. So i’d like to add 2 more schools: Life and death. So bless and prayer should be moved to life magic, where animate dead should be moved to death magic.

BTW: A first aid tent for the necromancers is a joke. Not tactically or strategically, but it just does not thematically fit to necros. So adding another “creature” of type war machines and make that buyable in necro town would be appropriate. This device should not heal, but instead cast animate dead. It should restore more hit points on undead, as the tent heals on non-undead, but should obviously be useless for non-undead.

As grafics the death magic level 1 shrine from H4 would be nice.

Adding more towns is always a good idea. Now when already adding more towns, at least 1 of the old towns should be reworked: Dungeon. Flying creatures do not really fit to dungeon. So harpies, scorpicores and black dragons would fit much better to some rogue style town. That would mean, dungeon needs 3 other creatures. The troglodyte fits perfect to dungeon.

I think the other original towns are already well done.

An idea for harpy replacement might be: A large fungi. Movement 0. Attack with poison cloud (fungi spore). Not retaliable. Low hit points. Possible actions: 1. attack, 2. respawn more fungi at adjacent hex (selectable), 3. grow “in place”.

Next is a minor rework of one spell: Quicksand. In sandy ground this places well fitting sand pits. On all aother grounds it looks not good.

So what if this spell is divided into the several elemental schools and behaving slightly different? Casting with earth magic it could be the classical sand pit. Cast with water magic it should be a mud pit. Or an icehole, depending on battle ground. With fire magic it could be a fire pit. maybe on volcanic battleground only. Air magic: nothing special here. Air magic already has the similar spell mine.

Then, what if the moat as well as those various pits do some damage to creatures stuck inside? The moat already does. Those pits could do the same. And the damage of the moats could be slightly modified.

For Inferno the modification is the easiest: Just add the small fire animation to the standard damage.
For Castle and Rampart: Add a chance of casting low morale resp. misfortune on stacks inside.

For Fortress, add chance of casting disease. Or weakness. Maybe weakness is better.

For Necro, cast disease. Or spawn some few skeletons (3-5) each round.

Stronghold: Cast fear?

Confluxx: Chance of spawn 1 elemental per round, depending on battle ground.

Spawned creatures spawned directly in the moat :slight_smile:

Dungeon: Chance of spawn a sadn pit directly adjacent to the moat?

Now a completely different type of mod.

WoG already introduced more map town vies. They ued it to visualize “destroyed” towns. Better would be to add views which fit to different grounds. It is always strange to see a tower town in a swamp. It simply doesn’t fit at all.

And by the way: The backdrop screens of these towns should be automatically adapted to the map ground, too.

WoG already introduces an interesting deco object: Rain. What about adding more of those: Snow, Storm, Necro Darkness, and then add a script handle to set or remove them.

Another idea would be an invisible deco object with tons of subtypes. Each subtype then gets it’s own sound. So this way you can place sound spots. Like the leprechaun, but not tied to a visible object. Just to add some “feeling” to some map spots.

Ah, and another decorative mod: WoG added many of those decorative objects. Nice idea, but many of them do not fit to H3. They should be modified.

does baratorch’s hd mode has anything more than vcmi?

Hi everyone!
I have some ideas that I wanted to share with you, I hope you’ll like them. I beg your pardon for my bad English, to read and write on this forum I’m using google-translate. Therefore, the image is attached to what is written, that all was clear what I mean.

What’s happening?
When the hero attacks a monster or another hero, or take the castle in a siege battle is fast and displays the result (as pictured).

How does it work?
First, AI spends quick battle without the use of spells (not to waste mana) and trying to win without a loss if can not without loss, then he tries to win using the spell. If can not win, then the AI tries to give money (in this case displayed a message that the hero is bought off the amount of gold), if there is no money, then AI just runs away. If a player “agrees” with the derived results, then click on the button «Okay», if not — then «beat without AI» and then going on replay — the battle begins as usual.

You can also see on-screen hero spent mana points (perhaps better reflect the remaining amount of mana, I think about it). You can still see that I replaced Losses Winner / Loser, make it clearer "who’s who ".

-Convenience (no need to constantly switch quickbattle from the menu, or choose from the menu ever in Wog).
-Acceleration of the game.
-I believe that it will be easier for novice players.

-Some older players may not like this innovation, but you can always replay the battle manually by pressing a single key.

There is a similar Script or function in World tournament version. Sadly it just shows the the result without spending mana, and if you dont like it, you have to fight. Your idea of the AI trying with mana if he failed without mana, its good.

Another thing that I wanted on the same line is a way to without actually going to the neutral stack to run a quick battle mode and see the result, just to see. That would GREATLY help new players to have an idea how strong is his army , what it can do and how strong is the opponent stack. This come from me introducing people to heroes 3 and the major problem they have is figuring out if they can be X neutral stack or not, or how much loses they would have.
Some people consider thats a ¨skill¨worth to test, I disagree and i think a ¨battle simulator¨ would help a lot to the introduction of new players.

In another unrelated issue, and I didnt bring it too early because I know there is plenty of time before VCMI reach the basic coding is that I think it should be as flexible as possible in regards of giving modders options to solve the ¨idle time¨ of the player that is not on its turn.
I know the idea is to implement simultaneous turn, but personally I dont think thats a good option or the best answer. The reason is that if simultaneous turns end as soon as there is visual contact, in maps a lot of people like me play, that would end very very shortly and would solve nothing. If it would work like in age of wonders, where sim turns never end, then lategame a lot of situations are solved by ¨who click faster¨, if i wanted that, i would play sc2.
I think a solution like Ghost for heroes 5 but well implemented is really interesting. The point is if ghost is the solution or not it would be great if something like that could be easily implemented, or things that are about making the ¨inactive¨ player somewhat active, so modders can explore options on how the solve the ¨inactive player¨ issue presented on TBS games.

hey i saw in latest code that battle thingies move from two variables for sides to two element array…
i think if it is possible to gain more than one side in battle? it is near to be implemented after latest changes, but there is a problem where such battle could happen? hmm its good place for mods to take activity, let first just made the engine possible to start such battles.

it will be easy on duel mode (as there isn’t anything before and after the battle) there could be two teams battle, or 3ffa (two players at sides, third in place like when battling dwarven treasures or similair places)

well it could be an idea hero guarding a hero (two (or more) allied heroes standing at neighbouring tiles fights together against the attacker hero, and well attacker possibly could be guarded too)

also a thing for battles that could be more interesting in multi side battles, but could be good for 1vs1 too: a pact tie. it would happen when all remaining battle sides agree the pact, the battle result is counted for all sides same if all remaining oponent flees, but none of heroes disappear from the map. (the “remaining” word is a key to multi side battles from where some sides have lost)

PS: there would be a problem calculating an exp when there’s more than one winner (or if there’s a tie, but i propose just count who defeated who (gain exp only for those what you killed)
PS2: ooh i just thought there could be some friendly fire when multi sided battle contains some allied sides it could be funny (think of chain lighting, meteor shower or armagedon there :D)

This change wasn’t made to allow more than two sides. Current code doesn’t support such situation and it’s not simple to add support for it.

well i know it’s not the aim of changes, but most of working in multi side could be made by changing “boolean index” to int index (of course some more not trivial changes are needed to work properly)
nice would be to try doing three sides battle (two on edges and one in creature bank attacker position) but i know it needs something more, but it would be great use of those unaiming changes