Бегущий по лезвию тяпки

11:20 

самоуровнекопание

Antib
Ya! Ya! In his house at New Orlean, undead Lestat waits dreaming.
Пока писал генератор уровня пропустил, что при использовании сгенерированный уровень не будет нуждаться в методах, которые его создавали. Вот тут нашёл простой ответ - разделение уровня и генератора уровня. Снова оказываюсь в положении человека впервые вышедшего интернет - мозги разбегаются. Сейчас у меня реализован всего один тип уровня (зову его "соляные шахты"). Писать на каждый тип уровня генератор - значит на каждый тип нужен свой набор аргументов? Тогда вызов генератора будет напоминать рецепт соуса из 40 ингредиентов.
Вариант: придумать сейчас ещё 2-3 типа уровней, которые генерировались бы схожими по сути параметрами (средний размер комнаты и форма, направления и ветвистость коридоров?), чтобы задавать их и тип уровня строковым параметром.
Или передавать тип уровня классам, которые генерируют комнаты и коридоры...хотя тогда уровни будут по сути одним и тем же.
Сейчас "соляные шахты" это рандомные залы из которых идут ветвящиеся коридоры. Когда коридор встречается с другим коридором и залой он прекращается. Во избежание бесконечной генерации у "шахтёров" есть параметр "выносливость", со времением убывающий. Если устал, так никуда и недокопавшись, то прекращается всё равно. Так получаются развилки и тупики. То есть уровень задуман как нечто, прокопанное наугад и впоследствии брошенное. Не забыть: сделать список финишей тупиков и спавнить там впоследствии мобов.

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

Когда я всё это буду делать.

@темы: Размышлизмы, Питон

URL
Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?
главная