Войти
ПрограммированиеФорумОбщее

Процедурная генерация карты (часть 1) (комментарии) (2 стр)

Страницы: 1 2 3 Следующая »
#15
8:11, 14 ноя. 2013

KpeHDeJIb
Почему не участвуем-с? http://www.gamedev.ru/flame/forum/?id=180947


#16
8:58, 14 ноя. 2013

KpeHDeJIb
> Наворовал тут спрайтов и попробовал прикрутить к алгоритму, получилось такое
о! так уже можно делать Сокобан!

#17
10:49, 14 ноя. 2013

Роман Шувалов
> Почему не участвуем-с?
Да интересу нету, я посидел покрутил, посмотрел что можно впихнуть в 64к и нравится мне ли это, да и как-то понял что лучше дальше пет пилить :)

#18
11:11, 14 ноя. 2013

KpeHDeJIb
Ну ок, а то у нас там кроме Перлина и ячеистых текстур ничего интересного вроде нет, фишка с комнатами даже в 2D могла бы выстрелить. Возможно.

#19
15:25, 14 ноя. 2013

Wieiner-
> KpeHDeJIb
> > Наворовал тут спрайтов и попробовал прикрутить к алгоритму, получилось такое
> о! так уже можно делать Сокобан!
Да, мне тоже классический уровень Сокобана померещился :)

#20
1:39, 15 ноя. 2013

чуваки
я попробовал в 3д - форма префабов может быть разной
что скажете про это - линкуется по порталам
чем больше префабов тем меньше тайлинхх и тем интереснее само собой

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

порталы врезаются через CSG - всё в редакторе

пока не доделал

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры
#21
20:24, 24 ноя. 2013

я без *А добился того же результата, достаточно между ближайшими комнатами связь сделать сделать простым углом.

#22
21:30, 24 ноя. 2013

foxes
> между ближайшими комнатами
Лишние действия, решаются как раз с помощью A*, позволяя искать ему через уже размещенные пространства либо другие коридоры (кстати, как ты это решаешь "обычными углами"?).

В общем и целом реализация A* занимает строк 50 кода, поэтому не вижу смысла искать другие способы решения проблемы, тем более менее оптимальные.

#23
22:54, 24 ноя. 2013

KpeHDeJIb
> кстати, как ты это решаешь "обычными углами"?
От центра одной комнаты до центра другой строю горизонтальный проход по координате x (x1-x2) потом по y (y1-y2) или наоборот.
По скорости не скажу не заморачивался, а вот код весь влез в экран. Из алгоритма генерации клеток можно использовать быстрый поиск соседних комнат. К тому же достаточно чтобы комнаты просто были все соединены по цепочке, поэтому можно обойтись простым соединением центра предыдущей со следующей комнатой по последовательности их генерации.
Если мне ктонибудь подскажет как тут найти свои закачанные файлы я реализацию могу выложить кокраз 4 месяца назад это делал

#24
23:00, 24 ноя. 2013

вспомнил http://www.panteleymonov.ru/files/forWOJ.rar - за 2 часа помню собрал.

#25
23:51, 24 ноя. 2013

foxes
> От центра одной комнаты до центра другой строю горизонтальный проход по
> координате x (x1-x2) потом по y (y1-y2) или наоборот.
Вопрос о том чтобы ходы проходили по уже существующим коридорам, как углами делать вроде бы очевидно. Т.е. скажем Т-образный перекресток сделать, уже надо городить какие-то конструкции с эвристикой, в то время как в А* это органично ложится через стоимость прохода по клеткам.

#26
23:58, 24 ноя. 2013

KpeHDeJIb
> Т.е. скажем Т-образный перекресток сделать уже надо городить какие-то конструкции с эвристикой
неа, сгенерится сам! если у тебя сгенеряться три комнаты первая и последняя например будут на одной горизонтали то и Т коридор может сгенерится если оба угла будут строится сначало по X.

Если же хочется заложить саму логику генерирования Т коридоров, и прочьего, то я думаю это излишне, когда можно обойтись простыми фильтрами - например убрать лишние перегородки. Тем более, как на твоем примере, если комнат слишком много, так что практически часть из них соединяется за счет близкого расположения, то тут разницы сильной будет не видно просто ли они соединены подряд или с A*. Я думаю если разницы не видно зачем платить больше.

#27
22:57, 17 дек. 2013

Слушай, а можешь мне помочь написать этот же код, только для C# ?

#28
16:31, 28 дек. 2013

GodRus
А в чем проблема?

#29
20:48, 29 дек. 2013

я такую штуку через рекурсивную заливку делал:

команату а и все доступные из нее коридоры и комнаты заливал одним цветом, б соотвественно другим - дальше было понятно куда долбить коридор:
из рандомной точки начинал его постройку до тех пор пока не встречался с заливкой б или незалитой проходимой местностью - соотвественно было либо прекрашение долбления либо повторная заливка а и поиск новой рандомной точки для нового коридора

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.