Geo Mod 2 () — игровой движок, разработанный американской студией Volition, Inc. в 2009 году и используемый в разработанных ею компьютерных играх «Red Faction: Guerrilla» и «Red Faction: Armageddon». «Geo Mod 2» является преемником игрового движка «Geo-Mod» 2001 года, также разработки Volition, и его отличительной особенностью являются широкие возможности по разрушению игрового окружения. Название движка происходит от слов «Geometry Modification Technology» (). «Geo Mod 2», как и его предшественник, являются проприетарными программными продуктами, разработанными Volition для внутренних целей и потому не лицензируемые. «Geo Mod 2» является кроссплатформенным программным обеспечением и поддерживает IBM PC-совместимые компьютеры под управлением операционный систем семейства Microsoft Windows и игровые консоли Xbox 360 и PlayStation 3.
Разработка и использование Разработка «Geo Mod 2» началась приблизительно в 2004 году, за 5 лет до выхода компьютерной игры «Red Faction: Guerrilla», небольшой частью команды Volition, тогда как бо́льшая её часть работала над игрой «Saints Row». «Geo Mod 2» был первым компонентом «Red Faction: Guerrilla», который начал разрабатываться, так как от него зависел геймплей и облик игры.
«Red Faction: Guerrilla» была официально анонсирована 20 февраля 2008 года. В пресс-релизе было сказано, что игра «переопределит границы основанного на разрушениях геймплея» и будет содержать физически правильные разрушения.
«Geo Mod 2» изначально назывался «RED» (Realtime Environment Destruction — окружение, разрушающееся в реальном времени), но затем был переименован в текущее название.
31 октября 2008 года ассоциированный продюсер «Red Faction: Guerrilla» Шон Кеннеди () в эксклюзивном интервью «The Official Xbox Magazine» сообщил, что Volition испытывала проблемы с движком на PlayStation 3, и в решении этих проблем разработчикам пришлось прибегнуть к помощи специалистов из Sony. Согласно Кеннеди, ограниченный объём доступной памяти на PlayStation 3 был главной проблемой при портировании «Geo Mod 2» на эту консоль, малейшие изменения в механизме движка во время его разработки сражу же приводили к проблемам с памятью, а дополнительным фактором было стремление Volition сделать функциональные возможности и производительность «Red Faction: Guerrilla» одинаковыми для трёх целевых платформ. Только привлечение специалистов по консоли из Sony смогло решить эту проблему. Также Кеннеди добавил, что при разработке «Geo Mod 2» возможности PlayStation 3 и Xbox 360 были использованы до предела.
В конце марта 2009 года, незадолго до выхода «Red Faction: Guerrilla», главный дизайнер проекта Джеймс Хейг () в интервью Eurogamer заявил, что система разрушений из Geo-Mod, которая будет представлена в «Red Faction: Guerrilla», опережает своих конкурентов на 5-10 лет.
24 апреля 2009 года сайт Strategy Informer опубликовал интервью с Шоном Кеннеди, которое было направлено на «Geo Mod 2» и его применение в «Red Faction: Guerrilla». В интервью Кеннеди сообщил, что «Geo Mod 2» обгоняет своих конкурентов на 3—5 лет, а также что использование этого движка было бы невозможным ранее, без доступных вычислительных мощностей. Кеннеди сообщил, что разработчики «Red Faction: Guerrilla» решили не использовать технологии и геймплейные концепции из первых двух игр серии, а создать игру с новым геймплеем и технологическим уровнем. Однако вычислительные мощности на тот момент были недоступны, поэтому разработчики были вынуждены отложить разработку игры на некоторое время. Позже вышли консоли седьмого поколения Xbox 360 и PlayStation 3, которые могли обеспечить необходимые вычислительные ресурсы, поэтому разработка была продолжена. Помимо этого, Кеннеди заявил, что демонстрация «Red Faction: Guerrilla» и «Geo Mod 2» на Game Developers Conference 2009 произвела большое впечатление на других разработчиков, которые заявили, что их собственные технологии даже близко не подошли к уровню Volition.
28 июля 2009 года на сайте PC Games Hardware было опубликовано интервью с президентом Reactor Zero Мэттом Тошлогом (), продюсером Volition Риком Уайом () и главным программистом физики Эриком Арнольдом (). Интервью целиком было сфокусировано на технологической составляющей ПК-версии «Red Faction: Guerrilla», а именно на физических разрушениях, графике и отличиях от консольных версий.
Игра «Red Faction: Guerrilla» вышла 2 июня 2009 года для консолей PlayStation 3 и Xbox 360, версия для PC вышла 15 сентября 2009 года. При этом Volition разработала лишь консольные версии, а портирование на ПК осуществляла сторонняя компания Reactor Zero.
«Red Faction: Armageddon» стала второй игрой, использующей «Geo Mod 2», причём использовалась его улучшенная и доработанная версия — «Geo Mod 2.5». В этой версии движка была улучшена производительность системы разрушения, была добавлена физика тканей и улучшена графическая составляющая.
12 февраля 2011 года сотрудники журнала Computer and Video Games взяли интервью у Эрика Арнольда, которое было полностью посвящено движку, описанию его разработки и трудностей, возникавших в его разработчиков.
В конце июля 2011 года, через некоторое время после выхода «Red Faction: Armageddon», владелец студии Volition, Inc. и серии игр Red Faction компания THQ официально сообщила о закрытии этой серии. Из-за низкого коммерческого успеха последней игры было решено полностью прекратить развитие и поддержку бренда Red Faction. Студия Volition переключилась на разработку других игр.
28 июля 2011 года в интервью журналу NowGamer Грег Донован (), сотрудник Volition, сообщил, что студия планировала использовать «Geo-Mod 2» в игре «Saints Row: The Third», однако в конечном счёте решила отказаться от этой идеи. Первой причиной отказа стало то, что перенести локации и окружение из «Saints Row: The Third» на «Geo-Mod 2» было бы очень тяжелым, хотя и в принципе выполнимым заданием. Вторым фактором отказа Донован назвал то, что разрушения не ассоциируются с концепцией и геймплеем серии «Saints Row», и такое нововведение могло бы быть отличным от того, что ожидают от игры фанаты. Третьим фактором было названо большое количество сюжетно важных зданий в игре, разрушив которые, игрок не смог бы продолжать двигаться по сюжету игры.
В конце сентября 2011 года в интервью журналу Xbox World Грег Донован сообщил, что Volition не планирует отказываться от движка «Geo-Mod» даже несмотря на то, что серия Red Faction отменена. Донован подчеркнул, что, несмотря на то, что использование «Geo-Mod» в новых играх не определено, однако этот движок является самой развитой и продвинутой технологией Volition, и он уверен, что её развитие будет продолжено.
Характеристики «Geo Mod 2» является мультиплатформенным (кроссплатформенным) игровым движком, способным работать на IBM PC-совместимых компьютерах под управлением операционной системы Microsoft Windows и игровых консолях Xbox 360 и PlayStation 3. «Geo Mod 2» также является многопоточным движком, минимальное число потоков равняется двум, поэтому он не способен работать на однопоточных системах. Этими двумя важнейшими потоками являются обработка графики и физики. Вместе с тем, в случае использования ПК увеличение количества доступных в системе вычислительных потоков не приведёт к заметному улучшению производительности. В случае консолей сделаны дополнительные оптимизации для максимального использования всех доступных ресурсов, в том числе дополнительных потоков.
Физика и система разрушений Основной, наиболее заметной, высоко оцененной журналистами особенностью игр серии «Red Faction» является возможность разрушать окружение игрового мира. Первые две игры серии — Red Faction (2001) и Red Faction II (2002), — использовали «Geo-Mod» первой версии, который позволял деформировать ландшафт уровня и пробивать дыры в строениях, однако был лишен физической составляющей: разрушение частей построек являлось больше визуальным (графическим) приёмом, нежели физически достоверным взаимодействием. В «Geo Mod 2» возможность деформирования ландшафта была убрана, однако разрушение строений стало «подчиняться» физическим законам.
«Geo Mod 2» в качестве физического движка использует «Havok» от одноимённой компании для симуляции твёрдых тел. Разработчики из Volition несколько модифицировали «Havok» для придания ему необходимых свойств, при этом тесно сотрудничая с компанией Havok для достижения максимальной производительности. Система определения момента разрушения строений (т. н. стресс-система) была полностью создана Volition.
Согласно Эрику Арнольду, главному программисту физики в Volition, перед началом работ над системой разрушений «Geo Mod 2» разработчики изучили все программные решения моделирования игровой физики, представленные на рынке, и в итоге остановились на «Havok». Причинами этого решения была названа лучшая большая нацеленность на кроссплатформенность и очень качественная техническая поддержка.
На вопрос журналиста о использовании PhysX и переносе физических вычислений на графический процессор Арнольд ответил, что в случае «Red Faction: Guerrilla» это решение не подходит, так как в процессе разрушения сложного строения нагрузка на графическую систему серьёзно возрастает. При разрушении сложного строения за очень короткое время создаётся множество новых отдельных объектов, визуализацию и анимацию которых необходимо обрабатывать графическому процессору. Поэтому необходимо обеспечить приблизительно равное время для вычисления физического разрушения посредством центрального процессора с одной стороны и рендеринг сцены с резко возросшей вычислительной сложностью при помощи графического процессора с другой стороны; время на вычисление этих двух задач должно быть примерно одинаковым, чтобы ни одно из них не становилась «тормозом» для другой.
Согласно Эрику Арнольду, изначально разработчики столкнулись с большими трудностями при разработке системы разрушений, которые были связаны с очень низкой производительностью. Если здание, состоящее из около 1000 составных частей, начинало рушиться, количество столкновений и взаимодействий между этими частями росло экспоненциально и катастрофически снижало производительность. «Havok», используемый в «Geo Mod 2», не был рассчитан на такое большое количество объектов и взаимодействий, и изначально частота кадров при разрушениях падала до 5 — 10 FPS. Разработчикам потребовалось несколько лет, чтобы решить эту проблему.
Финальная версия системы разрушений, согласно Арнольду, представляет собою набор упрощений, аппроксимаций и «костылей». В целях оптимизации производительности разработчики переделали систему разрушений так, чтобы корректно взаимодействовали лишь те части здания, которые находятся в поле зрения игрока, а также максимально упрощали физические расчёты. Система определения разрушений строений была описана Арнольдом, как «повозка, запряженная волами». Несмотря на наличие некоторых базовых физических законов и уравнений, в бо́льшей мере эта система направлена на красивую визуализацию разрушения, нежели на корректное физическое моделирование. Она состоит из множества подсистем, каждая из которых требует тщательной подгонки в целях достижения баланса «точность/производительность». В процессе создания системы разрушения разработчики добивались визуальной реалистичности путём подстройки множества её параметров и параметров подсистем, а не путём физически корректных расчётов.
На вопрос журналиста о том, смогли бы разработчики смоделировать разрушаемый город наподобие представленного в «Saints Row» при помощи «Geo Mod 2». Эрик Арнольд ответил утвердительно, однако отметил, что с текущим уровнем аппаратного обеспечения это невозможно. Основным препятствием является память — для разрушаемого здания её требуется в приблизительно 10 раз больше, нежели для не-разрушаемого.
Графическая подсистема