[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1244820022093.jpg -(80кб, 640x480) Показана уменьшенная копия, оригинал по клику.
80 №756  

Анон, как устроен алгоритм генерации подземелий?
Я заметил что там есть блочные части которые состыкованы проходами. Но как выразить это в алгоритме?
Можно взять плоскость и случайно расположить 5-10 блоков.
То как дальше создавать между ними проходы?
Дискас.

>> №808  
Файл: 1244891418742.jpg -(4кб, 256x256) Показана уменьшенная копия, оригинал по клику.
4

бамп.
вот что вышло на первом этапе, анон как быть дальше?
ps для наглядности матрица была переведена в пикчу

>> №811  

луркани QHack http://www.adom.de/misc/qhack.php3 - это типа опенсорсовый проект Бископа (создателя ADOM) на тему - как написать рогалик.

там вообще есть готовый вариант генератора на Ц.

>> №818  
Файл: 1244894940412.gif -(32кб, 607x607) Показана уменьшенная копия, оригинал по клику.
32

>>811
если речь идет об этом (см пик), то алгоритм известен и он не подходит к тому что используется в первой дябле.

>> №819  
Файл: 1244896899691.gif -(26кб, 513x384) Показана уменьшенная копия, оригинал по клику.
26

Тоже однажды задавался этим вопросом.
Придумал связывать комнаты проходами друг с другом по порядку. Нулевую с первой, первую со второй ... последнюю с первой. Так как комнаты раскиданы в пространстве совершенно псевдослучайно, то для пользователя получалось все не столь очевидно. Проходы не могли проходить через другие комнаты, вычислялись как кратчайшие пути по волновому алгоритму. Между собой они пересекаться вполне могли.
Вышло почти годно. Только вот из каждой комнаты всегда было два выхода.
picrelated.

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

>> №824  
Файл: 1244899077140.jpg -(7кб, 256x256) Показана уменьшенная копия, оригинал по клику.
7

избавился от багов. теперь надо заполнить пространство мелкими комнатами и соединить их проходами, логично было бы если из комнаты идет только один выход.

>всегда было два выхода

как я понял это было одно из условий волнового алгоритма

ушел за пивом

>> №827  
Файл: 1244906536723.jpg -(14кб, 256x256) Показана уменьшенная копия, оригинал по клику.
14

пока только доработки

>> №838  
Файл: 1244915865456.jpg -(50кб, 256x256) Показана уменьшенная копия, оригинал по клику.
50
>> №848  
Файл: 1244973458402.jpg -(35кб, 300x302) Показана уменьшенная копия, оригинал по клику.
35

>>838
Я делал следующим методом:
1) Генеришь N комнат, запоминаешь их x,y,size_x,size_y в массив, часть комнат делаются размером 1х1 (чем их будет больше, тем более разветвленные получаться коридоры).
2) В некоторых комнатах случайно отрисовываешь внутренние стены.
3) Обходишь комнаты в цикле, случайно выбираешь количество соединений, стену, позицию и направление. Пытаешься отрисовать коридор, если он пересекается с другой комнатой.
4) Случайно отрисовываешь двери в комнатах.
5) Закрываешь оставшиеся 1x1 комнаты которые ни с кем не соединились.
Получается вполне годно.

>> №849  
Файл: 1244973587265.jpg -(44кб, 300x291) Показана уменьшенная копия, оригинал по клику.
44

>>838
Для пещерок хорош cellular automata.

>> №851  
>5) Закрываешь оставшиеся 1x1 комнаты которые ни с кем не соединились.

схоронил
ОП

>> №854  
Файл: 1244985147334.jpg -(55кб, 256x256) Показана уменьшенная копия, оригинал по клику.
55

уже что то

>> №855  

>>854
Объясни, что там происходит.
848 кун

>> №856  

>>855
где именно? коричневое это генерация коридоров, пока в зародышевом состоянии

>> №857  

>>856
Как они генерятся? И почему не соединяются с комнатами?

>> №858  

>>856
Не пробовал такой способ, со случайной точки копаешь коридор/комнату, рандомно меняешь направление/ответвления? Если задать еще что-то типа плотности породы в точках на карте, то ветвление коридоров получится более правдоподобным. Попробую завтра такой метод.

>> №859  

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

>И почему не соединяются с комнатами?

в зародышевом состоянии

>> №860  
Файл: 1244987015127.jpg -(57кб, 256x256) Показана уменьшенная копия, оригинал по клику.
57

ещё пик

>> №861  
Файл: 1244987104109.jpg -(56кб, 256x256) Показана уменьшенная копия, оригинал по клику.
56

и еще

>> №862  
Файл: 1244988332417.jpg -(50кб, 256x256) Показана уменьшенная копия, оригинал по клику.
50
>> №863  
Файл: 1244988413748.jpg -(52кб, 256x256) Показана уменьшенная копия, оригинал по клику.
52

теперь можно и за пивом

>> №865  
Файл: 1244991175272.jpg -(47кб, 256x256) Показана уменьшенная копия, оригинал по клику.
47

ололо, начинает доставлять

>> №870  

Добавил тред в избранное

>> №871  
Файл: 1244994281812.jpg -(49кб, 256x256) Показана уменьшенная копия, оригинал по клику.
49

дорабатываю

>> №876  

Я нихуя не понял, но выглядит круто.

>> №902  

>>871
А зачем у тебя слепых кишки генерируются? Недоработка или стены будут разрушаемые?

>> №904  

>>902

>слепых кишки

точки белые? это маячки типа грида. в >>871 это просто остатки. да, недоработка.

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

>> №905  

>>871
Можешь описать свой алгоритм в терминах ЛИСП?

>> №906  

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

>> №907  

>>905
неа, я не знаю его. так тред пошагово вроде идет, хоть и с пробелами.

>Слово «lisp» имеет также значение «детский лепет»

ололо

>> №910  
Файл: 1245025373307.jpg -(44кб, 640x480) Показана уменьшенная копия, оригинал по клику.
44

>>871
Коридоров - поменьше, комнат - побольше, не? При такой структуре смычки с комнатами достаточно просто сделать, выбирай случайную стену NSWE, и в заданном направлении отрисовывай коридор пока не пересечешь уже существующий. Соединения м/у коридорами можно попробовать так: Отмечать стартовую и конечную точки, после того как сгенерировал коридоры, перебрать эти точки и так же в случайном направлении пытаться отрисовать коридор пока не получиться соединение. Теоретически проходимость должна быть 100%. Алсо, мой лабиринтик. Сечас думаю как найти несоединенные области для втыкания туда телепортов.

>> №911  

в реальных играх нужно геренить чтобы был вход
и выход и они соеленядись
или чтобы была особая комната с боссом и до ней был проход
не короткий проход

>> №912  

>>911
Автор канонических паст /vg/ детектед.

>> №913  

>>912
это знаменитый упоротый уебок, оседающий на кодаче
не обращай внимания, он всегда такой

>> №916  
Файл: 1245037471701.jpg -(31кб, 640x480) Показана уменьшенная копия, оригинал по клику.
31

Еще вариант, к Диабло уже ну очень близко.

>> №917  

>>916
в диябло есть готовые блоки из которых как из кубиков все лепится
а ваши алгоритмы такойто графон не позволяют лепить

>> №918  

>>917
Согласен не полностью. Какая-то небольшая часть использует готовые шаблоны, но остальное генерируется рандомно.

>> №919  

>>917
Для такого-то графона нужно просто отрисовать/отрендерить нормальное количество тайлов, но оно надо?

>> №920  

>>918
в любом случае до дьябло вам ище думать и думать
а вить есть ище хелгейт лондон

>> №921  

>>919
сделай готябы отдельные тайтлы для углов комнат

>> №924  
Файл: 1245048793779.jpg -(34кб, 640x480) Показана уменьшенная копия, оригинал по клику.
34

>>910
меня пугают результаты рандома, как вот эти мертвые острова не имеющие под собой никакой логики, создавая круговые коридоры
ОП

>> №925  

>>917
так поведай как правильно делать, на то и тред создавал

>> №927  

>>924
Посмотри >>916.
Тут >>910, еще не окончательный алгоритм, я его дорабатываю постепенно.

>> №928  

>>924
С другой стороны, если понапихать ловушек, то будет не так уж и нелогично. "Налево пойдешь..."

>> №929  

>>916
ага, это более реально

>> №930  
Файл: 1245053273189.jpg -(44кб, 640x480) Показана уменьшенная копия, оригинал по клику.
44

Добавил генерацию комнат с разнами стенами, пока что 2 вида.
>>808 кун, ты ушел совсем?

>> №931  

>>930
нет, работа заставляет работать.
как что то будет готово, выложу

>> №932  
Файл: 1245062193404.jpg -(43кб, 640x480) Показана уменьшенная копия, оригинал по клику.
43

Еще один вариант генерации, что-то похожее на руины(развалины).

  • первый перс, класс - Sceleton.

смайл.jpg

>> №933  
Файл: 1245062969380.jpg -(61кб, 256x256) Показана уменьшенная копия, оригинал по клику.
61

слишком много проверок писать надо чтобы с тупиками разобраться

>> №934  

>>933
Из каждой синей точки тяни линию в случайном направлении пока не попадешь в комнату или коридор.
синие точки - 99
стены - 1
коридор/комната - 0

`for(i=0;i<MS;i++)
for(j=0;j<MS;j++)
{

if(map[i][j]==99)
{
dir=random(3);
switch(dir)
{
case 0://влево идем
is_ok=false;
for(n=i;n>0;n--)
if(map[n][j]==0)
{
is_ok=true;//попали куда-то
break;
}
if(is_ok) add_corridor(n,j,i,j);
break;
      (...)
    }
}

}`

ну и так много итераций, либо менять направление пока не соединишься.

>> №935  

>>933
Дополнительно помечай начало кишки тупиком тоже.

>> №940  
Файл: 1245087795338.jpg -(61кб, 256x256) Показана уменьшенная копия, оригинал по клику.
61

борьба идет вот с этими круговыми фейлами.

>> №944  
Файл: 1245090377231.jpg -(48кб, 256x256) Показана уменьшенная копия, оригинал по клику.
48

зацените

>> №946  
Файл: 1245096636162.jpg -(63кб, 256x256) Показана уменьшенная копия, оригинал по клику.
63

вот что у меня сейчас в голове >_<

>> №950  

>>946
Больше похоже на печатную плату, чем на лабиринт.

>> №953  

>>944
Круто.
Но когда же ты наконец объеденишь все это?

Алгоритм >>934 фейлит тем, что не гарантирует тотальной связности. Предлагаю более другой.
Имеем дополнительную карту, куда будем записывать номера областей. Сканируем основную карту. Когда натыкаемся на точку "не стены", не помеченную на карте областей, проходим каким-нибудь волновым алгоритмом доступную из этой точки область, отмечая на карте областей ее порядковым номером. Получаем что-то типа такого:

.0....1111
0000....1.
...0...11.
..000..1..

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

>> №954  

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

>> №961  

>>953
Можно dir менять не рандомно, а обходить по часовой стрелке в цикле, тогда структура на >>944 соединиться 100%, т.к. коридоры занимают максимум пространства, диагональных проходов я там не замечаю. Хотя волновой тоже хорош. Я думаю как его применить для создания закрытых дверей и размещения ключей для этих дверей. Плюс ко всему, несоединенные области могут присутствовать (тот же crawl, например), они соединяются либо телепортами, либо лестницами через уровень вверх/вниз. Но тут тоже придется скорей всего применять что-то похожее на твою схему.

>> №962  
Файл: 1245142874634.jpg -(56кб, 659x851) Показана уменьшенная копия, оригинал по клику.
56

>>954
Переведи, если уж не на русский, то хотя бы на С. Ни хуя не понял.

>> №984  

>>962
вобщем применяеш волновой алгоритм одновременно ко всем комнатам
которые 2 первые соеденятся - между теми делаеш проход
и они считаются после етого 1й комнатой
и так пока все комнаты не обьеденятся
а
уже потом можно наставить дверей ловушек тупиков

>> №990  

>>984>>954
Омич, ты?

>> №991  
Файл: 1245204228981.jpg -(44кб, 640x480) Показана уменьшенная копия, оригинал по клику.
44

Сделал затопления как в >>953. Т.е. каждый замкнутый регион имеет заполнение своей цифрой. Как теперь проще их соединить?

>> №999  
Файл: 1245227566744.jpg -(48кб, 640x480) Показана уменьшенная копия, оригинал по клику.
48

берем алгоритмами генерации подземелий.

>> №1000  
Файл: 1245227609713.jpg -(54кб, 640x480) Показана уменьшенная копия, оригинал по клику.
54

И еще один. Проходимость 100%.

>> №1003  

единственный годный тред в pr. лучи добра всем

>> №1014  

спиздите алгоритм из дварвен фортрес хуле

>> №1039  

>>1014
Тут весь профит в том, что ты сам пытаешься разобраться как работают данные алгоритмы, возможно получиться их как-то усовершенствовать, придумать, что-то новое. А ты говоришь какую-то хуйню. Так что следуй-ка ты нахуй, почтенный омич, заебал ты уже.

>> №1046  
Файл: 1245321589406.jpg -(34кб, 640x480) Показана уменьшенная копия, оригинал по клику.
34

Добавляем горизонтальную симметрию.

>> №1047  
Файл: 1245321772405.jpg -(39кб, 640x480) Показана уменьшенная копия, оригинал по клику.
39

И вертикальную. Такие карты будут генериться в соотношении 1:30. Дальше буду заниматься шаблонами. В Диабло есть такое, точно.

>> №1053  

>>1047
Не забудь исходники выложить, опенсорс же!

>> №1055  

>>1053

Подпиши сначала договор о неразглашении.

>> №1058  
Файл: 1245342359092.jpg -(62кб, 256x256) Показана уменьшенная копия, оригинал по клику.
62

я вернулся!! но не надолго, достала работа
ОП

вот первый этап: пик

>> №1059  
Файл: 1245342440233.jpg -(49кб, 256x256) Показана уменьшенная копия, оригинал по клику.
49

а вот второй этап: пик

найди отличия

>> №1119  
Файл: 1245458001738.jpg -(351кб, 1024x717) Показана уменьшенная копия, оригинал по клику.
351

>>1059 Предлагаю дальнейшее развитие идеи: многоуровненвые пещеры(лабиринты комнат) и чтобы некоторые перекрывались на два этажа меж собою. Кагбе лабиринты типа моровиндских подземных сооружений(кто был тот помнит).

>> №1120  

>>1119
Это очевидно же. Все так и планируется, области которые не соединились между собой можно соединить летницами через уровень выше/ниже, моя карта представляет собой 3-х мерный массив. Но это еще пока рано реализовывать.

>> №1121  

>>1059
Белые точки соединил проходами, не?

>> №1149  

>>1121
верно, но не все

>> №1156  

А потом делаем свою ЭрПеГе на манер UFO. Только с чановскими персонажами...

интерестно тут из геймдева есть кто?

>> №1179  

>>1156 есть
редко и плохо скриптую на торке)

>> №1181  

>>1156
Не совсем РПГ, но рогалик планируется.

>> №1182  
Файл: 1245572039503.jpg -(47кб, 256x256) Показана уменьшенная копия, оригинал по клику.
47

>>1181 говори про себя.

а я мозг на место поставлю и буду продолжать своё творение.

>> №1183  

>>1182
Может стоит убрать загогулины, тупики 1х1, беспорядочно ответвляющиеся от проходов, эстетика же!?

>> №1188  

>>1181
Скажи, анон, что значит: "мозг на место поставлю". И, поделись, что за творение?
Делаю, рогалик, кун

>> №1189  

ITT Программисты Blizzard ищут совета на два-че.

>> №1192  

Бамп! Самый интересный тред помоему. Сам я не программист, но почитать и посмотреть на успехи весьма любопытно.

>> №1194  

>>756 А чо за игруха на картинке:

>> №1195  

>>1194
http://ru.wikipedia.org/wiki/Diablo_(игра)
http://www.youtube.com/watch?v=2m-npGkx2S8

>> №1301  
Файл: 1245778043530.jpg -(81кб, 1600x1200) Показана уменьшенная копия, оригинал по клику.
81

>>1182 Как прогресс? Просто мне скоро в отпуск, боюсь не успею дочитать, по идее это самый винрарный тред в пр!

>> №1314  

>>1301
У меня - стагнация, работы дохуя. Тоже скоро в отпуск, там и буду творить далее же.

Хуевое разрешение картинки-кун

>> №1316  

>>1314
та же фигня
ОП

>> №1416  
Файл: 1246065116306.jpg -(93кб, 500x659) Показана уменьшенная копия, оригинал по клику.
93

>>1316 не проебите тред

>> №1438  

бамп годному треду

>> №1620  

бампуэ

>> №1621  

>>1620
Семен, ты великолепен. Сорцы хочешь же?
Фейкомыло давай уже. На!

>> №1622  

>>1182 За него не отвечу,
>>1047 Мое говно - забирай. Если будешь творить, блджад, отписывайся в этот тред. Ага?

>> №1628  
Файл: 1246643272218.jpg -(49кб, 256x256) Показана уменьшенная копия, оригинал по клику.
49

вдохновение куда то пропало, и желание на нуле. как будет так стазу продолжу.
сорцы? да там их почти и нету, это не движок, это просто мап[х][у] в который пишутся рамка=0, стена=1, комната=2 и тд... и после это мап загнан в файл под видом бмп.

>> №1629  

>>1621
Фейкомыло: [email protected]
Алсо, я не семён, просто тред винрарный.

>> №1657  

люто бешено /r/ сорцы >>1047 и других кодер-кунов, с меня корованиры
[email protected]
пришел-с-нульча

>> №1688  

>>1629
>>1657
Ущло. Самый важный файл map.h, специально скинул туда алгоритмы генерации. До кучи все собирается в 6-м билдере, но адаптировать не сложно.

>> №1694  

>>1688
прищло (сначала не понял, потом оказалось что в спаме)
конпелировать не буду, я не пишу на си, но читаю
спасибо

>> №1747  

http://www.youtube.com/watch?v=YyA_BcHCsYs&feature=related
я просто оставлю
алсо бамп православному треду.

>> №1979  

up

>> №1981  

>>1688 пришшли плз и мне! solncetema"rambler"ru
слоупока - 1119-кун

>> №2027  

>>1981 bump je!!!

>> №2036  

>>1981
Ушло.

>> №2156  

>>1747

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

>> №2206  

>>2156
аналогично
оставивший

>> №2415  

>>2156 бумп

>> №2535  

>>2036 Спасибо, большое! Пришло! Это пиздец, особенно в мап.хуй! Аффтра - ты прикрасин, зачем столько закомментил?
И таки это первая версия - получается зеркальный лабиринт же..

>> №2543  

>>2535
Закомменть create_symmetrical_map, он будет не зеркальный тогда.
Там закомменчено размещение лестниц и сундуков, потому что не продумано еще до конца. Отпуск накрылся, работы дохуя, поэтому продолжение будет не скоро.

>> №2586  

>>2543 аналогично работы кучи мала, да еще и денег надо по кредиту отдавать... такие дела. Немножко разобрался - постараюсь перевести в алгоритм и разобраться еще больше

>> №2737  

Bump.

>> №3099  
>> №3100  
Файл: 1249857205150.jpg -(20кб, 500x500) Показана уменьшенная копия, оригинал по клику.
20
>> №3106  

тред бестолковый,
написан дебилами
инфа 100%

>> №3551  

>>3106 bump, таки дебилами для дебилов - ты то здесь чего забыл не дебил ты наш лиспючий? А вот однажды мне встретился говнорок похожий на лиспеныша. Дело было ночью. Я с наслаждением совершил анальную казнь

>> №3552  
>Я с наслаждением совершил анальную казнь

балмер, ты штоле?

>> №3655  

>>3552Когда я куплю себе пистолет
и оформлю разрешение на его ношение
личные проблемы сойдут на нет
я начну менять общественное мнение

>> №3661  

BUUU~

>> №3911  

up



Удалить пост []
Пароль
[d / dg / ad / pr / ph] - [au / b / bg / bo / c / di / ew / f / fa / fi / fl / hr / ja / me / mo / mu / n / ne / o / p / pa / r / re / s / sp / t / td / tr / tv / vg / w / wh / wm / wp] - [a / aa / fd / k / m / ma] - [fg / g / gg / h / ho / ls / u / y] - [Главная]