wizzard: (Default)
tl;dr: почему у нас до сих пор нет игр с супер-пупер живым миром? а вот почему.

я вот недавно жаловался на то, что железо современное плохое и не подходит для симуляторов ( http://wizzard0.livejournal.com/278128.html )

и вот расписал, как именно оно плохое ( http://wizzard0.livejournal.com/282769.html )

короче самое печальное что из этих эстимэйтов можно вывести - что если любое вычисление выполняется за константное время (==это таблица ранее вычисленных значений), то можно выполнить за кадр не более 150к независимых вычислений. зависимых - в 50 раз больше, в идеальном случае (тупое последовательное копирование) - в 500 раз. но реально таки 150к вычислений.

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

Вроде бы, не так уж мало.
"можно закрасить экран iPad обьектами площадью в 10 пикселей" -- vgrichina

Для 2D игр, действительно, достаточно. А вот с 3D и мультиплеером - ситуация уже не столь радостная.

1. давеча thesz тут ( http://thesz.livejournal.com/1359825.html ) ужасался использованию Stackless Python в EVE Online и тому, что одновременно на узле могут присутсвовать "всего" 3000 игроков.

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

2. Если мы хотим *симулировать* сколько-нибудь большой мир - мы вынуждены делать либо пошаговую игру, либо упрощать обьекты вдалеке от игрока. Само по себе это не так плохо, и для single-player очень даже работает.

А вот в мультиплеере бюджет обьектов сьедается очень быстро, ведь, хоть игроки и кучкуются, но все равно у нас получается уже N "окрестностей игрока", а не 1 окрестность

3. Даже в "одной окрестности", если мир трехмерный, симулировать 50 метров по высоте и 400 м по ширине (квартал города в GTA) означает 8 млн куб.м. По 100м^3 на обьект. Или по материальной точке (точнее, обьекту, который описывается конечным автоматом, таблица состояний которого помещается в RAM) через каждые 4 метра. При этом изрядную часть этого бюджета сьедает графика.

Minecraft? Нет, не пойдет. Там ландшафт статичен. Хотя даже там дистанция отрисовки ненамногим больше магических 200 метров, хотя из динамических обьектов только коровы, лампочки и redstone.

Roblox ( http://www.youtube.com/user/roblox ) гораздо ближе. Вообще, Семен призывается в тред рассказать, какие у них реально получаются там размеры сцен.

4. "динамически понижать детализацию по удалению от игрока" - можно. и нужно. Но уметь надо. Для user-generated content это ой как непросто. Никого в GTA не раздражало, что если преследуемая машина свернет за угол (а то и если просто ненароком камеру повернуть) - она исчезнет навсегда? Вот я примерно об этом.

Comments welcome.
wizzard: (Default)
Кхе.

В далеком 2002 я играл в Half-Life, читал gamedev.ru, надеялся на закон Мура, и что много-много оперативки даст возможность делать супер-пупер виртуальные миры.

Но нет.

Первой подоспела жопа с бранчингом. Ведь чем более мир супер-пупер feature-rich - тем больше в нем бранчинга. А это значит - прощай конвейеризация, прощай векторизация.

Второй подоспела жопа с мобильниками. Performance per watt растет медленно. Батареи растут медленно. И закон Мура ни тех, ни других, в общем-то не касается.

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

Итого, там, где в какой-то момент были красивые спецэффекты, даже промелькнула надежда на реалистичный расчет освещения - теперь тупые статичные текстуры, потому что теперь часто нельзя позволить себе нарисовать даже 2-3 слоя частиц поверх фона сцены.

Ну и четвертое - это latency, которая, сюрприз, не уменьшается вообще. Только увеличивается. Удаленные терминалы, беспроводные мышки, тачскрины, которые тупят, пока не распознают жест, экраны, которые Х раз буферизуют картинку (шифрование, ресайз, цветокоррекция), 3G вместо Ethernet, etc etc.

Ну что делать разработчикам и дизайнерам? Адаптируются.

В итоге, если в Quake 3 и Half-Life 1 за час можно было адскими спинномозговыми рефлексами на CRT, выкрученном на 120 Гц за час нарубить 100, а то и все 500 фрагов, то Mass Effect я проходил на высокой сложности на тачпаде, успевая параллельно писать лекцию...

И это мы еще говорим о шутерах.

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

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

А симуляторов как не было, так и нет. И совершенно непонятно, будут ли...

Отдельным островком в игрострое и гуи-строе порадовал кинетический скроллинг, который заставил хоть чуть-чуть задуматься о латенси снова. Но, увы, это исключение.

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

Ну и augmented reality ближайшие несколько лет будет жить только баннерами и надписями, там сразу на все грабли наступаем - и латенси, и арт, и батареи.

А что вы думаете? Дождемся мы навороченных и реалистичных симуляторов, где под капотом будет честная физика и честный AI, или нет?
wizzard: (Default)

Фримен выиграл конкурс GameSpot “All-Time Greatest Game Hero”!

http://www.gamespot.com/greatest-video-game-hero/blog/index.html?topic_id=27072104&tag=topslot%3Bthumb%3B1

>> In a way, all game heroes who entered the competition are winners. But in another, more accurate way, only Gordon is the winner.
All heroes are equal, but he’s equal more ^_^

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 16th, 2025 08:07 am
Powered by Dreamwidth Studios