Делаю себе генератор, выходит ну более менее…
Сегодня решал проблему с дублированием по 0 координатам, хорошо что решил, правда через очень стрёмную конструкцию с использованием хеширования…
Теперь нужно решить проблему «разрывов», хотя-бы частично…
Вообще интересно, если вы занимались написанием генераторов, какие у вас проблемы или трудности возникали в процессе?
- 03 сентября 2020, 21:22
- 02
Часто проблема была в том, что генератор не решал никакой задачи, которая бы стоила времени, затраченного на его разработку.
Ха-ха, но чаше он всё-же делает какую-то дичь хД
А донастройка - это ещё последние 100% разработки...
Мне теперь больше нравится подходить с обратной стороны - сначала делаешь весь контент вручную, потом решаешь, что должно быть рандомно и делаешь так, а потом смотришь нужно ли что-то ещё зарандомить и т.д.
Что ты подразумеваешь?
Ну вот ты, например, хочешь 1000 уровней. Сделай вручную 5-10 вариаций, возможно, этого уже хватит. А если не хватит, то задай вопрос, что из этого должно быть разным от вариации к вариации, а что пойдёт и одинаковое (ты же, наверное, не No Man's Sky делаешь). Например, одинаковые персонажи и одинаковое положение точки входа, но разные предметы и разные стили тайлсета. В итоге то, что пойдёт и одинаковое, не нуждается в генерации.
Тогда "у меня куча проблем с генерацией игры при отсутствии игры" сменится на "есть игра, она играется, но надо сделать генератор для увеличения её вариативности в определённых аспектах".
Это безусловно верный подход, пожалуй может работать увы не во всех случаях. Хотя ты уже это написал.
А в каких случаях не работает, например?
Вроде не писал такого.
Но писал же!
Я делал очень упрощённый генератор уровней, ибо в математике и логике не особо шарю, потому решил просто расставлять в случайном порядке комнаты как в Айзеке, а потом понял что не смогу вывезти достаточно большого разнообразия комнат (а без этого игра выглядит скучно) и забил.
Кстати в этом подходе есть относительно простой способ разнообразить комнаты, с помощью случайных объектов, декораций. Такие штуки в dungeon of dreadmor использовались.
На википедии очень много статей по генераторам именно по логике, очень советую. я бы дал уроки по Godot для 2D и 3D, коих очень много в инете, но это все специфично для конкретно взятого движка.