forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Проекты на Unity (http://forum.boolean.name/forumdisplay.php?f=147)
-   -   Faded [игра мечты] (http://forum.boolean.name/showthread.php?t=19362)

Mr_F_ 22.02.2015 00:19

Ответ: Faded [игра мечты]
 
Кстати да, бывает даже на полупустой улице случается затуп с некоторыми личностями такой в реальности :D

вообще я пытался в это вдуплить http://motion.cs.umn.edu/PowerLaw/
но запомнил только что там есть k / (t*t), который в моей версии превратился в 1/(dist*dist), пойду-ка попробую более по науке сделать.

Samodelkin 22.02.2015 01:48

Ответ: Faded [игра мечты]
 
Я думаю в той pdf'ке исчерпывающее количество материала, пока что-то рекомендовать нет смысла.

А что насчёт оптимизации графики, такое количество людей нормально переваривается движком?

Mr_F_ 22.02.2015 01:54

Ответ: Faded [игра мечты]
 
Цитата:

А что насчёт оптимизации графики, такое количество людей нормально переваривается движком?
логика людей занимает куда больше, чем их рендер, там же модельки из первой мафии, в них меньше 1000 трисов в каждом. по дроуколам их тоже не катастрофически.

impersonalis 22.02.2015 02:00

Ответ: Faded [игра мечты]
 
Но логику людей можно взывать довольно редко (по отношению к fps; максимальная частота осмысленных управляющих воздействий [по науке] - 3 Гц; у рекордсмена Старика, правда 600 АПМ - но там не столь чистый эксперимент), даже - событийно, а не регулярно.

Mr_F_ 22.02.2015 02:01

Ответ: Faded [игра мечты]
 
Ближние люди думают раз в 100мс (медленее косячно смотрелось), дальние раз в 1 сек.

Samodelkin 22.02.2015 02:28

Ответ: Faded [игра мечты]
 
Ну так наверное модельки людей заменены будут? Мне кажется рисовать больше 10-20 хорошо проработанных персонажей есть определённая проблема, особенно по балансировке, ведь персонажей может быть мало, а может много, если полигонаж карты можно равномерно распределить, то с персами это сделать сложно.

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

В общем LOD для AI и физики. Может даже какие-то пространственные деревья связей строить, например какие-то части невидимые можно не симулировать если на них нет воздействия, а затем досимулировать на основе записей во входящем буфере в ускоренном режиме когда будет больше свободных ресурсов. Это вообще сложная система...

А вообще пока нормально -- просто локализуй код AI, чтобы потом можно было улучшать и т. п. имхо.

Mr_F_ 22.02.2015 02:58

Ответ: Faded [игра мечты]
 
Цитата:

Ну так наверное модельки людей заменены будут?
естественно.
там уже и буду думать.

Цитата:

в гта4 даже физика машины не обсчитывается, пока она едет согласно маршруту
хм, но вроде вблизи их неплохо покачивает? знаю точно что в мафии у всех тачек в кадре была честная физика. насчёт гта4 не уверен, но в старых гта и правда кривая была у трафика часто (в гтаса была трасса, где тачки разгонялись до 100+ км/ч, но если ты стоишь на дороге, они моментально стопорились в метре от тебя без честного торможения).
у меня же сейчас ближе 75 метров физика есть, а дальше позорное интерполирование по путям.

у людей в новой версии даже основной коллизии нет за 15 метрами, для рейкастов более точная коллизия есть только для тех, кто в кадре.

триггеры физикса все повыкидывал, жрали что-то люто, вместо этого все проверки типа зрения/нахождения чела в секторе делаются своим кодом с ленивой частотой обновления.
раньше зрение было - собрал триггером потенциально видимое, раз в 100мс рейкастишь их потом.
теперь раз в 1 сек обновляется очень дешёвый 2D AABB тест -> OBB-Sphere для потенциально видимого, а рейкастить часто разрешил только примечательных челов, остальных по 1 рейкасту за тик (который у дальних в 10 раз реже чем у ближних).

Samodelkin 22.02.2015 03:42

Ответ: Faded [игра мечты]
 
Ну проверки каждого перса нужно сдвинуть по фазе, чтобы они не попадали на один и тот же кадр, а были размазаны по всем кадрам в интервале 100-1000мс. Вообще если юзать многопоточность, нужно разделить расчёты по приоритетам, и менее приоритетные распихивать по областям со свободным процессорным временем, ведь редко когда бывает плавная нагрузка -- обычно она скачками.

В гта4 весьма сложная система: там много составных частей физики и много ситуации и условий, когда какую часть включать.

В мафии слишком подробно. Я помню играл на Pentium3 600 Мгц. Я стреляю из дробовика, игра останавливается, я слышу как каждая дробинка по очереди попадает тыщь, тыщь, тыщь, тыщь... потом снова отвисает и можно дальше играть =)

Mr_F_ 22.02.2015 10:28

Ответ: Faded [игра мечты]
 
Цитата:

Вообще если юзать многопоточность
Вот с этим в юнити большая проблема, сам движок не потокобезопасный, в поток можно кинуть только полностью независимые вычисления (т.е. не рейкасты например). Ситуация реально тупая, получается игра всё делает на одном ядре, хотя параллелить хватает чего. Я думаю в будущем отдельный физдвиг подключить для рейкастов онли и крутить его асинхронно.

Цитата:

В гта4 весьма сложная система: там много составных частей физики и много ситуации и условий, когда какую часть включать.
есть какие-то документации, или просто по своим наблюдениям?

Цитата:

В мафии слишком подробно
ну и прикольно ж, на пне4 уже не лагало) мафия намного меньше фейкала и забывала, чем гта.

Samodelkin 22.02.2015 18:24

Ответ: Faded [игра мечты]
 
Цитата:

Сообщение от Mr_F_ (Сообщение 293462)
есть какие-то документации, или просто по своим наблюдениям?

По свом наблюдениям. Например один раз произошёл глюк когда чел стал идти по очень наклонной поверхности, почти стене, как будто моделька просто выравнивалась по нормали от поверхности и играла свою анимацию. Конечно это мог быть глюк в матрице которая позиционирует уже посчитанный физикой объект, но мне кажется что физика просто была выключена. Или вот например когда в погоне участвует больше 3 машин начинает проседать FPS, хотя вокруг машин в обычной ситуации куда больше. Если сбиваешь сразу много людей тоже проседает FPS. Если много людей в боевом режиме тоже проседает FPS. Когда садишься в машину у неё иногда колеса или ресоры подпрыгивают, выглядит так как будто физика машины находилась в каком то дефолтном состоянии и теперь физика включилась и колеса плотно встали на землю. Ну и много подобных вещей.

В целом ейфория это движок где анимация, физика и ai участвуют вместе и возможно весь этот микс осуществляется уже в нём, а не в игровом движке, здесь я понятия не имею.

Mr_F_ 22.02.2015 19:15

Ответ: Faded [игра мечты]
 
Цитата:

чел стал идти по очень наклонной поверхности, почти стене
ну это наверное навмеш где не надо проложили

Цитата:

но мне кажется что физика просто была выключена
физика у ближних челов нужна скорее для коллизий с мелкими и динамическими объектами, которые в навмеше не учтены, так что не факт что она была выкл.
если ты про эйфорию то да, она включается только при стукании челов об друг друга (или даже только игрока)/тачки.

Цитата:

Если много людей в боевом режиме тоже проседает FPS
А, такое кстати в мафии тоже было. Там люди делятся на типа честных полнофункциональных и простых пешеходов. Пешеходы по сути просто ездят как трамваи по путям, исчезают вдали, спавнятся на новых путях потом, но в некоторых случаях игра их превращает в честных челов - если челу выпадает вызвать такси, если пешехода-гангстера (или мента) ударили, если чела насильно выкинули из тачки.

Цитата:

Когда садишься в машину у неё иногда колеса или ресоры подпрыгивают, выглядит так как будто физика машины находилась в каком то дефолтном состоянии и теперь физика включилась и колеса плотно встали на землю
такое во многих играх, т.к. у стоячих тачек незачем особо обновлять физику.

Samodelkin 22.02.2015 19:27

Ответ: Faded [игра мечты]
 
Ок. Ну в общем вывод такой что много чего можно выключить.
Если в юнити проблемы с МП, то неплохо хотябы размазать вычисления, если 100 челов и каждый обновляется через 1 сек, то первый это делает в нулевую мс, второй в 10 мс, третий в 20 мс и т д. Иначе может так случиться что FPS нормальный но каждую секунду будет происходить затык.

Mr_F_ 09.03.2015 16:45

Ответ: Faded [игра мечты]
 
Готово обновление 0.020, которое я делал уже чёрти сколько. Можно скачать через лаунчер (~270mb) или полный архив из 1го поста (~400mb). Список изменений:

Геймплей:

- В городе появились киллеры, которые хотят вас незаметно убить (без свидетелей). Они имеют доступ ко всем камерам наблюдения и могут видеть вас через них. 3 рандомных пешехода становятся ими; индикатор опасности детектит их только после проявленной агрессии; добавляют меньше чёрного индикатора при их убийстве;



- в 3 раза больше пешеходов
- пешеходы юзают трамваи

- пешеходы разглядывают вывески
- некоторые пешеходы носят чемоданы
- некоторые пешеходы пьют из бутылки; выбрасывают бутылку в мусорку; покупают новую в магазинах; оплачивают на кассе
- некоторые пешеходы курят; выбрасывают сигарету, начинают новую

- разные походки пешеходов
- пешеходы заходят посидеть в кафе

- можно сидеть на скаймейках
- пешеходы могут сидеть на скамейках

- пешеходы встречаются друг с другом



- добавлена женская озвучка для стандартных фраз NPC (спасибо Константину Казанцеву и некой Юле, которую он нашёл)

- Переделал взаимодействие с объектами. Если раньше в углу был список всех действий рядом, надо было выбирать их колесом и жать Е, то теперь надо примерно навестись прицелом на объект, зажать правую кнопку мыши, потянуть в сторону нужного действия и отпустить.
Направление, куда тянуть мышь, я постарался не от балды ставить, а контекстно, в соответствии с движением.
Если рядом есть юзабельные объекты, в углу экрана появлятеся значок воскл. знака.
- анимации взаимодействия с дверями, незапертые двери открываются автоматически, если идти в них





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

- анимации взаимодействия с авто


- теперь не умираем от падения в воду, а вылезаем на берег
- падение в воду временно снижает здоровье


- выхождение за пределы карты не отодвигает камеру куда-то, а разворачивает персонажа аккуратно назад


- рука с оружием у ГГ сгибается, чтобы не проходить сквозь стену
- раненые персы разгибаются, чтобы не проходить половиной туловища сквозь стены
- персы отодвигаются от стены в присядке, чтобы не проходить головой сквозь стену
- ГГ больше не бежит в стену, а останавливается

- зум на фотике не инертный и дальше зумит
- улучшена камера от 1 лица (не лезет сквозь стены больше и находится во всех ситуациях в более подходящей позиции)
- головы крутятся плавнее
- негативные эффекты ГГ (всякая тряска и постэффекты) вырубаются, если рядом опасный чел
- менять дистанцию камере теперь можно колесом мыши (не зажимая его)

- люди научились обходить друг друга

- обхождение не работает, если челы находятся близко к статичным препятствиям/краям ходибельной зоны, иначе они могут слишком съехать с пути
- люди отталкиваются друг от друга менее криво
- люди больше не орут хором на тебя, когда ты замахиваешься (один орёт, остальные смотрят)

- регулировка громкости игры стрелочками в меню


Локация:

- новое здание с интерьером, пока не задействовано по квестам
Потратил некоторое время на ресерч процедурной генерации текстур домов. Сначала глобальные пятна пытался генерить на основе того, где вода могла бы течь и куда отскакивать, потом более мелкие детали. Глобальное выглядело уныловато, так что в итоге пока оставил внизу шейдер с детальками, вверху переход постепенно в большую цельную фототексу.
Начиналось всё так:



то что слева, собственно, генерилось процедурно

Сколы:



Стенка с одной из версий процедурного шейдера с детальками:






- задник в локации также доработан местами
- в подвал Джо добавлен лом


Оптимизации:
- дофига их, в первую очередь переработка системы зрения
- время старта игры/сохранения/загрузки должно быть меньше
- упрощено движение челов, коллизию имеют только в 15 метрах от ГГ
- дальние люди думают реже

Фиксы:
- пофикшено бешеное скакание физобъектов при их выбрасывании (в туториале иногда может случаться, в основной игре нет)
- оптимизирован лифт, вроде не должен никто проваливаться сквозь него теперь
- игра не входит в режим диалога, если нет фраз, чтобы сказать
- пофикшен тупой баг, из-за которого камера от 3-го лица всё ещё умудрялась проходить сквозь стены иногда
- диалоговая камера больше не делает неудобных движений при отхождении от чела
- пофикшено зависание игры при смотрении вниз рядом с водой
- пофикшено зеркало, снова отражает
- переработан сейв-лоад, должно быть значительно меньше всяких косяков после лоада

- ещё что-то, что я забыл
- новые баги
- SMAA временно выкинуто, мылило где не надо

mr.DIMAS 09.03.2015 19:18

Ответ: Faded [игра мечты]
 

Mr_F_ 09.03.2015 21:44

Ответ: Faded [игра мечты]
 
Смотрю. А чего такое темное видео?

с мячом чето капец ЛООООЛ
чудеса физики:-D :-D

через решетку пролез, ай ай, это новый баг, раньше его не было

что-то я до слёз с этого видео)


Часовой пояс GMT +4, время: 19:21.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot