Среда, 12 Мая 2021, 03:57

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » lentinant [992]
Результаты поиска
lentinantДата: Суббота, 05 Июля 2014, 14:23 | Сообщение # 61 | Тема: Block Temple [2D]
ленивый программист
Сейчас нет на сайте
LoOnyRider, подозреваю, адекватная реализация отступления потребует много усилий для реализации. Как я уже говорил, ИИ для игр - довольно сложная вещь, а тут еще и нестандартные условия. Да и действий у врагов пока очень мало, чтобы мало того чтобы подойти, но еще и при возможности отступить.
Расчет приоритета предполагается исключительно для выбора, в какую из соседних комнат враг должен идти, когда у него нет конкретной цели, так как при обнаружении героя действует другая система (враг попросту двигается к точке, где последний раз видел героя).
Будет довольно странно, если враг будет знать, где есть проходимость, а где нет, но при этом не будет знать где герой. Но я задумался над тем, не выровнять ли условия для героя - дать ему возможность видеть только свою клетку, и те соседние клетки, к которым он может перейти. Само собой, с расширением радиуса зрения сторонними средствами, например, артефактами.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Суббота, 05 Июля 2014, 01:26 | Сообщение # 62 | Тема: Block Temple [2D]
ленивый программист
Сейчас нет на сайте
LoOnyRider, ИИ для подобной игры - сущий геморрой. Пока у врагов есть только один критерий случайного маршрута - они ставят в низкий приоритет комнату, в которой были до этого (чтобы туда-сюда не бегать). Я думал, не сделать ли вообще врагов просто видящими ГГ, но подумал, что это слишком круто для них, да и игроку будет сложней, если на него скопом нападут, так что я решил, что если и добавлю всевиденье, то только врагам на нижних этажах, в качестве навыка. Может, немного дополню алгоритм, например, есть идея - каждой комнате будет назначаться приоритет посещения (изначально максимальный для всех комнат), при посещении комнаты ее приоритет будет падать в ноль, и возрастать с каждым шагом врага, и враг будет выбирать из доступных комнат ту, у которой выше приоритет. Подобная система получше варианта, где низкий приоритет получает только одна комната.

Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Суббота, 05 Июля 2014, 01:29
lentinantДата: Суббота, 05 Июля 2014, 00:38 | Сообщение # 63 | Тема: Block Temple [2D]
ленивый программист
Сейчас нет на сайте
LoOnyRider, я сам понимаю, что врагов надо балансировать (количество ходов, жизней, урона), и будут делаться абилки, как для героя, так и для врагов. Также в процессе поиск пути (если враг увидит игрока, но потеряет его из виду, будет идти к клетке, где последний раз его видел), но там пока косяки.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Суббота, 05 Июля 2014, 00:23 | Сообщение # 64 | Тема: Block Temple [2D]
ленивый программист
Сейчас нет на сайте
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
lentinantДата: Пятница, 04 Июля 2014, 22:53 | Сообщение # 65 | Тема: падение персонажа
ленивый программист
Сейчас нет на сайте
Цитата allods ()
А если по лестнице спускается или по горке сбегает ?

Ну так, там тоже можно выставить эдакий threshold.

Добавлено (04.07.2014, 22:53)
---------------------------------------------
Ускорение тоже можно проверять (разницу между скоростью в этом и следующем фрейме). Во время падения ускорение одно - классическое -9,81, ну или что там в настройках физики записано. Если же персонаж касается земли, ускорение будет меньше.


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Пятница, 04 Июля 2014, 22:55
lentinantДата: Пятница, 04 Июля 2014, 22:50 | Сообщение # 66 | Тема: Изменение настроек клавиш Input через скрипт
ленивый программист
Сейчас нет на сайте
Есть вот такая штука, содержит все нажатые кнопки за этот фрейм. В то время, когда надо назначить кнопку, считываешь эту переменную, если она не пустая - считываем первый символ и записываем его в переменную кнопки, которую позже используем как указал allods.

Добавлено (04.07.2014, 22:50)
---------------------------------------------
В Input тебя вряд ли пустят, видно, разработчики Unity решили, что настроек в лаунчере будет достаточно.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 04 Июля 2014, 22:33 | Сообщение # 67 | Тема: падение персонажа
ленивый программист
Сейчас нет на сайте
Кстати, а почему для прыжков никто никогда не использует вертикальную скорость персонажа? Очевидно же - если она отрицательная, значит, персонаж падает. Если положительная - персонаж прыгнул и еще не достиг пика прыжка. Можно выставлять соответственную анимацию.

Добавлено (04.07.2014, 22:33)
---------------------------------------------
Цитата DantorS ()
Почему?

Не универсально. Я так понял, высота - координата Y? А что если персонаж запрыгнул с одной полки на вторую, которая выше/ниже? Если же рейкастить вниз, и мерять расстояние от персонажа до объекта под ним, то это будет куда затратней проверки соприкосновения с землей (ну, или моего метода).


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Пятница, 04 Июля 2014, 22:34
lentinantДата: Пятница, 04 Июля 2014, 22:23 | Сообщение # 68 | Тема: Вопрос-Ответ по UDK
ленивый программист
Сейчас нет на сайте
Aizark, размер текстуры должен быть степенью двойки. Также, желательно импортить модель формата fbx.

Добавлено (04.07.2014, 22:23)
---------------------------------------------
Оу, пока отправил, ты уже сам нашел ответ.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 04 Июля 2014, 22:18 | Сообщение # 69 | Тема: Морской бой 3D
ленивый программист
Сейчас нет на сайте
prostak_1982, так этот объект еще сбить надо. Что, если игрок половину игры проведет, обстреливая пустые поля?

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 04 Июля 2014, 15:42 | Сообщение # 70 | Тема: Вопрос-Ответ по UDK
ленивый программист
Сейчас нет на сайте
Цитата Aizark ()
Что подразумевается под US?

UnrealScript, местный скриптинговый язык. Смену суток с ее помощью довольно легко сделать - это банальное вращение скайбокса и соответственный поворот и перенаправление основного источника света. Реализация погоды зависит от конкретного погодного эффекта, солнечный свет, вроде бы, имеет какую-то стандартную реализацию, качание деревьев можно сделать анимацией или шейдером.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Пятница, 04 Июля 2014, 03:45 | Сообщение # 71 | Тема: Нужна помощь...
ленивый программист
Сейчас нет на сайте
Все равно ваши варианты ничем не лучше пустого ГО с коллайдером =D

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 18:48 | Сообщение # 72 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
если у тебя есть массив GameObject-ов players, и объект, который ты получил со столкновения other.collider.gameObject, то метод вызывается
Код
bool flag = ArrayContains(players, other.collider.gameObject);


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 16:49 | Сообщение # 73 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Код
bool ArrayContains (GameObject[] objectArray, GameObject targetObject)
{
     flag = false;
     foreach (GameObject go in objectArray)
     {
         if(go == targetObject)
         {
             flag = true;
             break;
         }
     }
     return flag;
}


Вот такой простенький метод для проверки. Правда, типизированный, но для твоей задачи должен подойти. Если нужен JavaScript, ничем помочь не могу, переводите сами.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 16:33 | Сообщение # 74 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
allods, я про List.
Цитата allods ()
если заполнить массивы другими объектами (любыми) то все массивы заполняются объектом который зашел в триггер, поскольку имя его не равняется именам други

Вообще не понимаю, что ты там делаешь. Самая стандартная проверка на присутствие в массиве - делаем логическую переменную, присваиваем ее false, пропускаем foreach сравнение целевого объекта с каждым элементом массива, если совпадение есть, логическую переменную делаем true, выходим с итератора с помощью break.
Судя по описанию твоей проблемы, ты вообще делаешь что-то типа
Код
if(players[i]!=other.collider.gameObject)
{
      players[i]=other.collider.gameObject;
}


Добавлено (03.07.2014, 16:33)
---------------------------------------------
Цитата allods ()
Я сказал что заполняет весь массив сразу , а потом и эти все уже заполняются другим объектом

Так к чему тогда вообще пустые массивы?


Когда-то тут будут ссылки на крутые проекты. Или нет.

Сообщение отредактировал lentinant - Четверг, 03 Июля 2014, 16:35
lentinantДата: Четверг, 03 Июля 2014, 16:28 | Сообщение # 75 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
allods, пользуйся списками (List). Проверка, есть ли элемент в списке, проводится методом Contains, который возвращает соответственное логическое значение.

Добавлено (03.07.2014, 16:28)
---------------------------------------------

Цитата allods ()
если массив пустой то ругается что нету объекта , то есть ничего не работает. А если сравнивать только с не пустыми массивами то тоже не работает так как они еще пустые, кольцо получается

Какая-то высосанная с пальца проблема. Массив пустой? Значит, там точно нет твоего объекта (ваш кеп), и ты можешь смело добавлять его в массив.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 13:06 | Сообщение # 76 | Тема: Морской бой 3D
ленивый программист
Сейчас нет на сайте
Берем параллелепипед размером NxMxL, и представляем его в виде L отдельных морских боев размером NxM. Вспоминаем, сколько времени играется обычный морской бой, и умножаем это число на L. Вам не кажется, что одна игра будет долговато длиться?

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 12:55 | Сообщение # 77 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
iOne, ты используешь GetComponents - этот метод возвращает МАССИВ. В ошибке четко сказано - ты получаешь не один компонент, а массив, и пытаешься получить с этого массива значение, как с одного компонента. Замени GetComponents на GetComponent.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 12:40 | Сообщение # 78 | Тема: Нужна помощь...
ленивый программист
Сейчас нет на сайте
Зачем кубы, пустого объекта с коллайдером будет достаточно.

Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Четверг, 03 Июля 2014, 04:04 | Сообщение # 79 | Тема: Вопрос-[ответ] по Unity
ленивый программист
Сейчас нет на сайте
Цитата WPhoeniXW ()
Да ну не может быть... Мне, кажется, ты что-то путаешь. Я думаю это из-за компиляции под Андроид. Если скомпилировать под Web, всё приложение весит 789 КБ

Я тебе вот такую аналогию проведу. Есть игровой автомат. Он автономно воспроизводит одну игру, но имеет большой размер. И есть компакт-диск с игрой и компьютер, который эту игру производит. Сам по себе компакт-диск маленький, но без компа он ничего не стоит. По аналогии с юнити - автономная игра вмещает в себя движок, поэтому весит так много. web-версия же просто является набором ресурсов, сам движок находится у тебя на компе в виде плагина Unity Web Player.


Когда-то тут будут ссылки на крутые проекты. Или нет.
lentinantДата: Среда, 02 Июля 2014, 18:58 | Сообщение # 80 | Тема: Конкурс художников.
ленивый программист
Сейчас нет на сайте
Цитата romgerman ()
Надо было...

Думаю, это был сарказм.


Когда-то тут будут ссылки на крутые проекты. Или нет.
Форум игроделов » Записи участника » lentinant [992]
Поиск:

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