Спиралевидные карты
Информация о карте
- 13 Good to Go 2
- 14 Good to Go 2
- 15 Good to Go 2
- 16 Good to Go 2
- 17 Good to Go 3a
- 3 Good to Go 2a
- 4-5 Good to go 2
- 19 Good to Go 3
- 13 Good to Go 5a
- 14 Good to Go 5a
- 15 Good to Go 6a
- 25 Ascension 17a
- Good to go 2-7
- 9x
- 7 x
- 17-18 Good to go 4-5
- 20 Good to Go 7a
- Cd 7
- Заготовки 3-9
- H
- 1
- 14 good to go 2
- 16 good to go 3
- 18 good to go 4
- Cd
- 20 good to go 6
- 14 Good to Go 5a
- 16 Good to Go 8a
- Заготовки 3-7
- Заготовки 8-12
- 18 Good to Go 9a
- Заготовки 13-17
- Заготовки 3-14
- Good to go 3-20
- Good to go 1-4
- Good to go 5-6
- Заготовки 3-20
- 20 Good to Go 14
- Заготовки 3 - 20
- 20 Judgement Day 9
- 26 Pirates 13
- 38 Pirates 14
- 1 Good to Go 2
- 1 Good to Go 3
- Good to Go 2
- Good to Go 3
- 11 Dead and buried 3
- 11 Dead and Buried 5
- 22 Good to Go 2
- 22 Good to Go 3
- 29 Good to Go 7
- Good to Go 5
- 14 Dead and Buried 5
- 10 Good to Go 2
- 14 Good to Go 3
- 17 Judgement Day 4
- 20 Good to Go 5
- 21 Pirates 6
- Good to Go 5
- 20 Good to Go 4
- 15 Good to Go 2
- 17 Judgement Day 3
- 18 Knee Deep in the Dead 4
- 22 Pirates 5
- 23 Wings of War 6
- 14 Good to Go 2
В архиве есть также "сырая заготовка карты"; можете творить, что хотите.
Сначала я играл за красных, компьютер - за 8-го игрока. Его грохнули.
Потом я играл с двумя союзниками - 7-ым и 8-ым. Сначала грохнули 7-го в самом начале игры. Через какое-то время грохнули второго союзника.
Потом я играл с тремя союзниками: 6-ым, 7-ым и 8-ым. В начале мне было довольно тяжело преодолеть пограничного стража. У меня - медленные юниты 1-го уровня, стражи - продвинутые магоги (60 штук). пришлось ждать 3 месяца, пока у меня накопится 300 юнитов. В борьбе с магогами потерял 50 юнитов.
Затем я напла на синего. Выдержал две битвы, но у меня осталось 100 юнитов. Отступил и выжидал еще месяц. К тому времени союзники захватили всё, в том числе и город синего. На мой город напали два отряда синих, я их победил, и игра закончилась.
Короче, союзники играть не дают.
1) Надо выбрать заготовку карты. (Можно, правда, сгенерировать рандомную.) Беру карты "Heroes III: Восстановление Эрафии", сортирую по размеру файла с картой. Самой первой оказалась карта "Всегда готов". Поэтому я рисую на ней.
2) К сожалению, на карте слишком сильные монстры. Поэтому приходится почти всех монстров удалять, иначе их не пройти! Чтобы карта не оказалась без монстров, я просто понизил ранг всех монстров на 2.
3) Затем надо удалить всех игроков. Я буду расставлять своих.
4) Выбираем стартовый радиус карты. 1, 2, 3, ... Если карта называется "3 Good to go 2", это значит, что за основу взята карта "Good to go" ("Всегда готов"), стартовый радиус 3, и на ней получилось 2 города (то есть игрока).
5) Последовательно увеличивая радиус, увеличиваем размер играбельной части карты. Получаем кучу карт. "Настоящих" или "тренировочных".
6) Выбираем число ветвей. 1, 2, 3, 4... Одна ветвь означает, что вся карта проходится за один проход. 2 означает, что сначала мы идем к центру, а потом обратно. Три означает, что идем сначала к центру карты, потом обратно, а потом опять к центру по ветвям спирали. Ну и так далее. (Вспомните спиральные галактики.)
7) Выбираем схему карты. На примере односпиральной карты:
Через один виток спирали спираль становится ближе к центру. Схема выбирает, на сколько именно. Общее правило заключается в том, чтобы спираль была достаточно плотная (чтобы покрывать как можно большую площадь и иметь наибольшую длину при той же площади), и в то же время витки спирали не должны налезать друг на друга (на предыдущие ветки), чтобы спираль получилась хотя бы приближенно красивой.
Примеры схем: 1-1-0, 0-1-2, 0-1-1-1, 0-1-1-1-1 и так далее.
Вариант под DOS переделал под Windows.
/* p1
Язык Visual C++ 6.0
Консольное приложение
Радиус */
#include
#include
main ()
{
int a, b, c, d;
FILE *g;
/* a - радиус, для которого ведётся расчёт
b - максимальное значение, для которого считается квадратный корень
c - счётчик
d - рассчитанное значение границы окружности */
g = fopen ("1.txt", "w");
for (a = 1; a < 61; a++) /* внешний радиус 1/8 окружности */
{
b = (int) (a / sqrt (2) + 2); /* верхняя граница расчётов */
fprintf (g, "r = %i\n", a);
for (c = 0; c < b; c++)
{
if (c == a) break;
d = (int) (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);
return 0;
}
Применяя предыдущую программу, нарисовал заготовки для карт Heroes III.
Эти заготовки надо ещё проверить - нет ли где ошибок, потом посмотреть, чтобы артефакты не перегораживали дорогу (иначе при опредленной комбинации карта может стать непроходимой). Задать города и начальные условия.
"Эадор. Сотворение". Для долгого вдумчивого сингла самое оно. Нравится больше Третьих и Пятых, но думать приходиться больше и порог вхождения выше.
PS: "Рабочий стол разработчика" вызвал ностальгические чувства по 2000-му, P-II 450/96Mb RAM/HDD 6Gb/ и Win98SE (потом Win2000 SP4).
Перед красным поставил нейтральный город, чтобы синий не нападал сразу, а дал время спокойно развиваться.
В архиве находятся карта и заготовка для нее.
С заготовками (то есть не только готовая карта, но и "скелет", готовый к разметке).
Всего 7 карт.
От 2-ух игроков до 8-и.
В архиве присутствуют скриншоты.
https://yadi.sk/d/RoaXqULP7xa58g