Четверг, 28 Марта 2024, 19:47

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Общие обсуждения программистов » Рандомная генерация мира (Ваши варианты?)
Рандомная генерация мира
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

Можно ссылку на гитхаб? Уж больно интересно happy


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.

Поддерживаю - тоже распространял рэндомом обьекты(дэлфя). Только в таких случаях нужно коллизию обьектов обрабатывать обязательно, а то получится черти что) wink


Здесь скоро появится подпись
-l33t-h4xx-Дата: Вторник, 19 Августа 2014, 09:39 | Сообщение # 8
участник
Сейчас нет на сайте
Шум Перлина.

Как правильно задавать вопросы
Форум игроделов » Программирование » Общие обсуждения программистов » Рандомная генерация мира (Ваши варианты?)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг