[Ответить в тред] Ответить в тред

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 67 | 10 | 28
Назад Вниз Каталог Обновить

Генерация карты Аноним 08/09/16 Чтв 00:18:38  299105  
(48Кб, 562x350)
(169Кб, 500x500)
(85Кб, 800x422)
(31Кб, 708x441)
Пилю стратегию и встал вопрос генерации карты. Условия такие:

1) Карта состоит из квадратов.
2) Карта представлена двухмерным массивом.
3) Квадраты могут быть водой, землёй или горами (пока хватит этого).
4) Вся сгенерированная суша делится на регионы - неправильной формы скопление квадратов. Допустим, маленький остров - это один регион, большой остров может состоять из двух регионов, в материке их десяток и так далее. Пример - карта США (последний пик). Цветами выделены регионы, штаты - это квадраты.

Самым очевидным решением было генерировать отдельно регионы, стыковать их и получать на выходе карту, но я пока не придумал оптимального алгоритма генерации. Пробовал такие варианты:

- Рисовать крест рандомного размера, а потом снижать/повышать на случайное число высоту столбцов от вертикального столбика креста. Получилась расчёска.

- Указать шаг и максимальную высоту, Поднимать вверх и вниз столбцы (по количеству шага) до высоты, потом снижать. Получился ромб.

Первые три пика - годные карты, которые хотелось бы получить. Кроме того, нашёл годный сервис генерации - http://topps.diku.dk/torbenm/maps.msp Хотелось бы такого. Какие алгоритмы генерации карт можно использовать?
Аноним 08/09/16 Чтв 02:51:08  299119
(0Кб, 118x86)
(0Кб, 118x86)
>>299105 (OP)
Немношко подумав, я придумал тупую, но более-менее рабочую идею. И так первым делом нужно поставить опорные точки(черный), дальше нужно расширить их территории но в не такой интенсивности(бордовый), а после можно еще добавить один шаг(или больше) и еще расширить их территорию уже в меньшей интенсивности(красный). Основная проблема здесь в генерации координат новых точек меньшей интенсивности чем опорная и расположения их как можно ближе к опорной(эта тема была затронута в каком-то учебнике по алгоритмах, и такая тема очень часто встречается в учебниках по теорвере и тому подобной эболы(мне лень сейчас искать конкретные примеры, но они есть)). Кстати, если вот здесь http://topps.diku.dk/torbenm/maps.msp в Contour lines поставить Every 5 можно посмотреть на сам процесс, а если еще и уменьшить зум, например поставить 0.1 в поле Zoom, то можно уже отчетливо увидеть, что на сервисе в генерации участвуют сотни(или больше) эллипсов при пересечении их возникает высота, но это уже немного другой метод в отличии от того, что описал я. Мой метод проще использовать для карт из массивам квадратных провинций, а метод на этом сайте лучше подходит для более нерегулярных карт. Пики показывают примерный результат работы для горного хребта и пары островов.
Аноним 08/09/16 Чтв 06:09:22  299124
Какой же ты ленивый пидор.

http://pavel.space/page/384/world_gen.htm#
Аноним 08/09/16 Чтв 06:20:27  299128
Поищи фрактальные алгоритмы генерации островов. Существует как минимум два варианта, которые можно попробовать адаптировать для квадратных тайлов.
1. Генерируем случайную карту высот, потом пересекаем плоскостью. Карта высот генерируется примерно так: берётся сетка на плоскости с крупной ячейкой. Каждый из узлов смещается вверх или вниз на случайную величину. Потом сетку делают более мелкой и процес повторяют (на каждом шаге величина случайного смещения всё меньше и меньше). Вот классический алгоритм. https://en.wikipedia.org/wiki/Diamond-square_algorithm Чтобы получить очертания - пересекаешь сетку плоскостью.
2. Сразу генерируем случайные очертания. Начинаем с какой-то фигуры (можно с точки). На каждом шаге делим каждый отрезок фигуры пополам, и центр смещаем в случайном направлении на случайное расстояние (опять же, с каждым шагом оно делается всё меньше). Повторяем несколько раз. Более простой вариант - на каждом шаге каждый отрезок заменять фигурой-генератором, случайно выбранной из набора.

Дальше эту хуергу надо как-то адаптировать для квадратных тайлов. С картой высот это несложно, там уже есть квадратная сетка. Со случайными очертаниями сложнее, но тоже можно что-нибудь придумать.

В принципе, можешь попробовать почитать что-ниудь про фракталы. Начать можно с Fractal Geometry of Nature Мандельброта. Она трудно читается (фрактальщики - сами по себе люди ебанутые), но объясняет основные принципы построения фракталов.

Собственно, принципа в нашем случае два основных:
1. Начинаешь с крупного масштаба и крупных деталей, постепенно генерируешь детали всё мельче и мельче.
2. Смещение центральной точки или замена элемента генератором. На каждом шаге выбирается отдельный элемент фигуры и с ним что-то делается. Например, выбирается его центр и смещается. Или весь элемент заменяется фигурой-генератором. В итоге получается фигура с бОльшим количеством более мелких элементов.
Аноним 08/09/16 Чтв 07:32:26  299136
(206Кб, 1280x960)
А можно ли генерировать карты для 3д шутера? Например, карта как в сталкере, но полностью сгенерированная
Аноним 08/09/16 Чтв 07:42:33  299139
>>299136
Можно конечно
без сарказма
Аноним 08/09/16 Чтв 07:44:15  299140
>>299136
Можно, только сначала надо ИИ доделать.
Аноним 08/09/16 Чтв 07:55:34  299141
>>299140
А нахера кому-то генерация карты в шутере сдалась? Даже авторы NMS в этом плане обосраться успели
Аноним 08/09/16 Чтв 08:40:33  299146
>>299141
>А нахера кому-то генерация карты в шутере сдалась?
Мне. Хочу сделать FPS-рогалик. Пустая ниша. Деньги сами потекут мне в карманы.
Аноним 08/09/16 Чтв 08:42:06  299147
>>299139
А есть алгоритмы?
Аноним 08/09/16 Чтв 10:16:55  299148
>>299146
Ну, теоретически можно сделать много разных заготовок - комнаты, дома, поля, леса, пещеры - и потом их рандомно мешать.
Аноним 08/09/16 Чтв 12:21:11  299166
Простые способы:
1. Накидываешь рандомные круги на карту. Каждый круг добавляет сколько-то метров над уровнем нуля.
2. Рандомно добавляешь на карту тайлы гор, суши и воды. Потом проходишь клеточным автоматом раз пять-шесть. Из недостатков - сложно контролировать количество суши.
>>299136
Очень сложно, не осилишь.
>>299148
Город, пещеры и дома можно генерировать. Сам-то процесс генерации геометрии не сложный, тут вопрос в том, чтобы в это интересно играть было. Поэтому все шутеророгалики либо двумерны либо собирают уровень из заготовок.
Аноним 08/09/16 Чтв 12:46:22  299169
>>299166
>Очень сложно, не осилишь.
Пока просто хотелось узнать, есть ли природе игры генерирующие такой уровень деталей?
Аноним 08/09/16 Чтв 14:07:34  299181
>>299166
>собирают уровень из заготовок
зис

В любом случае всегда получится говно. Случайная генерация не подходит для некоторых вещей. Совсем.
Аноним 08/09/16 Чтв 16:00:52  299204
>>299169
Ну вот была в своё время такая игра - Х-СОМ, самый первый ещё, в 1994 году. Там были пошаговые бои на псевдо 3д карте. Карта плоская, но с несколькими уровнями, что имитировало 3д. Вот там как раз была такая штука. Уровни собирались из заготовок. Если город - то заготовки парков, домов, магазинов, дорог, ангаров. Если деревня - то поля, сараи, домики, сады. Ну и плюс упавшие НЛО. Если база пришельцев - то какие-то блоки с пыточными камерами, генераторами и непонятными девайсами. Ну и ещё много всяких вариантов - лес, ледники, пустыни (самые удобные миссии, кроме как в НЛО нигде не мог пришелец спрятаться), свои базы. Вполне годно создавалось впечатление рандомных локаций. Думаю это твой вариант.
Аноним 08/09/16 Чтв 18:53:56  299234
>>299105 (OP)
вторая пикча из доки, где как раз очень толковый рандомный генератор континентов описан, результатом работы которого эта пикча и является http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/
Аноним 08/09/16 Чтв 18:55:08  299236
>>299234
демка на флеше:
http://www-cs-students.stanford.edu/~amitp/game-programming/polygon-map-generation/demo.html
Аноним 08/09/16 Чтв 19:11:53  299239
>>299204
>кажется дикостью ситуация когда кто-то кому-то объясняет что такое Х-СОМ
Неужели я такой старый.
Аноним 08/09/16 Чтв 20:46:48  299248
>>299239
игре 22 года, некоторые ещё не родились в её рассвет.
Аноним 09/09/16 Птн 10:54:01  299305
>>299248
А некоторые вместо играли в хероесов и варик, стреляли в херетика и дюка и вообще вели беспорядочный половой образ жизни. Не всем заходят тактикулы, пускай даже кто-то вскукарекнул про хит. Мне и джага не зашла тогда. За всю жизнь я только в тактикс смог играть, да и то потому, что фолач и я до самого конца надеялся на что-то ролевое.
Аноним 09/09/16 Птн 11:34:57  299312
(60Кб, 604x462)
>>299305
А некоторые вообще комплюхтера не нюхали
Аноним 09/09/16 Птн 12:30:59  299324
>>299305
Ну хз, у меня на всё тобою перечисленное, кроме джаги и половой жизни, время нашлось.
Аноним 09/09/16 Птн 12:36:57  299325
>>299305
Просто ты тупой. Тактикс ему зашел, все что нужно о тебе знать - все узнали.
Аноним 09/09/16 Птн 12:41:05  299326
>>299312
Так не бывает. У меня комплюктера долго не было мамка не покупала, но удалось поиграть почти во все игры второй половины 90х - начала 00х у друзей и на уроках информатики, молчу про компьютерные клубы.
Аноним 09/09/16 Птн 13:47:52  299330
>>299326
>Так не бывает
Бывает

>у друзей
У друзей в лучшем случае есть денди, в худшем случае они сами приходят к тебе поиграть

>на уроках информатики
Советская НЕХ с черно-белым экраном. Самая йоба-игра была dangerous dave

>компьютерные клубы
В клубах в которые я ходил были только сосони. Пеки контер страйком завезли уже далеко после нулевых, когда я уже хикковал
Аноним 09/09/16 Птн 13:48:17  299331
>>299326
Дрочую вот этого. Приставки и компьютерные клубы как раз и были основным источником экспириенса. Аж пока на свой компуктер сам не заработал. Одно время помню даже что на компьютерах играть было дешевле, пушо в тренде были приставки. Вот я и ходил в героев погонять, пока остальные друзья резались в унылый теккен и прочие твистед металы.

>>299325
>он не любит то что я люблю, мааам, ну скажи ему
Аноним 09/09/16 Птн 14:03:25  299332
>>299330
Не знаю в какой деревне ты рос, если даже при Ельцине в моем мухосранске все с пекарнями было нормально.
Аноним 09/09/16 Птн 14:43:57  299337
>>299332
Просто ты школьник.
Аноним 09/09/16 Птн 14:54:35  299338
(11Кб, 184x184)
> я альтфажнее!
> нет я альтфажнее!
по приведённым спискам игорей старомодным джентельменам либо не более 25, либо перечисление распиаренного сейчас говна хороших игр, на самом деле
а всё томушо умненькие студенты 90х себе интернет нарыли и играли в позабытую годноту, а
> екском который ещё назывался повсеместно УФО хотя это совсем другая егра
> хероесы
> херетик
> дюк
это было на общедоступных дисках, по рукам ходили они. вы б ещё цивку вспомнили
Аноним 09/09/16 Птн 14:57:43  299339
>>299338
Сорта говна. Нормальные ребята играли на консолях как тогда, так и сейчас
Аноним 09/09/16 Птн 14:59:10  299340
>>299339
> играли на приставках
> играли на пинтиуме джва
сорта говна
Аноним 09/09/16 Птн 15:17:39  299342
>>299338
>на общедоступных дисках
Без общедоступных компьютеров, лол. Из моего детства комп был только у мамки на работе и у друга мажора. Не имея постоянного доступа к компу очень сложно полюбить игори-долгоигровки когда есть максимум два часа времени в день, и то не всегда.
Аноним 09/09/16 Птн 15:19:38  299343
>>299338
Ну хз, х-ком вкупе с вариком, первыми героями, дюной 2, дюком и думом - были то, чем компы отличались от дендей и прочего шлака. До перечисленного игры на компах тоже были, но они как-то мало отличались от приставочных. Ну или мне не попадались.
Аноним 09/09/16 Птн 15:23:50  299345
>>299343
> они как-то мало отличались от приставочных
Главное отличие было в том что на пекарне изобрели О БОЖЕ МОЙ сохранение егры, что совершенно основательно располагало к отношению не "пайти шоль в МК ебало набить" а "так, сейчас навесим на мех два пулемета и брони чтобы не много и не мало и ещё на следующую миссию останется" или "а, это же тот чел из первой главы которого я встретил месяц назад"
Аноним 09/09/16 Птн 15:25:39  299346
>>299345
>сохранение егры
>посадили не за тот компьютер, на котором играл в прошлый раз
>(((
Аноним 09/09/16 Птн 15:27:44  299347
>>299346
жиза
но мне свезло, родаки ещё в 4 года комп купили, всем двором ходили пострелять в doom2d и сука так загонно выходило, пвп там было не хуже чем в современном тф2
Аноним 09/09/16 Птн 15:30:53  299348
и кстати карты собирались из кусочков вроде только в екском2, в первом были заранее наготовленные, впрочем может я ошибаюсь и так совпало что на моей памяти попадались одинаковые карты
Аноним 09/09/16 Птн 15:45:23  299349
>>299343
>х-ком вкупе с вариком, первыми героями, дюной 2, дюком и думом - были то, чем компы отличались от дендей и прочего шлака.
>все перечисленные игры вышли на консолях
Вся суть школопекарей.
Аноним 09/09/16 Птн 15:51:29  299352
>>299348
>в первом были заранее наготовленные
Нет, там тоже было из кусочков. Кусочки бывали большие, вот тебе и казалось что попадались одинаковые карты. Одинаковые были вроде в уфо aftermath
Аноним 09/09/16 Птн 15:52:02  299353
>>299349
ай не пизди, на консолях они были неиграбельны по большей части. погоняй ка нюка на н64, посмотрю на тебя
Аноним 09/09/16 Птн 15:55:23  299355
>>299349
Я пробовал гонять в варик на соньке. Говно, неудобно. А еще он какой то кривой был на сонсоли. С дюной походу та же фигня, не зря стратегии на сонсолях вовсе перестали выпускать.
Аноним 09/09/16 Птн 15:58:51  299358
>>299355
Я в своё время первый и второй Ред Алерты на соньке прошёл(с мышкой, естественно). Отлично зашли и всё удобно было.
Аноним 09/09/16 Птн 16:01:19  299359
>>299353
>на консолях они были неиграбельны по большей части
Да что ты говоришь, дюна 2 у него на сеге не играбельна блядь.

>на н64
Давай еще в пиратские порт гта5 на денди поиграем. Шутаны были нормально портированы на плойку

>ПЛОЙКА ЭТО УЖЕ СОВРЕМЕННАЯ ПРИСТАВКА КУДАХ ШКОЛЬНИК КУКАРЕКУ
Вышла в конце 94 когда ты еще не родился.
Аноним 09/09/16 Птн 16:09:33  299362
>>299355
>не зря стратегии на сонсолях вовсе перестали выпускать.
Вот не надо пиздеть, например на пс4 есть Тропико 5, Х-СОМ 2, industry giant (!) и еще куча всякой хуйни.
Аноним 09/09/16 Птн 16:14:36  299363
>>299358
>на соньке
>с мышкой
В игровых клубах не было мышек для соньки. Таки дела.
>вот не надо пиздеть
А посвежее ничо нет?
Аноним 09/09/16 Птн 16:42:11  299366
>>299359
дюно спасало полное отсутствие альтернатив на платформе. н64 это консоль, а не адруиноподелие, соси хуй, криворукий дуалшокер. квака на соньке с мышкой была играбельна, с пада - нет. плойка старое говно, чини детектор
>>299362
наконсолях есть ТРПГ и прочие тактики. И МОЖ ВЫ МНЕ ПОСОВЕТУЕТЕ ДВИГЛО ДЛЯ ТРПГ???
Аноним 09/09/16 Птн 16:50:25  299370
>>299366
Дюну нормально портировали, даун, хотя хуле спорить с дауненком который не играл в пк версию где во время баталий приходилось безумно дрочить мышь благодаря феерической системе отдачи приказов. Музыку сеговской версии до сих пор хорошо помню, если ты тоже вряд ли слышал, тупой школьник.
Аноним 09/09/16 Птн 17:12:04  299374
>>299370
вот ты ебанат, дядя, гейпад на дюне разъёбывал крестовину быстрее умк3. о чём с тобой спорить, если тебе РТС в порте на 16бит удобней, ты просто туп и НЕИГРАБЕЛЕН. рекомендую тебе насосаться мыла, ибо я помню первые выпуски великого дракона (тогда журнал денди), супонева со стиплером и турока я гамал на н64
Аноним 09/09/16 Птн 17:17:05  299375
>>299374
Пизда твоей мамки быстро разъебывается. Найди на сеге игру которая не использует крестовину, тупой еблан. Я помню журнал Денди новая реальность, а денди от стиплера у меня стояла перед телевизором когда ты еще мамкину сиську насасывал.
Аноним 09/09/16 Птн 17:22:51  299376
>>299375
теперь я понимаю, что такое "уровень gd"
соси хуй, ретрофутурист
Аноним 09/09/16 Птн 17:33:28  299377
>>299376
Слив защитан, иди хоть в дотане компенсируй свою ущербность.
Аноним 09/09/16 Птн 17:58:33  299382
>>299377
пиздец ты ущербный, мне под 30 уже, сам в это говно играй, любитель дюны2 на смд2
Аноним 09/09/16 Птн 18:44:26  299389
>>299147
Есть гугол в помощь
Аноним 09/09/16 Птн 18:46:28  299390
>>299105 (OP)
https://habrahabr.ru/post/276251/
держи, мне помогло
Аноним 09/09/16 Птн 21:45:10  299406
>>299382
Съебите в вг, утята престарелые, не засирайте тред.
Аноним 17/09/16 Суб 21:55:27  300855
>>299105 (OP)
> Условия такие:
> примеры на пиках
Мудацкий диздок, на половине пиков ни одного квадрата.

Генерируй сначала континенты/океаны/моря, потом реки, между ними и в истоках - горы. Где горы близко не встали, там можно пару озёр нарисовать, если надо для геймплея.

Вариант2 - воксельный: генерируй пангею, на ней генерируй трещины, отправляй материки ездить по восьмигранникам. Где плиты сошлись-разошлись - там горы, вулканы, острова. Между горами реки текут вниз, скапливаясь в океанах и озёрах. Где в регионе никогда не было прибрежной воды, там не формируются осадочные породы, отсутствуют водоносные слои. Где воды нет вообще получается пустыня. Где воды мало при индустриализации станет меньше и вся экология может идти по пизде.

Сахара например - антропогенная пустыня, активно начала распространяться при вторжении арабов в северную африку. Арал пересох при вторжении чурок в РИ, после чего советские мудаки стали сочинять байки что мол "ещё при царе предсказывали что всё высохнет".
Аноним 01/11/16 Втр 22:24:58  307062
>>299105 (OP)
2 пик - диаграмма Вороного, взят из статьи по генерации таких карт
3 пик - просто квадраты в раномном порядке, 1 пик, видимо, тоже
4 - тут явно не комп. генерация

Вариантов не особо много. Кроме квадратов и Вороного часто применяется шум Перлина, хотя я хз насколько хорошо он для плоских карт подходит.
Аноним 03/11/16 Чтв 16:36:14  307398
>>300855
>Вариант2 - воксельный: генерируй пангею, на ней генерируй трещины, отправляй материки ездить по восьмигранникам. Где плиты сошлись-разошлись - там горы, вулканы, острова. Между горами реки текут вниз, скапливаясь в океанах и озёрах. Где в регионе никогда не было прибрежной воды, там не формируются осадочные породы, отсутствуют водоносные слои. Где воды нет вообще получается пустыня. Где воды мало при индустриализации станет меньше и вся экология может идти по пизде.

Toady, залогинься.
Аноним 04/11/16 Птн 06:16:26  307489
>>307398
При чём тут дварфопараша? Это только генератор карты.

Причём с одной стороны не слишком сложный, с другой стороны завлекательный для пользователей, потому что "кококок мы делаем как в ИРЛ геолохия ё".

И его можно развивать. Надо сделать ресурсы - вставляешь в цикл генерации осадочное золото в истоках рек у ледников, тяжёлые элементы в потухших вулканах и опускаешь их глубже на сантиметр в год.

Заодно и то, что баланс карты будет в жопе, алгоритмом прекрасно оправдывается.
Аноним 04/11/16 Птн 07:27:30  307499
Unity 2015-03-1[...].jpg (168Кб, 1544x972)
Unity 2015-04-1[...].jpg (167Кб, 1648x986)
9733oradiginal.png (513Кб, 1682x1013)
>>299105 (OP)
собственно, используй вороного. с ним можно и регионы сделать довольно легко через клеточные автоматы. вручную сделанные локации можно например делать из заготовок в центрах фрагментов карты. я делал похожее на вторую картинку, но для шутана. (до сих пор делаю)
было гораздо лучше чем шум, плюс клеточный автомат.
Аноним 04/11/16 Птн 12:19:16  307529
>>299105 (OP)
тебе нужно курить шумы и облака. там формула есть от икс и зед.
Аноним 04/11/16 Птн 16:00:52  307580
некротред же
Аноним 04/11/16 Птн 20:05:12  307605
>>307580
Тащемта, тема актуальна
Аноним 06/11/16 Вск 20:38:51  308033
Снимок.PNG (135Кб, 1291x750)
Аноним 09/11/16 Срд 02:10:34  308620
Planetia1.png (328Кб, 1280x1024)
>>308033
бампс
Аноним 09/11/16 Срд 08:06:47  308640
Perlin.png (81Кб, 919x749)
>>299105 (OP)

Оп, ответили уже? Истово соболезную тебе, если решение всё ещё не найдено. Сам очень долго решал подобную проблему, если нужно, могу поделиться кривокодом на паскале.

Для генерации природного ландшафта используют шумы перлина, и точность алгоритма не суть важна! Важно что ты смешиваешь заранее известную таблицу рандомных чисел с только что сгенерированными, а уж как ты смешаешь - твоё дело, вариаций куча. Держи схемку, задавай вопросы
И да, если есть место, хотел бы вписаться поделать твою игру просто за идею.

Наиболее внятно твоя проблема расписана здесь.
https://habrahabr.ru/post/265775/
Аноним 09/11/16 Срд 08:51:19  308647
Perlin2.png (57Кб, 772x1144)
>>299105 (OP)
>>308640

И да, прочитал внимательней оп-пост. Вот твои дальнейшие действия насчёт штатов.
Аноним 09/11/16 Срд 14:13:35  308676
>>299339
Иди нахуй, говно твои консоли (и твоя мамка, кстати, тоже)

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 67 | 10 | 28
Назад Вверх Каталог Обновить

Топ тредов
Избранное