Страница: 1 | 2 |
Вопрос: Потестите игру!
Добавлено: 05.06.14 17:14
Автор вопроса: vito | Web-сайт:
Ответы
Всего ответов: 26
Номер ответа: 16
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #16
Добавлено: 16.06.14 09:52
А была бы PC версия, да ещё с настройками управления, особенно инверсии - по крайней мере от меня бы был фидбэк в теме
Номер ответа: 17
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #17
Добавлено: 19.06.14 19:44
РС версия обновлена. Только инверсию еще не успел.
Сейчас добавляю «ума» ботам. В основном аппарат «Теории игр».
Дифференциальные игры - преследование нарядом (группой ботов).
Матричные игры для выбора ботом оптимального расстояния для стрельбы.
Так же ограничиваю ботам область зрения(сейчас они видят вас в любом месте). Поиск в глубину и ширину, возможно эвристический.
В общем воевать будет непросто, но интересно.
Номер ответа: 18
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #18
Добавлено: 20.06.14 05:49
Инверсию проще всего делать, выставляя отрицательное значение чувствительности мыши по Y.
Можно сделать, чтобы с расстоянием уменьшалась вероятность того, что бот вас увидит, если ещё сделать, чтобы вероятность так же уменьшалась, если не двигаться - будет почти как с живым соперником.
Номер ответа: 19
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #19
Добавлено: 20.06.14 20:40
Кнопку лениво рисовать. Сделаю.
Интересная идея.
Тогда расстояние можно реализовать обычным методом Монте –Карло.
Область видимости бота пусть представляет некий квадрат(не принципиально). Чем вы дальше, тем меньшую площадь в нем занимаете (перспективная поекция).
Потом генерируем, допустим 100 случайных равномерно распределенных точек (количество точек определяет точность зрения, скорректируем в процессе игры).
Если точки попали в площадь занимаемую вами, то вас увидели. Понятно, что при движении эта вероятность будет повышаться(распределение равномерное).
Видимость в дыму, тени покамест примем равнозначной видимости при нормальных условиях.
Как такой подход?
Попробую реализовать, посмотрим как это будет выглядеть в игре.
Номер ответа: 20
Автор ответа:
AWP
ICQ: 345685652
Вопросов: 96
Ответов: 1212
Web-сайт:
Профиль | | #20
Добавлено: 21.06.14 11:59
Зачем так сложно делать? Сделай, действительно, на вероятности. Там уже какие угодно коэффициенты можешь подставлять.
Номер ответа: 21
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #21
Добавлено: 21.06.14 12:50
Это не сложно. Реализация элементарная. Но аппроксимация несравнимо выше.
Только генераторы случайных чисел в Unity кривые - не равномерное распределение. Примерно половина величин близко к среднему, как при нормальном распределении. И доступа к родной библиотеке Net нет (точнее есть, для PC, но как и предупреждают разработчики один большой глюк получается).
Завтра думаю выложу. Посмотрим что вышло.
Планировал сделать детекцию движения (простое вычитание матриц изображений), но это тормозит. А данный подход очень хороший компромисс.
Номер ответа: 22
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #22
Добавлено: 21.06.14 14:11
Этот метод может и прост, но сильно нагрузит проц - проверка 100 лучей на пересечение в каждом кадре.
Я бы сделал так:
1. Проверка на попадание ГГ в пирамиду видимости бота, если не попадает - не видит, иначе дальше.
2. Проверка луча зрения ГГ-бот, если пересекает ландшафт, то не видит, иначе дальше.
3. Если флаг того, что ГГ замечен, установлен - бот действует соответственно, иначе дальше.
4. Вычисляем:
T - время с предыдущей проверки в секундах.
kR - коэффициент зависимости заметности от расстояния от 0 (вдали) до 1 (вблизи).
kS - коэффициент зависимости заметности от скорости от минимума, когда не движемся, например 0.3, до 1, когда движемся максимально быстро.
kT - среднее время реакции бота в секундах.
Rnd - случайное число от 0 до 1.
Если полученный результат >0, то бот нас заметил, выставляем соответствующий флаг. Флаг будет снят после того, как не будет пройден тест на видимость (пп. 1 или 2). После потери видимости можно временно уменьшать kT и постепенно плавно возвращать его к норме - это бот после потери цели становится на время более внимателен.
Если нужно случайное число от 0 до 1, вот мой вариант:
RandInit - начальная инициализация, Rand - случайное число.
Номер ответа: 23
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #23
Добавлено: 23.06.14 00:44
Попробуем Mikle. Сейчас готова первая реализация(только для робота- цифра 4). Единственное что не успел, сканирование ботом при потере цели. Много с глюками движка боролся, но так все и не устранил.
Обновлены: Web и PC для Windows.
https://afternoon-tundra-8474.herokuapp.com/duelbeta.html
https://afternoon-tundra-8474.herokuapp.com/Dec/DuelWin.zip
Теперь сыграйте с терминатором в прятки. Используйте укрытия, неровности местности.
Ликвидировать его можно и не стреляя, а отправив в горы.
Поэтому на помощь будет приходить второй.
Номер ответа: 24
Автор ответа:
Mikle
Вопросов: 5
Ответов: 134
Профиль | | #24
Добавлено: 24.06.14 10:14
vito, а что ты не разместишь эту тему где-нибудь на GameDev.ru? Там будет больше отзывов.
Номер ответа: 25
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #25
Добавлено: 24.06.14 17:45
Вы мне помогли гораздо больше. Серьезно.
А отзывы от разработчиков игр ожидаемы. Есть определенные игровые стандарты и все отзывы будут указывать на отклонение от них. Это малоинтересно.
Были интересны возможности движка. Слишком на многое они замахнулись в плане физики. Ожидаемо получился один большой глюк. Сейчас мы как раз это на форуме Unity обсуждаем.
Там конечно объясняют(пытаются), что все хорошо, только что – то делаю не так.
Но итог – физики в движке нет. Более точно, она реализована столь криво, что единственный вариант практически все делать вручную.
Остается от движка лишь средненькая графика.
Unity неплох для 2D, в 3D там что-то серьезное писать смысла нет никакого. DX+VS представляет не меньше возможностей. Про устойчивость можно и не говорить.
Номер ответа: 26
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #26
Добавлено: 29.06.14 00:43
https://afternoon-tundra-8474.herokuapp.com/duelbeta.html
Для уровня 2 (цифра 2) добавил известную Р- стратегию. Она является основой ракет – перехватчиков и систем противоракетной обороны.
Немного сложно, но реалистично. Есть возможность попрактиковаться в «противоракетных» маневрах.
Модель реальная, не ждите от нее «приятного геймплея».