Функции физического движка. Частичное отключения кэширования

10.05.2019

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

Что такое движок сайта в общем?

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

Зачем нужен движок?

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

Кто делает движки?

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

Какие бывают движки?

Они бывают платные и бесплатные, простые и сложные, и т.д. и т.п. Если конкретнее, то самыми популярными являются такие: WordPress, Drupal, Bitrix, OpenCart . На двух последних особенно часто делают магазины, а вот личные сайты-блоги и визитки чаще делают на WordPress, который и является самым популярным.

Как установить движок?

Систем управления сайтом существует очень много, и у каждой может быть свой процесс установки. По крайней мере, полезно знать об установке самого популярного – WordPress. Эту процедуру я описал в .

Как управлять сайтом через движок?

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

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

Вывод

А вывод такой: движок – это хорошо. Новичкам я советую установить WordPress и научиться работать с ним. Выше вы можете найти ссылку на статью по установке WP на сайт.

08 Апреля 2015

Как работать с движком joomla новичку?

Многие пользователи уже знают о таком движке, как joomla. Работать с ним просто одно удовольствие. Кто еще не успел, то пусть обновит до новой версии. После того, как скачали joomla на хостинг у каждого есть доступная панель управления и конечно главная страничка. Нужно подумать о структуре сайта.

Каждый веб-мастер, даже начинающий, должен знать, как пользоваться joomla. Если у вас есть 30 или 50 статей, то их нужно будет разбить по категориям. Это будет сделать не сложно. И вы собираетесь создать 2 категории. Тогда необходимо делать 1 раздел ресурса и 2 категории. При создании статей можно будет выбирать категории. Все очень просто.

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

Как создать раздел? Заходится в админку и там есть на главной странице «разделы». Затем уже нужно выбрать «материалы» и – менеджер разделов. И можно смело нажимать «создать» после чего в заголовок уже вводится псевдоним. Нажимайте кнопку «создать».

Что можно сделать вместе с joomla? Стоит отметить, что создать на движке joomla можно совершенно любые сайта. Ресурс может состоять из страниц, на которых содержится контент.

Создавайте блоги. Это информативные сайты или платформа для обсуждения. Там люди делятся своими мыслями и идеями с подписчиками. Есть сайты-визитки, которые посвящены бренду. Обычно такой ресурс сосредоточен на раскрутке какой-то марки или компании. Есть еще сообщества. Это сайт, где собираются люди с одинаковыми интересами. Им есть, о чем поболтать.

От автора: приветствую вас, друзья. Данная статья рассчитана на новичков, на тех, кто совсем недавно установил CMS DLE и хочет узнать, как работать с DLE. Итак, давайте вкратце узнаем, что же это за движок такой и как с ним работать. Приступим?

Итак, вы только что установили DLE или собираетесь его установить. Если вы все еще сомневаетесь в том, стоит ли использовать эту CMS или возможно стоит познакомиться с другим движком, тогда стоит для самого себя ответить на один простой вопрос: — для каких целей вам нужен сайт?

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

Хорошо, для блога или новостного сайта (если именно такова тематика вашего ресурса) DLE подойдет. А что насчет преимуществ самого движка? Об этом также можно прочесть на той же главной странице офсайта:

К безусловным преимуществам движка можно отнести его производительность. DLE — это действительно одна из самых быстрых CMS и если скорость работы сайта для вас важна, тогда DLE будет неплохим выбором.

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

Кстати, а как попасть в админпанель? Находится она по адресу http://your-site/admin.php. Перейдя по нужному адресу, мы увидим форму авторизации для доступа к святая святых нашего сайта — его админки.

Ну а о подробнее о работе с админкой DLE вы можете прочесть в статье . В этой статье мы пройдемся по наиболее часто используемым пунктам админки и познакомимся с админпанелью детальнее. На этом я с вами прощаюсь. Удачи!

В этой статье мы рассмотрим использование физики для имитации броска снарядов (да, прямо как в Angry Birds). Мы обратим внимание на основы использования 2D физики, а также на создание физических тел, импульсов и сил. Не забудем отметить и наиболее популярные игровые движки для симуляции физических 2D миров.

Обратите внимание, что для этой статьи уже доступно продолжение: и

Функции физического движка

Зачем нам использовать какой-то физический движок? И что это такое на самом деле?
Б
Вообще физический движок очень полезен. Он позволяет сделать за нас две важные вещи:

  • Обнаружение столкновений (коллизий) между нашими игровыми объектами;
  • Имитация силы и движений в результате столкновений.

Обнаружение столкновений

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

Имитация силы

Что должно произойти после столкновения? Могут произойти различные явления: может прыгнуть персонаж, может прыгнуть какой-то другой игровой объект, а может вы просто будете двигаться в каком-то направлении. Все это выполняется движком за кадром. Но силы, которые может имитировать физический движок, не ограничены столкновениями. Существуют такие понятия, как гравитация и импульс. Они могут применяться к телам, даже если те не сталкивались. Также такие силы могут влиять на действия, которые происходят в игре, на движения героев и даже на сам мир.

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

Выбор физического движка

На этом этапе у вас есть два варианта. Оба варианта имеют как достоинства, так и недостатки:

  1. Использовать существующий физический движок;
  2. Написать свою реализацию (с преферансом и куртизанками).

Использование существующего движка

Существуют несколько отличных готовых вариантов. Один из самых популярных движков для 2D игр это, безусловно, Box2D . Написан был изначально на C++, однако был портирован практически на все популярные языки программирования. Другим достаточно известным движком является Chipmink 2D , который используется как основной в таких фреймворках, как Cocos2D .

Написание своего движка

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

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

Цикл игры

Прежде чем рассматривать свойства и детали моделирования физики, давайте посмотрим на то, что происходит в каждом игровом кадре при подходе «в лоб»:


Типичный цикл игры для каждого кадра будет проходит четыре шага в следующем порядке:

  • Вход в кадр;
  • Обновление игровой логики;
  • Симуляция физики;
  • Отрисовка кадра.

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

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

Фиксированная частота кадров против варьируемой

Давайте поговорим о частоте кадров: фиксированной (fixed rate) и варьируемой (frame dependent rate). Метод update вызывается один раз за кадр игровой сцены. Если ваш метод симуляции физики вызывается из метода update, то ваш физический мир будет зависеть от частоты кадров. Это может привести к нереалистичному поведению физических тел. В iOS этот эффект решается за счет использования булевского свойства usesPreciseCollisionDetection . Но что насчет других операционных систем?

Рассмотрим отрывок кода:

CFTimeInterval timeSinceLast = currentTime - self.lastUpdateTimeInterval; self.lastUpdateTimeInterval = currentTime; if (timeSinceLast > 1) { timeSinceLast = 1.0/60.0; }

Этот код предназначен для компенсации проблем с дельта-значением времени. Актуально это будет в том случае, если во время игры вам позвонили. Тогда вы сможете при помощи такого алгоритма восстановить дельта-значение времени (для игры с 60 FPS).

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

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

Все мы слышали про движки для создания игр, при этом мало кто понимает, что это такое.

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

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

Понятие

Игровой движок или game engine – это изначальное программное обеспечение, разработанное для создания на его основе компьютерных игр, зачастую определённого жанра.

Термин образовался в средине 90-х по отношению к шутерам вроде Quake, Wolfenstein и Doom .

Еще до возникновения такого понятия игровой мир заметил, что удивительно хорошо сочетали в себе:

  • трехмерную графику;
  • расчёт столкновений с объектами;
  • объемный игровой мир;
  • звуковую составляющую;
  • инвентарь (система вооружения) и другие правила.

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

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

Использование game engine для нескольких платформ или жанров делает его менее унифицированным и оптимальным, он не раскроет свой потенциал.

Разновидности

Движки для разработки игр специализируются на жанрах.

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

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

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

Шутер

Благодаря им появилось понятие движка, с них и начнём.

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

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

Платформер

Обычно это двухмерные развлечения, к ним требования более снисходительны:

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

Файтинг

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

Нередки в файтингах и сетевое взаимодействие, кастомизация персонажа, появление последствий драки (царапины, ссадины), добивающие приёмы.

Гонки

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

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

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

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

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

Прочий функционал:

  • визуализация сцен с широким цветовым пространством;
  • использование десятков источников света в кадре;
  • полностью динамическое освещение;
  • размытие в движении без влияния на производительность;
  • отличное распараллеливание процесса визуализации;
  • расчёт распространения звука, его поглощение и отражение от преград;
  • множество условий боя;
  • удобная и понятная система скриптования;
  • система анализа топологии ИИ;
  • персонажи наделены зрением, слухом и прочими чувствами, что делает их серьёзными противниками;
  • групповое поведение.
  • сложность процесса портирования игр на консоли;
  • не оригинальная разработка, а усовершенствованный X-Ray (факт не доказан, но намёки на это есть);
  • поддержка DirextX12 не реализована.
  • улучшена графическая часть;
  • разрушаемость моделей и прочие преимущества PhysX;
  • нет спецэффектов ради спецэффектов (добавляются только необходимые).

Игры: серия Metro, в том числе разрабатывается Metro Exodus, и Arktika.1.

Яркий пример реализации личных амбиций и один из немногих всемирно известных движков, созданных на просторах СНГ.

Anvil

Создан дочерней компанией Ubisoft, используется для выпуска и только внутри компании.

Первой игрой была первая часть Креда Убийцы, затем появился симулятор сноуборда и Prince of Persia.

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

Поддерживается на PC, PS всех версий, Nintendo, Wii и Xbox.

Код написан на C++, модели нарисованы в ZBrush, а окружающий мир – в 3ds Max. Для правильной скелетной анимации задействовано . Физику виртуального мира моделирует легендарный Havok. В последних релизах было уделено немало внимания смене времени суток, динамическому освещению и дистанционной прорисовке. Также в него была интегрирована прогрессивная схема растительности (как в Far Cry 2) с новым ИИ, важным отличием коего является усовершенствованная система навигации NPC. Реализация и отладка Direct3D 10/11 хоть и весьма затратные, работа все же была проделана.

Среди неназванных особенностей движка выделим следующие:

  • оптимизация работы на многоядерных системах, вплоть до 32 потоков;
  • запуск игр на нескольких экранах в панорамном режиме;
  • сложный шумовой туман, способный симулировать песчаную бурю без падения fps;
  • эффекты преломления, отражения и рассеивания света в воде;
  • до шести отличающихся персонажей в одной кат-сцене;
  • большинство анимаций снято с реальных актеров;
  • в одной сцене может находиться до 3 тысяч участников, что позволяет устраивать массовые баталии, лишь бы ПК справился с нагрузкой;
  • NPC активно реагируют на героя, могут нападать одновременно, а не поочерёдно;
  • технология отсечения моделей и сортировка объектов по глубине прорисовки.
  • требователен к ресурсам;
  • не лицензируется;
  • долго не поддерживал DirectX 10 и 11.
  • хорошая реализация многопоточности;
  • работает на PC и множестве консолей;
  • возможность реализации массовок при участии сотен игровых персонажей.

С Ubisoft, в плане устроить массовую заваруху и нагнать побольше людей в одно место, не сравнится никто.

Creation Engine

Довольно новый движок от американской студии Bethesda, которая продемонстрировала его возможности в Skyrim. Как и предыдущие решения, создан только для нужд его разработчика. За основу был взят Gamebryo – подспорье для Oblivion и его аддонов.

Первое, что интересно в технологии – поддержка огромных локаций с дальней прорисовкой, свободным и быстрым перемещением.

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

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

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

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

Для анимации персонажей использован посторонний инструмент от Havok.

Особенности:

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

Ничего лучшего для моддеров пока не придумано, поэтому больше, чем для Fallout, их создано только для Oblivion.

CryEngine 4

Последняя версия движка от немецкой компании Crytek для шутеров от первого лица.

Самый удачный пример использования – .

С 2016 года движок стал распространяться по схеме «заплати, сколько не жалко», но только для игрового использования.

Особенности и возможности:

  • наличие огромных территорий, причем не коридорных;
  • локации создаются без швов;
  • поддержка инверсной кинематики персонажей и транспорта, его взаимодействия с окружающей средой;
  • имитация различных нетвёрдых объектов: ткань, вода;
  • огромный арсенал с уникальными характеристиками каждого вида оружия;
  • скриптовый и командный интеллект;
  • можно изменять параметры ИИ, не имея знаний в области программирования;
  • интерактивное музыкальное сопровождение – музыка соответствует ситуации;
  • полная поддержка звуковой системы 5.1;
  • воспроизведение звуков природы с учётом среды, отражения и поглощения звука;
  • реалистичный эффект жары и пожара;
  • прозрачность стекол – можно видеть, что находится в зданиях;
  • эксплуатация карт высот для получения многоуровневой среды с видимым расстоянием до 2000 м;
  • невероятные возможности работы с освещением и тенями, что отлично демонстрирует Crysis;
  • объемный густой туман и дым для придания атмосферы;
  • наличие необычных физических эффектов (например, нанокостюма).