
Давайте исследуем одну загадку: как Bethesda смогла сделать такие грибообразные облака ядерных взрывов?
Камень, ножницы, бумага
Давайте исследуем одну загадку: как Bethesda смогла сделать такие грибообразные облака ядерных взрывов?
Меня всегда удивляло как разработчики умудряются размещать большой объем вычислений на относительно слабом железе, к каким трюкам и решениям прибегают, чтобы приложение работало быстро, это относится не только к игровым движкам, но и базам данных, системам управления и т.д., но так как моя область это все же игры и игровые движки, то рассказывать я буду про них. Особенно заметна эта разница была при портировании относительно свежих игр (поколение ps3+) на всякие портативные консоли вроде Nintendo Switch, Apple TV (это девайс тоже считается неплохой платформой, в плане что там есть платящая аудитория) и мобилки. И свитч и appletv по производительности не сильно далеко ушли от третьей плойки, и попытки перенести требовательные игры, рассчитанные как минимум на следующее (ps4) поколение консолей, приводят к значительным проблемам, которые непросто решаются. Игры - это достаточно требовательный софт, зачастую с мягким реалтаймом, надо же выдавать приемлимый фпс - иначе играть будет больно, некомфортно и её никто не купит. Небольшим подспорьем при переносе на портативки и мобилки является их стабильное железо, хотя вот для мобилок я бы так не сказал, там целый зоопарк процов, видях и окружения. На консолях с этим все получше и спеки меняются раз в пару лет. Когда речь заходит о портировании игры - оптимизации можно разделить на несколько уровней: архитектура, алгоритмы и код.
Добро пожаловать, мистер Читатель, с возвращением!
Сегодня мы отправляемся прямиком в 1992 год, где увидим один из триумфов французской игровой индустрии, а именно – Flashback: The Quest of Identity.
В играх часто используется паттерн упаковки булевых значений в биты. Это удобно для оптимизации памяти и ускорения выполнения массовых проверок. Например, такие проверки могут включать нахождение игрока в тайле, определение доступности клеток на четырех- или шестигранной сетке, или другие пространственные проверки, которые необходимо выполнять быстро. Это не ракетостроение, но когда профайлер показал одну из таких функций в числе горячих, мне стало интересно, как именно она работает и можно ли её оптимизировать. Структура данных bitset — это способ эффективно представлять множество целых индексов, которое к тому же поддерживает различные операции над ним, например объединение, разность, пересечение.
Итак - каждый юнит может занимать один или несколько тайлов, особенно если это большой юнит, вроде колесницы или требюшета и мы хотим создать производную карту, которая хранит другие признаки, например: есть ли в тайле юнит, или фильтр по здоровью юнитов. Такие карты используются для разных быстрых проверок, вроде такой: можно ли переместиться в точку, или каких юнитов имеет смысл атаковать.
Для представления данных мы можем использовать индекс юнита в тайле. В качестве типовой задачи проверять будем только юнитов, у которых здоровье превышает определённое значение. Это условие не взято с потолка. Например, некоторые юниты используют стратегии вроде "убей слабейшего" или "нападай стаей". Для таких стратегий поюнитный обход всех юнитов вокруг (особенно если это выполняют все юниты в группе) может стать крайне затратной по времени операцией.
Название статьи получилось как-то само собой: недалеко от моего дома есть хорошее кафе Chief&Bites, достаточно популярное у местных жителей, но пирожные там начинают делать после заказа, такой вот формат анти-кафе. Сами понимаете, прождать пока сделают свежайшее пирожное полчаса, а то и час - легко, там даже на чеке пишут время, когда начали делать именно твое пирожное. Заранее извиняюсь за возможные "велосипеды" в коде, но, возможно, эта тема покажется кому-то полезной.
Страх сопровождает человечество на протяжении всей его истории. Отсутствие знаний порождало боязнь простейших природных явлений, таких как гром или молния, солнечное затмение или гало. Пытаясь объяснить различные процессы в меру своих представлений об устройстве мира, люди придумывали чудовищные легенды о различных мифических существах.
Постепенно человечество нашло объяснения большинству происходящих событий. Уменьшило ли это наши страхи? Отнюдь, ведь вместе с развитием науки и технологий развивался и трансформировался страх. Пугали друг друга страшилками у костра первобытные люди, рассказывал про мстительного призрака Плутарх в своей «Жизни благородных греков и римлян», описывали невероятных чудовищ средневековые авторы в красочных манускриптах...
Sega Channel — это сервис games-on-demand, предоставлявший абонентам кабельного телевидения ежемесячный доступ к библиотеке из примерно пятидесяти игр для Sega Genesis за помесячную оплату (обычно 10-15 долларов, в зависимости от поставщика услуг кабельного телевидения). Он работал с июня 1994 года (общий доступ по всем США включили в декабре 1994 года) по июнь 1998 года. Абонентам предоставлялся картридж-адаптер, подключавший их консоль Genesis к линии кабельного телевидения. При включении консоли картридж искал сигнал Sega Channel, а затем скачивал меню игр. Этот процесс обычно занимал примерно двадцать секунд. Затем пользователь выбирал игру и примерно минуту ждал, пока она загрузится в ОЗУ адаптера. Далее игра работала точно так же, как картридж из магазина. Отключение системы или нажатие кнопки меню на адаптере удаляло скачанную игру, но данные сохранений игры оставались в нём, пока пользователь не скачивал другую игру. Наряду с продававшимися в рознице играми в Sega Channel был раздел «Test Drives», в нём пользователи могли играть в урезанные по времени или контенту версии игр, которые позже выпускались в розничную продажу. Кроме того, было несколько игр, доступных только через Sega Channel, хотя по большей мере это были проекты, в качестве которых Sega или издатель были не уверены, а потому не хотели выпускать их на физических картриджах. Успех Sega Channel был довольно умеренным, на пике популярности на него были подписаны примерно 250 тысяч абонентов.
Давным-давно, когда я ещё жила в матушкином доме, в редкие дни, наступавшие исключительно по воскресеньям, я просыпалась и заставала свою маму, играющую в компуктер. Я заглядывала через плечо и наблюдала полноценный летсплей no commentary по Civilization IV: Beyond the sword.
На протяжении 13 лет она брала Екатерину, запускала компанию, основывала город, желательно на возвышенности, и первым делом делала воина.
Несмотря на то, что в игре предусмотрено 6 вариантов победы, она всегда выбирала победу полным завоеванием, считая, что всё остальное не так классно.
Попыток совместить компьютерные и настольные игры предпринималось и предпринимается столько, сколько существуют сами компьютеры (а настольные игры вообще были еще до нашей эры). И если сейчас это заигрывание с виртуальной реальностью, QR-кодами, голосовыми помощниками или виртуальными гейм-мастерами, то еще в 1980 году была создана настольная игра, в которой компьютер отвечал и за генерацию случайного игрового поля и за поведение одного из игровых персонажей.
Cats and the Other Lives – это пиксельная point-and-click адвенчура, в которой игроку предлагается побыть старым рыжим котом, живущем в огромном особняке. Хозяин особняка умирает в своей постели от старости, и в дом съезжается вся родня, которая нежно любит друг друга так, что зубы сводит. Некоторые из них не виделись годами, а теперь им предстоит похоронить старика и решить, что делать с домом. В последние годы хозяин был на мели, особняк обветшал и требует значительных вложений, а у каждого из персонажей и своих проблем достаточно. Кот, которому уже шестнадцать лет, невольно становится свидетелем семейных разборок – и даже немало на них влияет.
Недавно я закончил создание пасьянса для Nintendo E-Reader. Мне удалось уместить его на одной карте, и это практически полнофункциональная версия игры. Я очень доволен тем, что получилось.
Что такое E-Reader?
E-Reader — это периферийное устройство для Game Boy Advance, выпущенное компанией Nintendo в 2002 году. Сканируя карты, где есть полоска с кодом из точек, можно загружать мини-игры, дополнительные уровни, анимации и так далее.
Во время экскурсий по Яндекс Музею мы, как правило, много рассказываем о компании Atari. Поводов масса: и легендарный «Понг», и приставка Atari 2600, и линейка 8-битных компьютеров, и даже кризис индустрии видеоигр в США во главе со злополучной игрой E.T. the Extra‑Terrestrial.
К сожалению, за рамками экскурсий из‑за нехватки времени часто остаётся ещё одна важная тема — все остальные аркадные автоматы Atari. В особенности те, что сделаны по мотивам классической трилогии «Звёздных войн». А ведь они были хорошим подспорьем для компании во время кризиса индустрии компьютерных игр, о котором мы, кстати, упоминали в предыдущей статье про Atari.
Что ж, это страшное упущение мы сейчас и исправим.