Эмуляция физики wow что это

Обновлено: 05.07.2024

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

И если с Nvidia Physix (привет Unity3D) ничего не поделаешь кроме пары параметров, то Bullet Physics и Box2D доступны в исходных кодах, и от безысходности начинаешь разбираться с тем как что устроено и работает.

Разобраться с тем, как все работает очень полезно. Все игровые физические движки очень похожи. Они все impulse base, что означает то, что в каждый фрейм симуляции все (силы) переводяться в импульсы, импульсы складываются, делятся на массу и прибавляются к скоростям (линейной и вращaтельной) объекта, скорость же определяет насколько объект сдвинется в текущем фрейме симуляции.

И тут встает вопрос, если все так просто, как получается, что можно выложить в столбик кубики и они себе спокойно стоят и не разлетаются?

Я покажу, что за всю эту магию отвечает маленький кусочек кода!

Я предполагаю, что читатель уже знает, что в физическом движке, есть два основных вида симулируемых тел: rigid body (упругое тело, двигается и обладает масой) и static body (неподвижное тело, неподвижно и массой не обладает). Kinematic и soft body не стоят внимания.

Collision Detection

Вся магия начинается когда два тела касаются друг друга. В Bullet Physics используется термин collision.

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

Broadphase Collision Detection

Первый этап — это найти пересечение AABB коробок. AABB — это две точки, которые описывают коробку внутри которой лежит объект. Идея такая, что если два объекта пересекаются, то и их AABB коробки пересекаются.

Эту проблему в BulletPhysics решает один из трёх алгоритмов. Они реализованы в виде классов, реализующих btBroadphaseInterface.

1. Самый очевидный и неэффективный это btSimpleBroadphase, это простой перебор всех пар O(n^2).

2. btAxisSweep3 работает в ограниченном пространстве. Вы задаёте AABB коробку, внутри которой предполагается будут находиться все объекты. Это может показаться неудобным, но из- за того, что числа с плавающей точкой с увеличением значения теряют точность, вы все равно не сможете симулировать что-либо на расстоянии миллиона единиц так, как если бы вы это делали на расстоянии 10 единиц от центра координат (единица обычно считается метром).

3. btDbvtBroadphase организует все объекты в двух древовидных структурах, одно для статических объектов, другое для динамических (rigid, kinematic) тел.

Narrowphase Collision Detection

После того, как найдены группы объектов, чьи AABB коробки пересеклись, происходит проверка, есть ли пересечение в действительности.

Тут следует вспомнить, что у всех объектов задаётся форма (shape), может быть шар, цилиндр, коробка, выпуклый многогранник для rigid body или просто многогранник для static body. Так же есть составная форма из форм, перечисленных предыдущем предложении.

Для каждой пары определён алгоритм нахождения точек и перпендикуляров пересечения.


Решение

Отлично, все пересечения найдены, что делать дальше? Раз движок у нас impulse based, то следует рассчитать такой импульс, которым пихнуть два коснувшихся объекта, чтобы все выглядело реалистично.

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


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

Полезный совет вместо прощания

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

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

Решения от HYPERPC

GAMING X

Серия геймерских ПК от HYPERPC – это универсальные машины для гейминга, стримминга и всего, что связано с играми.

HYPERPC GAMING X2 – модель базового уровня, но с карточкой GIGABYTE GeForce RTX 3070 GAMING вы получаете доступ ко всем современным играм и даже к VR, эта серия поддерживает технологию интеллектуальной трассировки лучей от NVIDIA (RTX). Процессор Intel® Core™ i5-11600K(F).

HYPERPC GAMING X4 работает на базе топовой комбинации процессора Intel® Core™ i9-11900K(F) и . Если любой из компонентов вам кажется неподходящим, то замените его через конфигуратор на нашем сайте перед покупкой.

Мышка

Если в World of Warcraft характеристиками компьютера можно немного пренебречь, то мышью – никогда. Это одна из тех игр, в которых грамотный подбор аксессуаров сможет помочь вам в геймплее.

HyperX Pulsefire Raid – это лазерная мышь нового поколения с чудовищной скоростью отклика в 1000 Гц и разрешением сенсора в 16000 Dpi. Но главным ее достоинством является наличие дополнительных клавиш, их тут 11. Все «лишние» кнопки можно использовать для быстрого применения способностей и предметов.

Razer Naga Trinity станет настоящим оружием в войне, мышь специально разработана для MOBA и MMORPG игр. В комплекте идут три сменных боковых панели на 2, 7 и 12 клавиш. 2 кнопки для шутеров, 7 для MOBA и 12 для MMORPG. В World of Warcraft системными требованиями разработчики пытаются лишь очертить границы минимально необходимого железа, но данная мышь действительно заслуживает быть в списке рекомендованного оборудования.

Что такое эмуляция?

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

Используется при проектировании новых микропроцессоров и при тестировании программ написанных для различных систем.

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

Теоретически, согласно тезису Чёрча — Тьюринга, любая операционная среда может быть эмулирована в любой другой среде. На практике, однако, встречается ряд трудностей; в частности, точное поведение эмулируемой системы часто не документированно и должно быть исследовано и определено с помощью обратной разработки.

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

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

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

* эмулятора или симулятора центрального процессора
* модуля подсистемы памяти, эмулирующего ОЗУ и ПЗУ
* модуля или модулей эмуляции различных устройств ввода/вывода

Системная шина обычно не эмулируется, по причинам упрощения или повышения производительности, и виртуальная периферия общается непосредственно с модулем ЦП и модулем памяти.

Эмуляция - симуляция

Пользуясь определениями, данными WMD, можно привести такой пример:

Кошка - пушистая и ловит мышей;
Мышеловка - ловит мышей, но на кошку не похожа - (эмулятор кошки) ;
Мягкая игрушка "кошка" - выглядит как кошка, но мышей не ловит - (симулятор кошки).

Первый термин только в технике:

Ну выходит, что симуляция обязательно эмуляция?

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

Меня интересует пересекаемость этих терминов

Я думаю трактовка в каждой отрасли исторически сложилась своя.
Могу привести пример из электроники, а в частности, из отладки алгоритмов микроконтроллеров.

Эмуляция - это воспроизведение работы микроконтроллера с разрабатываемым ПО в составе готовой, реально существующей схемы, с помощью либо самого микроконтроллера+отладчика железного (чаще всего jtag)+отладчика программного (gdb и еже с ним) , либо специального устройства - эмулятора (так было не так давно) +того же отладчика программного. Эти эмуляторы имели набор специальных адаптеров: кабель + система контактов с конфигурацией повторяющей footprint (цоколёвку) микроконтроллера.

Симуляция - это воспроизведение работы микроконтроллера сугубо виртуально, на движке специальной программы, например популярной Proteus, или более академический MatLab+Simulink+ дополнения, реализующие непосредственно модель контроллера.

Вобщем думаю идея такова: Эмуляция - мы что-то вместо чего-то подставляем, заменяем компонент системы. Симуляция - полный виртуал, всё понарошку.

Графика

Визуальное оформление в игре – это ее слабое место, несмотря на годы разработки, сказывается возраст старушки. ВОВ системными требованиями всегда радовала владельцев старых маломощных ПК. Это общая черта для большинства онлайн-игр, им приходится делать игру для всех игроков, в том числе и со слабыми железом.

Но последнее обновление Shadowlands намекает, что вам в скором времени потребуется мощный комп для World of Warcraft. Чего стоит NVIDIA GeForce GTX 1080 в графе «рекомендуемые» и оптимальный объем видеопамяти в 8 Gb, далеко не все современные игры имеют такие требования.

Однако любители покопаться в файлах дополнения нашли в Shadowlands ряд упоминаний о трассировке лучей. Так что лучше всего запастись новенькой карточкой RTX 3070.

Вселенная Warcraft

Мир Warcraft отличается глубиной и тщательной проработкой сюжета. Настолько тщательной, что в штате Blizzard есть целый отдел историков по вселенной Warcraft под руководством Шона Коупленда. Они занимаются тем, что изучают и анализируют всю историю игры, чтобы новые квесты и развитие сюжета не противоречило прошлым событиям и логике.

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

История развивается постепенно в каждом дополнении к игре, выход нового контента рассказывает историю и вводит новый контент. Самое свежее и ожидаемое – World of Warcraft Shadowlands, которое расскажет о Темных Землях, куда попадают души погибших.

Особенности дополнения

Требования World of Warcraft к отдаче и полному погружению в игровой процесс всегда были высокими. И то, что прокачка персонажа была длительным и скрупулезным процессом, вызывало недовольство новичков. Изменения принесло Shadowlands – новое дополнение World of Warcraft. Максимально персонажа можно будет прокачать до 60 уровня, и несколько изменилась логика процесса.

— Это мой первый бой. Что мне делать?
— Не умирать.
Варок Саурфанг

Данный патч должен залатать все проблемы и недочеты предыдущих версий игры:

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

Из нового контента в дополнении Shadowlands будет бесконечный данж и ковенанты.

Ковенанты

Это такие своеобразные фракции, к которым может присоединиться игрок, за улучшение отношений вам будут даваться новые способности и баффы. По ЛОРу игры это четыре основных клана, которые управляют территориями в новой локации «Темные земли».

Кирии, властители Бастиона

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

Вентиры, повелители Ревендрета

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

Ночной народец заправляет в Арденвельде

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

Некролорды обитают в Малдраксусе

Нежить есть нежить, способность «Скульптор плоти» создает щит из плоти и костей, его прочность равна некоторой части вашего максимального запаса здоровья. Возле мертвых мобов и боссов вы получите более мощную защиту, но нужно находиться рядом с ними во время создания.

Помимо игровых бонусов вы получите косметическую награду за получение определенного уровня отношений.

Но в любом случае все начинается с выбора расы и пола вашего героя. При этом можно настроить его внешний вид (тут тоже есть изменения) и некоторые другие параметры. Затем вас выпускают в огромный полностью открытый для вас мир Азерота.

Новое дополнение принесло новые локации – стартовая для новичков, красивый парящий Бастион (загробный мир игры), нависший над ним зиккурат, новые подземелья (в том числе бесконечные, и их можно проходить самостоятельно или группой).

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

Компьютер для World of Warcraft: Shadowlands

World of Warcraft – наиболее успешный проект в жанре MMORPG и один из самых старых, релиз игры состоялся в 2004 году. Разработкой занимается студия Blizzard Entertainment.

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

Если сложить все время, которое игроки потратили на игру, то получится более миллиона лет. А если разделить это время на количество игроков, то получится, что каждый в среднем провел 30 суток в игре.

Как выбрать компьютер для WoW

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

Видеокарта

Собирать компьютер в 2020 году нужно из современных комплектующих. На выбор у вас карты NVIDIA GeForce RTX от 2060 до 2080 Ti. Если вы не фанат полумер, то выбирайте из самых последних RTX 30 серии. Они будут полезны стримерам и видеоблогерам, так как имеют ряд технологий, которые позволяют работать с веб-камерой и делать студийный звук даже из дешевой гарнитуры.

RTX 2060 SUPER – оптимальный вариант из современных моделей к компьютеру для World of Warcraft. Вы сможете играть на максимальных настройках в FullHD разрешении.

Если вы относите себя к тем геймерам, которые не приемлют компромиссов, то ваш выбор – RTX 2080 SUPER. Это мощная карточка с хорошим запасом памяти и высоким уровнем производительности. Можно будет попробовать все современные новинки и поиграть в VR игры с топовыми шлемами от HTC, Xiaomi, Oculus и другими.

Процессор

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

  • Базовые: Intel Core i5-10400(F), i5-10600(F), i5-10600K(F); AMD Ryzen 5 3500X, 5 3600X

Классическая базовая серия для настольных ПК. Они полностью справляются с любыми играми на FullHD и 2К, также можно использовать под 2,5К. Достаточно мощные для VR на средних и начальных гарнитурах, лучше всего комбинировать с картами младше RTX 2080.

  • Геймерские: Intel Core i7-10700(F), i7-10700K(F); i9-10900K(F); AMD Ryzen 5 5600X, 73800X, 7 5800X

Идеальные машины для гейминга без границ, стримов и работы с видеофайлами любого размера. Вы сможете также запускать и создавать трехмерные сцены практически любого размера. Можно брать с любыми картами под 4К разрешение и меньше. Любой из этих камушков – хороший вклад в будущее, так как вам хватит такой производительности на долго.

  • Профессиональные: Intel Core i9-10900X, i9-10920X, i9-10940X, i9-10980XE; AMD Ryzen 9 3900X, 9 3950X, 9 5900X, 9 5950X

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

Оперативная память

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

Минимальный объем для игр – 16 Gb двумя плашками, можно и больше как по объему, так и по количеству плашек, но нужно оставлять запас для апгрейда.

Накопитель

HDD – для емкости, SSD – для скорости. Использование обеих типов накопителей позволит вам сохранить большой объем памяти на компьютере и ускорить работу программ, не выходя за рамки бюджета.

SSD m.2 – это устройство нового поколения, топовые модели имеют показатели скорости чтения и записи до 3,5 GB/c, в то время как SATA устройства сильно ограничены в этом плане.

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

Системные требования WoW

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

Минимальные

Минимальные системные требования чаще всего бесполезны, так как говорят нам о железе, на котором игра пойдет с минимальным FPS и разрешением FullHD при минимальных настройках графики.

  • ОС: 7/8/8.1/10;
  • Процессор: Intel Core i5-7600;
  • Оперативная память: 4 GB;
  • Видеокарта: NVIDIA GeForce GTX 560 2GB;
  • Место на диске: 70 GB на HDD с минимум 7200 RPM.

Рекомендуемые

Так как в игре нет текстур высокого разрешения, можно с уверенностью сказать, что рекомендованные требования обеспечат вам комфортный геймплей на разрешении FullHD с FPS 60 с высокими настройками графики. Тут уже интересно то, что нам рекомендуют SSD, игра действительно очень большая – 70 Gb! И чтобы загрузка не превратилась в тягостное ожидание, нужен быстрый накопитель.

  • ОС: Windows 10;
  • Процессор: Intel Core i7-4770;
  • Оперативная память: 8 GB;
  • Видеокарта: NVIDIA GeForce GTX 960 4GB;
  • Место на диске: 70 GB на SSD.

Максимальные

Разработчики отстают от современных тенденций, геймеры не хотят играть на скучном FullHD, 2К набирает популярность. Жесткий контроль персонажа, который требуется от вас в рейдах, может быть нарушен низкой производительностью из-за огромного количества эффектов от заклинаний и атак. Чтобы этого не произошло, карту нужно выбирать с запасом, и желательно не на 60 FPS в FullHD, а на 120 FPS в 2К при максимальных настройках графики.

Мы составили приблизительный набор современного железа компьютеру для WoW. Отличительная особенность нашей сборки в том, что мы предлагаем отказаться от старомодного слоупочного SSD SATA и порекомендовать вам SSD m.2, который может развивать скорость чтения/записи до 7 раз больше, чем обычный SSD.

  • ОС: Windows 10;
  • Процессор: Intel Core i7-10700 или AMD Ryzen 5 3600X;
  • Оперативная память: 16 GB DDR4;
  • Видеокарта: NVIDIA GeForce RTX 2070 SUPER;
  • Место на диске: 70 GB на SSD m.2.

Ультра

Так как стало известно о том, что вскоре будет доступен режим трассировки лучей от NVIDIA, то нужно выбирать карточку с расчетом на 2К-2,5К разрешение RTX on. Такие требования позволят вашему компьютеру без проблем играть и не испытывать никаких трудностей с FPS даже в самом тяжелом рейде. Желательно иметь 2,5К монитор, например ASUS TUF Gaming VG35VQ.

  • ОС: Windows 10;
  • Процессор: AMD Ryzen 5 5600X или Intel Core i7-10700K;;
  • Оперативная память: 16 GB DDR4 3200 MHz;;
  • Видеокарта: NVIDIA GeForce RTX 3070;;
  • Место на диске: 70 GB на SSD m.2.

Читайте также: