| Рандомная генерация мира | 
|  | 
| 
| OlegWock | Дата: Пятница, 11 Июля 2014, 00:34 | Сообщение # 1 |  |   частый гость Сейчас нет на сайте | В последнее время увлекся рандомной генерацией мира, и самое лучшее что я придуал -- это вот такой вот алгоритм (моя карта -- изображение): 1. Создаем изображение засеиваем его серым шумом (я использовал изображение 50х50 пикселей)
 2. Применяем размытие по Гауссу (для 50 пикселей оптимальный радиус радиус был +- 3.5)
 3. Проходимся по каждому пикселю, если его значения ниже определенного значения (я использовал 115) то красим его в синий (вода), иначе -- в зеленый (земля)
 4. Увеличиваем его в 4 раза (до 200х200 пикселей)
 В итоге получалось что-то такое
 
 Количество воды можно регулировать изменяя радиус размытия и "порог вхождения" (см. пункт 3)
 
 UPD: Добавил горы. Все пиксели выше 139 становятся горами.
 
 
 А какие алгоритмы знаете вы?
 Огромная просьба: если пишите код на своем любимом ЯП'е -- переводите его в псевдо-код, проявите уважение к людям, которые его не знают.
 
 
   
 
 Сообщение отредактировал OlegWock - Пятница, 11 Июля 2014, 00:42 |  |  |  |  | 
| 
| Tiendil | Дата: Пятница, 11 Июля 2014, 13:32 | Сообщение # 2 |  |   участник Сейчас нет на сайте | Я предпочитаю не делать прямую случайную генерацию, а моделировать. Делаем модель, после чего задаём случайные параметры и запускаем. Так сделал карту для своей Сказки. Гененратор, кстати, open source. 
 А про генерацию можно тут почитать: http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
 
 Участвовал в разработке Order of War (C++ UI & логика) и WoT (Python портал worldoftanks.ru почти всё :-) )
 
 Текущий проект: the-tale.org - indie mmozpg
 |  |  |  |  | 
| 
| OlegWock | Дата: Пятница, 11 Июля 2014, 18:01 | Сообщение # 3 |  |   частый гость Сейчас нет на сайте | Цитата Tiendil (  ) Гененратор, кстати, open sourceМожно ссылку на гитхаб? Уж больно интересно
   
 
   |  |  |  |  | 
| 
| Tiendil | Дата: Пятница, 11 Июля 2014, 18:06 | Сообщение # 4 |  |   участник Сейчас нет на сайте | https://github.com/Tiendil/deworld 
 Вот результат работы: http://the-tale.org/game/map/
 
 Но документации пока нет.
 
 Участвовал в разработке Order of War (C++ UI & логика) и WoT (Python портал worldoftanks.ru почти всё :-) )
 
 Текущий проект: the-tale.org - indie mmozpg
 |  |  |  |  | 
| 
| OlegWock | Дата: Пятница, 11 Июля 2014, 20:43 | Сообщение # 5 |  |   частый гость Сейчас нет на сайте | Цитата Tiendil (  ) https://github.com/Tiendil/deworld Божечки, оно еще и на питоне, вообще отлично. Спасибо.
 
 
   |  |  |  |  | 
| 
| Tiendil | Дата: Пятница, 11 Июля 2014, 22:15 | Сообщение # 6 |  |   участник Сейчас нет на сайте | Если будут вопросы — обращайся. Я заинтересован, чтобы библиотечкой другие пользовались. 
 Участвовал в разработке Order of War (C++ UI & логика) и WoT (Python портал worldoftanks.ru почти всё :-) )
 
 Текущий проект: the-tale.org - indie mmozpg
 |  |  |  |  | 
| 
| SarcoFuck | Дата: Понедельник, 18 Августа 2014, 13:17 | Сообщение # 7 |  |   был не раз Сейчас нет на сайте | Цитата Tiendil (  ) Я предпочитаю не делать прямую случайную генерацию, а моделировать. Делаем модель, после чего задаём случайные параметры и запускаем. Так сделал карту для своей Сказки. Гененратор, кстати, open source. Поддерживаю - тоже распространял рэндомом обьекты(дэлфя). Только в таких случаях нужно коллизию обьектов обрабатывать обязательно, а то получится черти что)
   
 Здесь скоро появится подпись
 |  |  |  |  | 
| 
| -l33t-h4xx- | Дата: Вторник, 19 Августа 2014, 09:39 | Сообщение # 8 |  |   участник Сейчас нет на сайте | Шум Перлина. 
 Как правильно задавать вопросы
 |  |  |  |  |