IPB

Здравствуйте, гость ( Вход | Регистрация )

5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Спиралевидные карты, обсуждение и предложения
Lava
сообщение 01 Jan 2018, 10:16
Сообщение #21

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Скачать комплект из 16 карт:
https://yadi.sk/d/UOpBUcxA3R8yvo (2,8 Mb)
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 02 Jan 2018, 07:40
Сообщение #22

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Так, товарищи! Моя мечта сбылась. В ночь с 31-го декабря по 1 января, пока за окном бумкало и бабахало от салютов и фейерверков, я делал эту карту. На карте 17 городов. Тестирование показало удовлетворительный баланс. По крайней мере, самый лучший баланс, который я когда-либо получал. Общее впечатление - скоростное прохождение, speed-run.
Скачать карту:
https://yadi.sk/d/2uaSImBE3R9fvC

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 13 Jun 2018, 17:10
Сообщение #23

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Дано: "Heroes III".
Надо: нарисовать карту, состоящую из дуг 1/8 окружности.
Среда разработки: MS-DOS, Turbo C, Windows 95; Celeron 333.

Для этого надо нарисовать границу окружности, а потом составить карту из них.
Программа, рассчитывающая границу окружности:
Код
/*   Радиус   */

#include <math.h>
#include <stdio.h>

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 = a / sqrt (2) + 2;   /*   верхняя граница расчетов   */
      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);
}

В результате получается файл, содержащий рассчитанные границы окружностей различных радиусов.
Но окружность получается неровная. После ручной правки получается следующее:
Цитата
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

Скачать заготовки карт 3 - 12: yadi.sk/d/E7Bi8tVh3Xp2e9
Скачать программу для расчёта радиусов: yadi.sk/d/0C1Ga-OX3Xp2zG
Скачать файл с рассчитанными радиусами: yadi.sk/i/rWN_PXeC3Xp39B
Получились такие заготовки карт:



















Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 13 Jun 2018, 18:14 (Сообщение отредактировал t800 - 13 Jun 2018, 18:21)
Сообщение #24

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата
Программа, рассчитывающая границу окружности:


Вообще это ИМХО код, а не программа

ЗЫ Вот чуток подправил чтоб все могли пользоваться через любой онлайн компилятор



см. http://cpp.sh/4pcsf


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 15 Jun 2018, 17:14 (Сообщение отредактировал Lava - 29 Mar 2021, 12:47)
Сообщение #25

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Продолжение того же самого. Ещё 7 заготовок для карт. Скачать:
https://yadi.sk/d/nX9FmDq93XvngR













Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 15 Jun 2018, 20:27
Сообщение #26

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Скачать 7 карт: https://yadi.sk/d/jvBPFjrb3XwBco













Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 21 Jun 2018, 04:53
Сообщение #27

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Кроме того, что я рисую, можно создать кучу модификаций. Перечислю некоторые:
1) Можно рисовать не только по суше, но и по воде. К сожалению, проходимость карты снижается. Вода является дополнительным препятствием. И лодки есть не у всех, к сожалению.
2) Можно рисовать проход шириной не одну клетку, а две или больше. Это резко повышает активность противника, он начинает "бегать" охотнее. Скорость игры повышается, он перестаёт просто сидеть в замке и тупо копить войско.
3) Можно рисовать не один проход спирали, а два (или больше) параллельно. К сожалению, при этом резко возрастает сложность рисования карты, приходится собирать больше информации.
4) Можно рисовать не одну спираль на карте, а несколько, причём с разным расположением.
5) Можно рисовать вообще не спирали, а какие-нибудь другие геометрические фигуры. Естественней всего - квадраты и прямоугольники. Это резко упрощает процесс создания карты. К сожалению, при этом теряется красота и играть становится неинтересно. Становится очевидной ненужность в игре "углов".

Ну и так далее. Модификаций может быть много. Их можно комбинировать.
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 25 Nov 2018, 18:11
Сообщение #28

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Заготовки карт. Две спирали. Стартовые радиусы: от 6 до 20. Ниже дана ссылка на скачивание заготовок.
Я пытался сделать одну спираль. Но что-то у меня не получилось. Если спираль узкая - она накладывается сама на себя. Теряется круглость. Есть сделать её чуть пошире - промежуток между витками становится великоват. Пришлось бросить. Эх, дискретность...

https://yadi.sk/d/_6DKY_sew7iheA











--------------------











--------------------











Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 29 Nov 2018, 19:25
Сообщение #29

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Готовые карты в архиве.
https://yadi.sk/d/HsybZmjfEHrqkA











Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 05 Dec 2018, 11:57
Сообщение #30

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Схемы

Циклические схемы изменения радиусов спирали.

1. Схема 1-1-0.
Период схемы 3. Слишком узкая. Налазит сама на себя, становится тесной.

2. Схема 0-1-1-1.
Период схемы 4. В самый раз, но однообразна. Приходится чертить даже большие карты, заранее зная, где и какие радиусы будут.

3. Схема 0-1-1-1-1.
Период схемы 5. Слишком широкая. Со временем появляются интервалы между витками, а хотелось бы, чтобы витки прилегали друг к другу вплотную.

4. Схема 2-2-1-1-1.
Период схемы 5. Двухспиральная схема.
При рисовании возникают "скачки", которые приходится мысленно компенсировать временным сдвигом в начале очередного круга.
Построены карты с начальными радиусами 6...20. Вполне возможно построить карту с R=30, сем сейчас и занимаюсь. Ожидаемое число городов на карте - 16 (хотелось 24).

5. "Скачкообразная" схема: 0-0-1-2, 0-0-2-1, 0-2-1-0 и т. д. (new!)
Экспериментальная идея на будущее. Период схемы 4, одна спираль. От варианта (2) отличается отсутствием однообразия.
В случае неудачи возможен вариант с периодом 5: 0-0-1-1-2, 0-0-1-2-1 и т. д.
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 19 Dec 2018, 14:19
Сообщение #31

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Карта радиуса 30 на 16 городов. Играется легко и комфортно, по крайней мере до середины. Присутствует Грааль. Приключения вам гарантированы.
Также в архиве имеется заготовка карты, то есть вы можете творить сами свои собственные модификации, а не создавать "с нуля".

https://yadi.sk/d/vAs23K0XKIhVWg

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 09 Mar 2019, 12:06 (Сообщение отредактировал Lava - 29 Mar 2021, 12:49)
Сообщение #32

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Еще раз то же самое. Девять заготовок карт.
https://yadi.sk/d/bJ_3qVt5ilOGhw

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 23 Mar 2019, 03:36
Сообщение #33

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Три готовых карты.
Радиус 7, 10 и 14. На 2, 3 и 5 городов. Размер S.
Скачать архив со скриншотами: yadi.sk/d/EMpgkKen9sPQlA
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 09 Apr 2019, 18:59 (Сообщение отредактировал Lava - 29 Mar 2021, 12:49)
Сообщение #34

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Еще пара новых карт.

Скачать: yadi.sk/d/N0r4HkESVLhhEg

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 19 Apr 2019, 21:08
Сообщение #35

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




То же самое на 4 и 5 игроков.

yadi.sk/d/m5wnbNWjDk2m_w
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 25 Apr 2019, 04:38
Сообщение #36

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Карта на 7 городов.

Скачать: https://yadi.sk/d/IOWlIi_mzibR9Q

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 28 Apr 2019, 07:56
Сообщение #37

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




https://yadi.sk/d/jGQDSNCCiec9gQ
- карта на 9 городов

Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 30 Apr 2019, 16:01
Сообщение #38

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




При рисовании спиралевидных карт я придерживаюсь следующих правил.

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 и так далее.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 26 May 2019, 11:04
Сообщение #39

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Переписал программу для расчета дуг различного радиуса (которые нужны для рисования этих самых дуг на карте "Heroes III").
Вариант под DOS переделал под Windows.

Код
/*   p1
      Язык Visual C++ 6.0
      Консольное приложение
      Радиус   */

#include <math.h>
#include <stdio.h>

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;
}




Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Lava
сообщение 27 May 2019, 17:50
Сообщение #40

Advanced Member
Сообщений: 138
Спасибо сказали: 31 раз




Ещё раз то же самое.
Применяя предыдущую программу, нарисовал заготовки для карт Heroes III.
Эти заготовки надо ещё проверить - нет ли где ошибок, потом посмотреть, чтобы артефакты не перегораживали дорогу (иначе при определенной комбинации карта может стать непроходимой). Задать города и начальные условия.

Скачать заготовки карт: https://yadi.sk/d/NSc86iPLpgXC5g













Go to the top of the pageAdd Nick
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 16 April 2024 - 19:38
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика