Пятница, 19 Апреля 2024, 15:40

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Генерация уровня (Генерация уровня в одной плоскости с повторением.)
Генерация уровня
TelloДата: Вторник, 12 Сентября 2017, 09:40 | Сообщение # 1
был не раз
Сейчас нет на сайте
Здравствуйте. Хотел по интересоваться у опытных людей.
Задался вопросом генерации уровня. А если точнее то хотелось бы иметь базу со сгенерироваными кодами по которым происходила бы генерация самого уровня.
И встал вопрос если уровень генерируется с использованием случайных переменных то возможности повторить результат даже при одинаковых входных данных очень мал. Я понимаю будут правила которые заставят туннели правильно объединятся или создавать тупики. Но только одних правил боюсь будет недостаточно.
В принципе уже несколько дней смотрю подобную информацию. С самой генерацией все более менее ясно а вот с механизмом сохранения результата еще не встречал тем. Единственное что нашел в данной области это предуприждение о том что генератор случайных чисел придется делать свой. Если кому тема знакома был бы рад если бы кто поделился советом что нужно предусмотреть заранее!


[|]) ([]) [|\|] ([]) T E [|_ [|_ ([])
martukДата: Вторник, 12 Сентября 2017, 09:51 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Можно реализовать систему как, например, в minecraft. Подключается библиотека генерации (условно) случайных чисел в возможностью указать в начале "Семя", от чего генератор будет отталкиваться. А дальше уже чисто ваша логика. Если вам понравился результат, то просто сохраняем начальное семя, обычно это какое-то число. Сам так делал не раз, довольно универсальный прием.
TelloДата: Вторник, 12 Сентября 2017, 13:37 | Сообщение # 3
был не раз
Сейчас нет на сайте
Ну логика в принципе понятна. Тогда вопрос о семени. Например для моего случая мне нужна база с кодами уровней но например мне нужно их отсортировать по сложности или например по типу. Пусть это будут например пещеры изо льда и пещеры из камня. Мне получается нужно в семени первым символом определять его тип. Хотя с типом пещер пример не корректен так как тип я могу менять просто применяя разный набор текстур. А вот если говорить про сложность или размер. Ну хотя размер допустим будем определять первыми 4 символами а вот сложность можно будет запрограммировать через семя не касаясь самого генератора случайных чисел ? Если пользоваться какой то сторонней библиотекой.

ps: Под сложностью я подразумеваю витиеватость и количество тупиков например.


[|]) ([]) [|\|] ([]) T E [|_ [|_ ([])

Сообщение отредактировал Tello - Вторник, 12 Сентября 2017, 13:39
VostruginДата: Вторник, 12 Сентября 2017, 14:09 | Сообщение # 4
постоянный участник
Сейчас нет на сайте
Цитата Tello ()
ps: Под сложностью я подразумеваю витиеватость и количество тупиков например.

Значит у этого параметра должно быть числовое выражение. Генерируете уровень, проверяете "витиеватость и количество тупиков", сохраняете в отдельный файл данные вида: seed | cave_dif (числовое выражение сложности). Когда нагенерите нужное кол-во пещер, то программно отсортируйте ваш файл, удалив в нём всё, кроме сидов.




TelloДата: Вторник, 12 Сентября 2017, 15:30 | Сообщение # 5
был не раз
Сейчас нет на сайте
Ой извиняюсь. Мыслями ушел куда то. Генератор то нужен только для определения следующего элемента а шансы выпадения нужных элементов пещеры(если говорить о витиеватости) я могу определить заранее. Всем спасибо надеюсь больше проблем не возникнет.

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


[|]) ([]) [|\|] ([]) T E [|_ [|_ ([])
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unreal Engine » Генерация уровня (Генерация уровня в одной плоскости с повторением.)
  • Страница 1 из 1
  • 1
Поиск:

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