Skip to content

Posts from

No ratings yet — be the first to rate!
11 years ago
Auto-translated
Hello everyone!
I don't know which section to post this in, so I'll leave it here. I've long wanted to write a program for calculating battle outcomes in Heroes. I have a degree in software engineering, but I don't have much serious experience because I haven't worked in the field. A couple of months ago, I started learning 1C. The old idea won't let me rest, and I finally decided to implement it. Of course, 1C is not the best format for this, and I could quickly create everything in Delphi. But since I'm learning it now, I decided to do it in 1C. The question is, are there any experienced 1C programmers among the Heroes fans on this forum who could offer some advice?
11 years ago
Auto-translated
We input the monsters and their quantities for both sides, and also specify the hero parameters, the development of secondary skills (those that participate in damage calculation). We also indicate the presence of certain artifacts and spell icons.
As a result, for each hero 1 slot against each hero 2 slot, we get different data: damage, how many will be killed, in how many hits, retaliatory damage, etc. I'll roughly sketch a picture in Paint to show how I envision it.
The main problem now is the normal display on the 1C form. It doesn't fit in half of the form, and stretching the elements works poorly.

Added 17 minutes later
something like this will be:

The central fields are empty because I haven't inserted the formulas yet. Red/green will highlight whether monster 1 will defeat the enemy slot 1-on-1 or not. In the cells themselves, you can display either the number of hits or the damage; the rest will be in a tooltip. Above the number of monsters, there will be icons for skill development. The remaining parameters should also be added there.
User Avatar
11 years ago
Auto-translated
The idea is good, but does the result justify the effort? Such utilities are useful during the learning phase. But after you gain some experience, you start playing intuitively (often without even trying to read about the number of creatures in a stack, you just destroy them). And first, you postpone using the utility, and then you completely forget about it.
I have a couple of good utilities downloaded here – take a look.
Attachments 1
1 file attached • Total size: 487.0 KB
Техника в руках индейца мертва.
Справочник по НоММ-4 http://handbookhmm.ru/pamyatka-dlya-heroes-iv.html
Памятка по НоММ-3 http://handbookhmm.ru/pamyatka-dlya-homm-iii.html
и HotA http://handbookhmm.ru/vyishla-obnovlennaya-pamyatka-dlya-homm-iii-hota.html
11 years ago
Auto-translated
You are absolutely right. These reasons were what kept me from starting to write the program for a long time. I also didn't feel like installing Delphi. But now I'm learning 1C, so I don't need to install anything. It works with databases on its own; I just need to create an interface and add an import function for monsters from the game. I've found a way to import reference data from Excel into 1C – it will be useful later. Right now, I'm working with forms, and I'm sure I'll learn something useful. If you look at it from this perspective, there are no costs involved. And if the process is enjoyable and you're writing it for yourself, why not code? :)

P.S. If this program turns out to be useful for some beginner, I'll be happy.
In reply to Plasma
User Avatar
11 years ago
Auto-translated
Plasma

P.S. If this program is useful to any newbie, I will be happy.
Newbies in the third game? :smile07:

Added after 2 hours 59 minutes
Plasma

As a result, we get different data for each slot of hero1 against each slot of hero2: damage, how many will be killed, in how many hits, retaliatory damage, etc.
I suggest conducting an emulation (creating a simple algorithm) to determine the winner in a battle when one hero has grand elves in their army and the other has buffed pegasi. The premise is as follows: grand elves defeat pegasi in one round, provided they can attack. But the pegasi have the first turn - due to biology (as a rule) :D.

In this case, a single unit takes retaliatory damage, the second (main) unit deals an unreturned blow, while blocking the archers (half damage when blocked). How will your algorithm predict the battle tactics? Will it declare the grand elves the winner?
Сначала было слово...
FizMiG v.2.0 *** Очередное обновление справочника! *** http://vk.com/fizmig

11 years ago
Auto-translated
The phrase "Newbies in Tier 3?" can be addressed to the FizMIG (a popular Heroes of Might and Magic forum) or any game guide, if desired. And my algorithm is not yet capable of predicting, nor do I set the goal of predicting the outcome of a battle – it's too large a task. All I wanted was to give an inexperienced player an approximate idea of the strength of monsters in slots and how various spells can affect the final damage. For example, two large armies meet, and the player, due to lack of experience, doesn't know, for example, which is stronger: 35 Minotaurs or 58 Pegasi. Knowing the damage calculation formulas will take some time, and if we have 7 slots in each army? My program will only calculate the result of the first attack for all specified monsters, without taking into account who goes first. Without additional settings, for Minotaurs, it will show that it takes from 4 to 2 attacks to kill Pegasi (without a counterattack), and for Pegasi, respectively, from 7 to 4. Regarding Elves, and in general, for all archers, the damage for firing a full arrow will be calculated by default, and the result of blocking will be displayed in a pop-up window.

Statistics

Welcome our newest member: recijeb