Skip to content

Posts from Spiral maps. Auto-translated

No ratings yet — be the first to rate!
#16
Auto-translated
A map for five players.
As the strength of the creatures increased, an unpleasant detail emerged. It turns out that when creatures of level seven guard the border, the opponent refuses to fight them, even if they are much stronger. This is especially true for golden dragons. Therefore, the strategy becomes: first, defeat the dragons, and then deal with a much stronger opponent hiding in the castle. What is very unpleasant is that the opponent simply sits and accumulates troops, waiting for me to come. In other words, I have to rely on numbers rather than skill, which is not what I wanted.
I will correct this in the future. I will manually set the number and level of monsters on the border. But for now, we have to deal with what we have.
Attachments 2
2 files attached • Total size: 294.2 KB
#17
Auto-translated
There's a joke about vodka: the drink is the same, but the adventures are different every time. The same can be said about "Heroes III" maps. The map is the same, but the adventures are different every time. And what I experience while playing is completely different from what you experience on the same map.
#22
Auto-translated
So, comrades! My dream has come true. On the night of December 31st to January 1st, while fireworks were booming outside, I created this map. The map has 17 towns. Testing showed a satisfactory balance. At least, it's the best balance I've ever achieved. The overall impression is a fast-paced playthrough, a speed-run.
Download the map:
https://yadi.sk/d/2uaSImBE3R9fvC

Attachments 1
1 file attached • Total size: 15.3 KB
#25
Auto-translated
Given: "Heroes III".
Task: create a map consisting of 1/8 circle arcs.
Development environment: MS-DOS, Turbo C, Windows 95; Celeron 333.

To do this, you need to draw the circumference boundary and then create a map from it.
The program that calculates the circumference boundary:
/*   Radius   */

#include
#include

main ()
{
int a, b, c, d;
FILE *g;

/* a - radius, for which the calculation is performed
b - maximum value, for which the square root is calculated
c - counter
d - calculated value of the circumference boundary */

g = fopen ("1.txt", "w");
for (a = 1; a < 61; a++) /* outer radius 1/8 of the circle */
{
b = a / sqrt (2) + 2; /* upper limit of calculations */
fprintf (g, "r = %i\n", a);
for (c = 0; c < b; c++)
{
if (c == a) break;
d = sqrt (a * a - c * c - .0001) + 1;
if (d < c) break;
if (d == a) continue;
fprintf (g, "%i - %i\n", c, d);
}

fprintf (g, "\n");
}

fclose (g);
}
As a result, a file is created containing the calculated boundaries of circles of various radii.
But the circle turns out to be uneven. After manual correction, the following is obtained:
r = 1

r = 2

r = 3

r = 4
3 - 3

r = 5
3 - 4

r = 6
4 - 5

r = 7
4 - 6
5 - 5

r = 8
4 - 7
5 - 7
6 - 6

r = 9
5 - 8
6 - 7

r = 10
5 - 9
6 - 9
7 - 8
Download map templates 3 - 12: yadi.sk/d/E7Bi8tVh3Xp2e9
Download the program for calculating radii: yadi.sk/d/0C1Ga-OX3Xp2zG
Download the file with calculated radii: yadi.sk/i/rWN_PXeC3Xp39B
The following map templates were obtained:



















#26
Auto-translated
It's easier to iterate through the radius values than to create a double loop.
User Avatar
#27
Auto-translated
Author, what is the purpose behind creating these maps, if you don't mind sharing? The persistence is surprising.
In reply to Nasos
#28
Auto-translated
Nasos
It's easier to iterate through the radius values than to create a double loop.
Where should I iterate?
To draw a spiral, you need the boundary values of the circles for all radii less than the given one. You'll have to calculate them.

The first loop is for the circle radius.
The second loop is for calculating the boundary for each radius.

Added 6 minutes later
Marlo_Stanfield
Author, what's the point of drawing these maps, if you don't mind me asking? I'm surprised by your persistence.
There are several meanings here.
You know, some people doodle in their notebooks when they have nothing else to do. This is something similar. Sometimes you just want to calculate. To exercise your brain by drawing radii. And to make it not completely pointless, I draw maps. And here's the result.
In the end, it should turn out to be a large map. Ideally, one with 24 (or 16) cities, or a little less. The point is that there should be many adventures there.
When you travel across such a large map, for a long time, you periodically end up in a dark zone. This is where the Necromancer opponent has cast a spell. "Alone in the dark."
And you can also place an ally, and he will "illuminate" the area where he wasn't originally supposed to.
Another meaning is that Heroes III is a two-dimensional game, and I'm turning it into a game with partial dimensionality - greater than 1, but less than 2.
I'm going to explore all these effects.
#29
Auto-translated
int d, and you assign the square root to an integer.
#30
Auto-translated
The user is the boss.
I really need it. But the program doesn't care.