Михаил Никитин

+85
с 2020
1 подписчик
25 подписок

На мой вкус игра не сделана для PathTracing. Большую часть времени красивее с RayTracing. Некоторые моменты, например, как поездка в машине с другими пассажирами, тогда PathTracing выглядит круче. Картинка иногда выходит слишком тёмная, не видно деталей.

2

Не могу сказать, что игра херовая, т.к. не получается втянуться. Управление будто персонаж в желе. 3 попытки и 3 раза бросил через час-два. ФПС не низкий, дело не в настройках, а в самой игре, даже первый ведьмак и в тот легче было втянуться, хотя начинал когда уже все 3 части вышло. GTA нравится, RPG механики нравятся, но в киберпанке это сделано на количество, а не на качество. Ощущение как от морровинда, много всего вокруг, а делать с этим не хочется ничего.

Скорее нет гайда, чем есть. LeoECS это не DOTS совсем. DOTS это технология, которая позволяет писать код обрабатывающий огромный объём информации быстро и параллельно, на его основе построен свой ECS, который совсем не такой как LeoECS.

Есть DOTS, а есть ECS, который строится на основе DOTS.
DOTS это всё про производительность и многопоточность.
А ECS, если придерживаться принципов ECS при разработке, то это про один из грамотных вариантов организовать разработку проекта и избежать запутанности кода.
В реальности же игровая логика пишется на ECS, а UI, звук и инпут делаются сервисами, которые общаются с ECS через какую-то прослойку, с физикой и сетью поначалу было то же самое, но сеть они почти сразу встроили, а физику не так давно, если не ошибаюсь.

3

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

Звучит как нелепая отмазка. Была сказана глупость, потом приведены контр-аргументы с фактами, а всё что можно сказать в ответ - "ну у нас всё плохо и мост это тоже плохо, потому, что я думаю, что я живу в плохой стране, а вообще я тут не живу, живите сами в этой помойке".

10

Длина крымского моста - 19км, цена 3,8 миллиарда долларов. Глубина воды под мостом 18 метров(это почти девятиэтажка под водой).
Мост Гонконг — Чжухай — Макао, длина - 55 км, из них только 22 км над водой, цена 20 млрд долларов.

Вы всё ещё считаете, что крымский мост дорого стоил?

5

Если долго, нудно и без особого анализа, то Шарий. Если коротко и ёмко, то Юрий Подоляка. Ещё можно попробовать канал Аврора, но там такое себе, очень зависит от приглашённого гостя. Если хочется глубокий анализ происходящего и достаточно точный прогноз, то Школьников Андрей.

2

Игра хоть и вышла больше 10 лет назад, но до сих пор ничего лучше не сделали, а раз так, то и конкурентов нет куда уйдут игроки, которым интересен именно этот геймплей.

2

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

3

ТС, попробуй оставить подключённым только загрузочный диск, запусти комп, жми Enter периодически после 30 секунд с момента запуска, через 15 минут попробуй подключиться ноутом по удалёнке. 

Unity и с новой архитектурой DOTS обещает много интересного, удобного и быстрого, а на деле пока только баги и излишняя сложность.
Для себя я сделал вывод, что Addressable штука удобная и полезная, но нужно знать что именно надо вынести в эту систему, если всё подряд туда переносить, то получаются сложности.
Для примера, берём ScriptableObject, который мы сделали шиной сообщений, как в их свежем опенсорс проекте про боевую свинку, делаем поле с этим объектом в билде и в Addressables, в итоге имеем два не связанных между собой инстанса, т.е. использование Addressables сразу закрывает наивные подходы к таким решениям. 

На данный момент я бы эту систему использовал только для подгрузки графики к объектам, а сами объекты и все их лёгкие данные оставлял бы в билде. По крайней мере пока не придумаю или не найду удобный паттерн.

1

Если я правильно понимаю принцип работы бандлов, то они вообще не грузят скрипты, только данные, никакого кода. Что будет со стриппингом тоже интересный для меня вопрос. 
"Почему нельзя было сделать автоматический подхват ссылок и автопрогрузку только требуемых для сцены объектов, при загрузке оной?" 
Сейчас так и есть без всяких Addressables, вместе со сценой грузится только то, что нужно для этой сцены, если же мы используем Addressables, то можно делать InstantiateAsync для каждого объекта. Весь смысл Addressables в том чтобы отделить загрузку лёгких ассетов от тяжёлых, например, сцена может грузиться лоупольная стандартной механикой без Addressables, а после загрузки появляются хайполи модельки там где это нужно в первую очередь уже через асинхронную подгрузку.
"Почему Опять контроль памяти ручками?"
В самом конце статьи говорится о том что не нужен контроль ручками, не забываем только загружать и выгружать, это единственное условие.
На каждый InstantiateAsync нужен свой ReleaseInstance, дальше память будет сама за собой следить.

1

Ни разу не протекали даже после полной разрядки. А вот солевые гарантированно протекают и быстро после того как сядут.

Так протекают только солевые батарейки. Покупайте дешёвые бренды, у которых один элемент стоит дороже 40р. Ещё лучше - купите перезаряжаемые и держите их заряд выше 20%.

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

1

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

1

В теории вам лично руками ни загружать ни выгружать не нужно, в последнем примере кода в статье всё нужное есть. Инстанциируете через Addressables.InstantiateAsync, а уничтожаете через Addressables.ReleaseInstance. На этом всё управление памятью и должно закончиться, но там есть баги в реализации и текстуры на сегодня выгружаются не всегда. 

1