понедельник, 1 июня 2020 г.

Собственные игровые движки: небольшое исследование



Пару недель назад я играл в A Plague Tale студии Asobo Studio (и прошёл её). Меня очень захватила эта игра, благодаря не только красивой графике, но и сюжету с локациями. Я решил немного изучить технологии, использовавшиеся при её разработке, и был удивлён, обнаружив, что игра создавалась на собственном движке относительно небольшой студии. Я знаю, что некоторые компании используют собственные движки, но очень сложно найти подробное маркетинговое исследование с подобной информацией. Поэтому я написал эту статью.

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

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

*Примечание: я стремился к максимальной точности при указании количества сотрудников (сверялся с веб-сайтами компании, Википедией или LinkedIn компании), но не стоит относиться к этим показателям с особым доверием (некоторые значения могут уже быть неактуальными).

КРУПНЫЕ компании



Слева направо: Assassin's Creed Odyssey, Final Fantasy XV, Red Dead Redemption 2

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

КомпанияСотрудникиСтудииДвижкиNotable Games
Activision/Blizzard~9200~9собственные движкиСерия Call of Duty, Overwatch, Starcraft II
Electronic Arts~9300~36FrostbiteStar Wars Battlefront II, Anthem, Battlefield 1/V, FIFA 20, серия Need for Speed
Ubisoft~16000~54AnvilNext 2.0Серия Assassin's Creed
Disrupt engineСерия Watch Dogs
UbiArt FrameworkRayman Legends, Child of Light, Valiant Hearts
SnowdropTom Clancy's The Division 2, The Settlers
Dunia (на основе CryEngine)Серия FarCry
Silex (на основе Anvil)Ghost Recon Wildlands
LEAD engineСерия Tom Clancy's Splinter Cell
На основе DuniaThe Crew
Capcom+2800~15MT FrameworkMonster Hunter: World
RE EngineResident Evil 7, Devil May Cry 5, RE2:Remake, RE3:Remake
Konami+10000~30Fox EngineСерия Pro Evolution Soccer, Metal Gear Solid V
Square Enix+4600~18Luminous StudioFinal Fantasy XV
Nintendo+6100~8собственные движкиZelda: BOTW, Mario Odyssey
Riot Games~2500~3собственный движокLeague of Legends
Rockstar+2000~9RAGE engineGTA V, Red Dead Redemption 2
CD Projekt+1100~4REDEngine 3The Witcher 3
Epic+1000~11Unreal Engine 4Fortnite

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

  • Capcom использует Unreal для новых игр Street Fighter IV/V.
  • В последних крупных хитах Bandai Namco используется Unreal: Jump Force, Dragon Ball Fighter Z, Dragon Ball Z: Kakarot, Tales of Arise.
  • Square Enix при разработке нескольких новых игр тоже перешла на Unreal: Dragon Quest XI, Kingdom Hearts III, Final Fantasy VII Remake

Любопытно заметить, что все три компании из Японии, возможно, это какой-то региональная рыночная тенденция. Также стоит сказать, что китайский холдинг Tencent владеет 40% Epic Games; наверняка он обладает определённым влиянием на азиатский рынок.

Студии среднего размера



Слева направо: Rise of the Tomb Raider, Uncharted 4, A Plague Tale

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

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

Было бы очень интересно знать, сколько инженеров работает в отделе разработки движков каждой компании; я уверен, что нас бы ждал сюрприз: вероятно, над движком и инструментами трудится совсем небольшой коллектив инженеров!

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


Слева направо: Horizon Zero Dawn, God of War, Death Stranding
КомпанияСотрудникиДвижокПримечательные игры
Creative Assembly+650Warscape EngineСерия Total War
Bungie~600Tiger EngineСерия Destiny
Infinity Ward+500IW 7.0Call of Duty: Infinite Warfare
Eidos-Montréal~500Dawn Engine (на основе Glacier2)Deus Ex: Mankind Divided
Bethesda~400Creation EngineSkyrim, Fallout 4, Fallout 76
Valve Corp.~360Source 2Dota 2, Half-Life: Alyx
Crystal Dynamics~350Foundation EngineRise/Shadow of the Tomb Raider
Avalanche Studios~320Apex engineСерия Just Cause, Renegade Ops, Mad Max, RAGE 2
Naughty Dog+300Naughty Dog Game EngineСерия Uncharted, Last of Us
Rebellion Developments~300Asura engineСерия Alien vs. Predator, серия Sniper Elite
Techland~300Chrome Engine 6Dying Light
Crytek~290CryEngine VThe Climb, Hunt:Showdown
From Software+280Dark Souls engineBloodborne, Dark Souls III, Sekiro
Remedy+250Northlight EngineQuantum Break, Control
Guerrilla Games+250DecimaKillzone Shadow Fall, Until Dawn, Horizon Zero Dawn
Larian Studios+250Divinity EngineСерия Divinity
Platinum Games~250Platinum EngineNieR Automata, Bayonetta, Vanquish
Santa Monica Studio+200собственный движокСерия God Of War
id Software+200idTech 6/7Doom, Doom Eternal, серия Wolfenstein
Sucker Punch+200собственный движокInfamous Second Son, Ghost of Tsushima?
Insomniac Games~180Insomniac EngineСерия Rachet&Clank, Marvel's Spider-Man
Quantic Dreams~180собственный движокDetroit: Become Human
IO Interactive~170Glacier2Серия Hitman
Asobo Studio+140ZounaA Plague Tale
Ready At Dawn~120собственный движокThe Order: 1886, Lone Echo
Mercury Steam~110собственный движокSpacelords, серия Castlevania:Lords of Shadow
Monolith Productions+100LithTechСерия F.E.A.R., серия Condemned, Shadow of Mordor/War
11 Bit Studios~100Liquid EngineFrostpunk
Frozenbyte~100Storm3DСерия Trine, Shadowgrounds
Kylotonn~100KtEngineСерия WRC, серия TT Isle of Man, V-Rally 4
TaleWorlds Entertainment~100собственный движокMount & Blade II: Bannerlord
Daedalic Entertainment~90Visionaire StudioThe Whispered World, серия Deponia
Media Molecule~80Bubblebath EngineDreams
Paradox Development Studio~80Clausewitz EngineImperator: Rome, Stellaris, серия Europa Universalis
Deck13~70FledgeLords of the Fallen, The Surge, The Surge 2
Nihon Falcom~60Yamaneko EngineYs VII, Ys VIII, Ys IX
Croteam+40Serious EngineThe Talos Principle, серия Serious Sam

Выводы, которые можно сделать из списка:

  • Судя по информации в титрах игры Rise of the Tomb Raider, над Foundation engine работает всего 10 программистов, это число можно использовать для понимания того, сколько людей обычно работает над ядром движка.
  • В Death Stranding Kojima Productions использует Decima engine, разработанный Guerrilla Games; ранее она использовала Fox Engine в Metal Gear Solid V.
  • Похоже, что последнюю игру/движок Media Molecule (Dreams) разрабатывали всего около 15 кодеров, потрясающе!
  • Компании, выполняющие разработку под одну платформу, обычно имеют меньше ограничений и могут максимально использовать возможности этой платформы. К сожалению, большинство компаний не может позволить себе такую роскошь.
  • Компания Asobo Studio, благодаря которой началось это маркетинговое исследование, кажется не особо маленькой… но, как и другие компании, она параллельно работает над несколькими играми.
  • Очень здорово, что в Википедии есть подробности о некоторых движках со списком выпущенных игр, это должно стать обязательной практикой.

Небольшие студии (инди-студии)



Слева направо: The Witness, No Man's Sky, X-Morph Defense

Здесь мы рассмотрим очень маленькие студии, тоже решившие создать для своих игр собственные движки. Стоит заметить, что для отдельных частей игры в таких движках применяются другие библиотеки/фреймворки. Чаще всего среди них встречаются SDL (кроссплатформенная библиотека графики и ввода), OGRE (движок рендеринга), MonoGame (кроссплатформенный игровой фреймворк, в котором также используются SDL, SharpDX, OpenTK, OpenAL-Soft...).

Многих людей может заинтересовать такой вопрос: какие же части движка на самом деле пишутся разработчиками? Бывает по-разному, но чаще сего кодеры занимаются менеджером экранаменеджером сущностей и менеджером контента, а также обёртками/интерфейсами для внешних библиотек.

Второй вопрос: в каких частях движка обычно используются внешние библиотеки/промежуточное ПО? Это тоже зависит от ресурсов компании, но обычно это звуковая системафизикарендерингработа с сетьюсистема UIсистема рельефасистема растительности и некоторые другие элементы.


Слева направо: Factorio, Thimbleweed Park, Owlboy

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

КомпанияСотрудникиДвижокПримечательные игры
Runic Games~40На основе OGREHob (2017 год), Tochlight II (2012 год)
Klei Entertainment35собственный движокInvisible, Inc. (2016 год), Don't Starve Together (2016 год), серия Shank
Shiro Games~30Heaps.ioNorthgard (2018 год), Evoland (2013 год), Evoland II (2015 год)
Hello Games~25No Man's Sky EngineNo Man's Sky (2016 год)
Frictional Games~25HPL engineSOMA (2015 год), серия Amnesia
DrinkBox Studios~25собственный движокGuacamelee (2013 год), Guacamelee! 2 (2018 год), Severed (2016 год)
Supergiant Games~20На основе MonoGameHades (2019 год), Pyre (2017 год), Transistor (2014 год)
Wube Software~20На основе Allegro/SDLFactorio (2019 год)
Chucklefish~20Halley EngineWargroove (2019 год), Starbound (2016 год)
Ronimo Games~17RoniTech Engine (SDL)Awesomenauts (2017 год)
Lab Zero Games~17Z-EngineIndivisible (2019 год), Skullgirls (2013 год)
Introversion Software~14SystemIV (SDL)Prison Architect (2015 год)
Exor Studios~14Schmetterling (на основе OGRE)The Riftbreaker (2020 год), X-Morph: Defense (2017 год)
Tribute Games~11На основе MonoGameFlinthook (2017 год), Mercenary Kings (2014 год)
Thekla Inc. (Джонатан Блоу)~10собственный движокThe Witness (2016 год)
Numantian Games~10собственный движокThey Are Billions (2019 год), Lords of Xulimia (2014 год)
Nysko Games Ltd.~10собственный движокThe Dwarves of Glistenveld (2019 год)
Passtech Games10OEngineCurse of the Dead Gods (2020 год)
Terrible Toybox (Рон Гилберт)9собственный движок (SDL)Thimbleweed Park (2017 год)
Radical Fish Games8На основе Impact (JS)CrossCode (2018 год)
Matt Makes Games (Мэтт Торсон)~7На основе MonoGameCeleste (2018 год), TowerFall Ascension (2014 год)
Coilworks~7собственный движокSuper Cloudbuilt (2017 год), Cloudbuilt (2014 год)
Lo-fi Games (Крис Хант)6На основе OGREKenshi (2018 год)
D-Pad Studio6На основе MonoGameOwlboy (2016 год)
BitKid, Inc.6На основе MonoGameCHASM (2020 год)
Double Damage Games5На основе OGRERebel Galaxy Outlaw (2019 год), Rebel Galaxy (2015 год)
Almost Human Games4собственный движокLegend of Grimrock (2012 год), Legend of Grimrock 2 (2014 год)
Wolfire Games4Phoenix EngineOvergrowth (2017 год)
Nuke Nine3собственный движокVagante (2019 год)
Mega Crit Games3собственный движокSlay the Spire (2017 год)

Интересные факты об этом списке:

  • Сооснователь Shiro Games Николя Каннасс является разработчиком языка программирования Haxe и движка Heaps, использованного Motion Twin для создания Dead Cells (2017 год).
  • Hello Games — очень маленькая студия, учитывая масштаб No Man's Sky и использование собственного движка. Очень впечатляет!
  • Runic Games была распущена в ноябре 2017 года, её основатели создали Double Damage, а теперь работают в Echtra Games над Torchlight III.
  • Генеральный директор Chucklefish Родриго Браз Монтейро отвечает за разработку движка Halley, который является open-source!
  • В большинстве этих студий за создание движка отвечают всего 1-3 человека!
  • Более шести лет Lo-fi Games была командой из одного человека (Криса Ханта)!
  • На разработку некоторых игр в списке было потрачено пять с лишним лет!
  • Игр не так много… всего по паре хитов в год...

Движки, написанные одним человеком



Слева направо: Stardew Valley, ScourgeBringer, Eagle Island

В конце мы приведём список героев.

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

Создание движка и игры с нуля до этапа издания — огромное достижение, немногие в мире к этому готовы. Почти все из них — 2D-игры, обычно с очень низкими бюджетами, которые разрабатывались в течение нескольких лет. Разработчиков можно поздравить!


Слева направо: Axiom Verge, Ghost 1.0, Remnants of Naezith
Компания/разработчикУчастникиДвижокПримечательные игры
Lizardcube (Бен Фике и Омар Корнут)2собственный движокWonder Boy: The Dragon's Trap (2017 год)
Guard Crush Games (Жорди Асенсио и Сирилл Лагариг)2На основе MonoGameStreets of Rage 4
Pocketwatch Games (Энди Шэтц)2?На основе MonoGameTooth and Tail (2017 год)
Джастин Ма и Мэттью Дэвис2собственный движокFTL: Faster Than Light (2012 год)
Эд Ки и Дэвид Канага2собственный движокProteus (2013 год)
Mountain Sheep2собственный движокHardland (2019 год)
Flying Oak Games (Томас Алтенбюргер и Флориан Урто)2На основе MonoGameNeuro Voider (2016 год), ScourgeBringer(2020 год)
Марк Флури и Брайан Гибсон2собственный движокThumper (2016 год)
Йохум Скоглунд и Никлас Мирберг2собственный движокHeroes of Hammerwatch (2018 год), Hammerwatch (2013 год)
Villa Gorilla (Йенс Андерссон и Маттиас Снигг)2собственный движокYoku's Island Express (2018 год)
Two Mammoths (Пётр Турецки и Мартин Турецки)2собственный движокArchaica: The Path of Light (2017 год)
Bare Mettle Entertainment (Мэдок Эванс)1?собственный движокExanima (2015 год)
Лукас Поуп1На основе OpenFLPapers, Please (2013 год)
Терри Кавана1собственный движокSuper Hexagon (2012 год)
Франциско Теллес1На основе SDLGhost 1.0 (2016 год), UnEpic (2014 год)
Grid Sage Games (Джош Ге)1На основе SDLCogmind (2017 год)
Люк Ходорович1собственный движокBanished (2014 год)
Томас Хэпп1 (5 лет)На основе MonoGameAxiom Verge (2015 год)
Джеймс Силва1На основе MonoGameSalt and Sanctuary (2016 год)
Эрик Бэрон1 (4 года)На основе MonoGameStardew Valley (2016 год)
Толга Ай1На основе SFMLRemnant of Naezith (2018 год)
Ник Грегори1 (5 лет)На основе MonoGameEagle Island (2019 год)
bitBull Ltd. (Джеймс Клосс)1 (4 года)На основе MonoGameJetboard Joust (2020 год)
Бенджамин Портер1 (8 лет)На основе SFMLMoonQuest (2020 год)
Рэнделл Фостер1 (7 лет)собственный движокKid Baby: Starchild (2019 год)
Деннис Густафссон1собственный движокTeardown (2020 год)
Кристиан Уайтхед1Star EngineSonic Mania (2017 год)
Positech Games (Клифф Харрис)1собственный движокProduction Line (2019 год), Democracy 3 (2013 год), Gratuitous Space Battles (2015 год)
Фрэнк Лукас1собственный движокAngeldust (2019 год)
Zachtronics (Зак Барт)1собственный движокMOLEK-SYNTEZ (2019 год), EXAPUNKS (2018 год), SHENZHEN I/O (2016 год), Opus Magnum (2017 год)
Lunar Ray Games (Боди Ли)1собственный движокTimespinner (2018 год)
sebagamesdev1собственный движокFight And Rage (2017 год)
Лоик Дансарт1собственный движокMelody's Escape (2016 год)

Примечания по поводу этого списка:

  • Некоторые из этих команд были сформированы одним-двумя людьми, но на определённом этапе или выросли, или отдали часть разработки на аутсорс (графику, звук...). Обычно с ресурсами также помогает издатель (локализация, маркетинг...).
  • Омар Корнут из Lizardcube является основным программистом движка Wonder Boy: The Dragon's Trap, а также разработчиком Dear ImGui — бесплатной библиотеки GUI режима immediate-mode с открытыми исходниками, которая используется во многих самописных AAA-движках.
  • Бен Фике из Lizardcube также является главным художником Streets of Rage 4, собственный движок для которой написал Сирилл Лагариг из Guard Crush Games.
  • Марк Флури программировал игровой движок Thumper, отказавшись от парадигмы ООП в пользу процедурного программирования.
  • Кристиан Уайтхед — создатель Star Engine, использованного в игре Sonic Mania, но в разработке игры также участвовали Headcannon (Саймон Томли) и PagodaWest Games (Джаред Касл и Том Фрай).
  • Для разработки некоторых игр из этого списка потребовалось пять с лишним лет!
  • Не так много игр… по паре хитов в год...

Вот ещё несколько примечательных игр, в которых используются собственные движки: Minecraft (2011 год), Braid (2009 год), Super Meat Boy (2010 год), Terraria (2011 год), Dustforce (2012 год), Sword and Sorcery EP (2012 год), FEZ (2013 год), Dust: An Elysian Tail (2013 год), Rogue Legacy (2013 год), Dyad (2012 год), SpaceChem (2013 год), Darkest Dungeon (2016 год), Scrap Mechanic (2016 год), Battle Brothers (2015 год), Renowned Explorers (2015 год), Yuppie Psycho (2019 год), Surviving Mars (2018 год), The End Is Nigh (2017 год), The Binding of Isaac: Afterbirth (2017 год), The Binding of Isaac: Rebirth (2014 год), BattleBlock Theater (2013 год), Full Metal Furies (2017 год), Binding of Isaac (2011 год), Rusted Warfare (2017 год).

Выводы


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

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

С точки зрения преподавателя разработки игр я считаю, что студенты должны как можно подробнее изучать внутреннее устройство игровых движков. Использование движков наподобие Unity/Unreal в учёбе позволяет студентам быстро создать красивый проект, но это ошибочный путь. В конце концов, кто-то же должен писать движок и все инструменты!

Комментариев нет:

Отправить комментарий