я вообще то серьезно "interesting game." "this game is really great! ..." и тп, я не знаю может мой инглиш еще более убог чем я думал но вроде хорошие коменты....
Два коммента из семи, остальные не очень приятные. Не думаю, что это очень хороший результат. Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinant, ну мой инглиш оставляет желать лучшего и я большую часть коментов не осилил) Тем не менее ты же понимаешь, что всем не угодить, 2 из 7ми неплохой результат учитывая что игра специфичная. Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
Идеи на новый гамирон пока нет, так что делаю поделку по мотивам Block Temple. В связи с чем появился вопрос - как вы себе представляете ИИ врагов в игре подобного типа? В принципе, базовые действия я могу сделать как у главного героя в оригинальной БТ - рандомно двигаемся, атакуем героя, если тот в радиусе видимости, ну, и добавить возможность вращения комнат, если те заблокированы. Или, может быть, стоит сделать, чтобы враги пытались достичь героя, даже если его не видят? Как вы думаете? Когда-то тут будут ссылки на крутые проекты. Или нет.
MyDreamForever, как бы, уже. Но поскольку игрок теперь управляет и персонажем, и комнатами, как раз пытаюсь сделать более-менее соответствующий ситуации ИИ.
Добавлено (03.07.2014, 16:24) --------------------------------------------- Что же, ИИ я, вроде как, реализовал. Враг просто блуждает по уровню, а если видит игрока, пытается подобраться к нему и атаковать. Хотел еще реализовать проход к последней точке, где видел героя, но пока что-то не срастается.
Добавлено (05.07.2014, 00:18) --------------------------------------------- В общем, вот Левая кнопка - передвижение в комнату или атака врага, правая - вращение комнаты. Кнопка - пропуск хода. Также пропуск хода, если вы совершили 15 действий. Чем больше действий вы совершили до конца хода, тем больше врагов за раз походит. Мне нужны отзывы об общей играбельности сабжа. Вы бы играли игру с таким типом боя? Ну, если сбалансировать и сделать более разнообразных врагов. Хочу узнать сразу, чтобы потом не оказалось, что я зря все делал.
Добавлено (05.07.2014, 00:23) --------------------------------------------- Да, подмечу, что в таком виде будет только сражение с врагами. Исследование подземелья будет происходить на рандомно генерируемом уровне на подобие уровней The Binding of Isaac, там же будет лут, различные рандомные ивенты, и группы врагов, после попадания в клетку с которыми герой, собственно говоря, и переносится на поле боя наподобие выше выложенной демки.
Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Суббота, 05 Июля 2014, 00:21
Отличная игра получится. Систему боя бы как-то разнообразить или усложнить слегка, иначе будет совсем скучно, ибо враги немного вяло себя ведут и выносятся на раз. Проходится всё чересчур быстро и легко, но поигрался не без удовольствия Мой проект: [2D] Storm Quest
Сообщение отредактировал LoOnyRider - Суббота, 05 Июля 2014, 00:35
LoOnyRider, я сам понимаю, что врагов надо балансировать (количество ходов, жизней, урона), и будут делаться абилки, как для героя, так и для врагов. Также в процессе поиск пути (если враг увидит игрока, но потеряет его из виду, будет идти к клетке, где последний раз его видел), но там пока косяки. Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinant, я тут ещё прочел, что движения рандомны? Я бы сделал их не рандомными, а динамичными. Т.е. враги будут иметь свои маршруты, которые определяются при старте уровня. Так бы исключился вариант их залипания в углах, например. Ну это чисто моё мнение. В целом мне всё понравилось. Жду продолжения Мой проект: [2D] Storm Quest
LoOnyRider, ИИ для подобной игры - сущий геморрой. Пока у врагов есть только один критерий случайного маршрута - они ставят в низкий приоритет комнату, в которой были до этого (чтобы туда-сюда не бегать). Я думал, не сделать ли вообще врагов просто видящими ГГ, но подумал, что это слишком круто для них, да и игроку будет сложней, если на него скопом нападут, так что я решил, что если и добавлю всевиденье, то только врагам на нижних этажах, в качестве навыка. Может, немного дополню алгоритм, например, есть идея - каждой комнате будет назначаться приоритет посещения (изначально максимальный для всех комнат), при посещении комнаты ее приоритет будет падать в ноль, и возрастать с каждым шагом врага, и враг будет выбирать из доступных комнат ту, у которой выше приоритет. Подобная система получше варианта, где низкий приоритет получает только одна комната. Когда-то тут будут ссылки на крутые проекты. Или нет.
Сообщение отредактировал lentinant - Суббота, 05 Июля 2014, 01:29
lentinant, дай им доступ к информации об уровне. Они будут знать что представляет из себя поле, т.е. его размерность. Сейчас это куб 6х6. Рандом можно не трогать, но необходима проверка "можно ли идти в ту сторону?". Если нет, то меняем направление. А то было у меня так, что враг просто залип в углу и ждал пока я к нему подойду несколько ходов подряд.
Идея с приоритетом отличная. Только с повышением приоритета я немного не понял: в покинутом только что поле приоритет возрастает или как? Просто если так сделать, то враги будут вообще на месте топтаться, я полагаю. Я бы сделал так: 1. Назначаем всем комнатам одинаковый приоритет. 2. Когда враг замечает игрока (прямоугольный триггер), то поле где находится игрок для данного врага получает повышенный приоритет и алгоритм поиска пути говорит, что теперь это поле - его конечная цель. 3. Допустим враг добрался до игрока. Враг знает (я надеюсь) своё количество оставшихся ходов и смотрит, чтобы у него осталось ходов для минимального отступления, чтоб сразу не огрести.
Я бы ещё добавил врагам слух. Т.е. если игрок атакует врага, то в радиусе, большем радиуса видимости, враги могут "услышать" начавшийся бой. Тогда комната также получает больший приоритет.
Наглядный пример под спойлером
Игрок - крестик, враги - точки. Первый ход за игроком. Он перемещается из d4 в e4 и убивает врага в поле f4. В поле d6 стоит враг. Область его слуха - прямоугольный тригер, который сработает при выполнении следующий условий:
Игрок находится в этой области
Игрок атакует врага
В нашем случае этого не происходит. Допустим, ходы у игрока закончились. Теперь ходят враги. Враг из поля d6 перемещается в d5. Теперь он слышит игрока, не не видит его. Поэтому приоритет полей не изменился. Враг сможет увидеть игрока только тогда, когда тот в "прямой видимости", т.е. не находится в диагоналях области слышимости. Допустим враг опять переместился из d5 в d4. Теперь он видит игрока и знает количество оставшихся ходов. Выбора у него 2: атаковать игрока или сразу отступить.
Если бы враг из c2 переместился в d3, а враг или игрок атаковали бы друг друга, то для него поле агрессора получило бы приоритет +1. Для алгоритма поиска пути это бы значило, что перемещаться нужно именно туда. При достижении целевого поля сначала проверяются все "чувства" врага. Если в поле этих "чувств" попал игрок, то приоритет целевого поля -1 и враг уже стремится к новому полю игрока.
LoOnyRider, подозреваю, адекватная реализация отступления потребует много усилий для реализации. Как я уже говорил, ИИ для игр - довольно сложная вещь, а тут еще и нестандартные условия. Да и действий у врагов пока очень мало, чтобы мало того чтобы подойти, но еще и при возможности отступить. Расчет приоритета предполагается исключительно для выбора, в какую из соседних комнат враг должен идти, когда у него нет конкретной цели, так как при обнаружении героя действует другая система (враг попросту двигается к точке, где последний раз видел героя). Будет довольно странно, если враг будет знать, где есть проходимость, а где нет, но при этом не будет знать где герой. Но я задумался над тем, не выровнять ли условия для героя - дать ему возможность видеть только свою клетку, и те соседние клетки, к которым он может перейти. Само собой, с расширением радиуса зрения сторонними средствами, например, артефактами. Когда-то тут будут ссылки на крутые проекты. Или нет.