ВанГеры как история Open Source сообщества
Здравствуйте, меня зовут Дмитрий Лейкин и я вангер.
ВанГеры — российская игра 1998 года студии KD-Lab. Она имеет статус «культовой». Это необычная игра, которую до сих пор не могут классифицировать под определенный жанр. В последние годы она регулярно генерирует инфоповоды, в том числе на полях Хабра. Я хочу рассказать, как так вышло.
Эта статья в первую очередь про силу Open Source и о том как продлить жизнь старым компьютерным играм благодаря сообществу. Это не единственный и не первый случай — самым ярким, можно сказать установившими традицию, стали игры от id Software — Wolfenstein 3d, Doom, Quake. Как рассказывал Джон Кармак, он, увидев что поклонники игр пытаются делать для них моды, он в каждом новом своем движке все больше и больше кода выносил во внешние ресурсы, а затем решил не мелочиться и выпустил исходные коды игр под лицензией GPL — чтобы поклонники могли делать из любимых игр все, что захотят. Итог — Doom-сообщество живо до сих пор и до сих пор развивает порты этой игры 1993 года.
Сразу предупрежу, что все нижеперечисленное — это взгляд с моей колокольни и другие участники сообщества могут видеть историю иначе.
Я занимаюсь интернет-сообществами с 15 лет. Обычно у меня получалось то, что называется «производящими сообществами» — участники моих сообществ что-то создают. Статьи, рассказы, программный код. Обычно это сообщества поклонников чего-нибудь. У меня есть лозунг: «Не только творчество должно порождать поклонников, но и поклонники должны порождать творчество».
Сообщество ВанГеров возникло практически одновременно с игрой. Его активность то росла, то падала. После выхода игры оно в основном занималось проведением сетевых игр и чемпионатов. Я в нулевых участвовал в сообществе в основном написанием фанфиков, и немного программированием. Но к десятым я уже практически не участвовал в сообществе.
Для улучшения проведения сетевых игр разработчики в какой-то момент передали доверенным людям из сообщества исходный код игры. Это сильно повлияло на дальнейшую историю. Поскольку в определенный момент один из доверенных людей, Юрий Журавлев, решил попробовать адаптировать исходный код игры под работу в операционной системе Linux. Это сильно заинтересовало разработчиков, и благодаря его усилиям в 2014 году игра была переиздана в интернет-магазинах Steam и Gog, и запускалась под Windows, Linux и MacOS X. И благодаря усилиям этого же человека, в 2016 году исходный код был опубликован под Open Source. Таким образом сообщество игры ВанГеры стало Open Source сообществом.
Несмотря на это, когда я вернулся в сообщество в 2017 году, оно было в замороженом состоянии. Оно состояло из закрытого чата в Телеграме из пары десятка человек, и редко обновляемой группы Вконтакте. Большая часть старых сайтов исчезло, сетевые игры не проводились.
В какой-то момент я решил помочь сообществу. И я начал с повышения связности внутри сообщества, а также между сообществом и внешнем миром.
Для начала я уговорил владельцев чата сделать его публичным, чтобы в него можно было попасть по ссылке. Они даже не знали, публичен ли их чат.
Затем я попросил владельцев группы вконтакте поставить ссылку из Вконтакте на чат сообщества, а владельцев репозитория с кодом игры на GitHub, поставить в описании репозитория ссылку на чат.
Затем я начал ставить ссылки на группу и чат везде в интернете, где это уместно. В Википедии, в Луркоморье, в комментариях под обзорами ВанГеров на YouTube. Моя цель была в том, чтобы все люди, которые заинтересованы в ВанГерах, попали бы в чат.
Итог можно посмотреть на социотехнической карте: https://drive.google.com/file/d/1Ik7SOkUXDlL_mYUOKv4t1VK8M5Gsm7sw/view Основной цикл заключается в том, что люди, разными путями попадая в чат, и общаясь в нем, начинали создавать контент. Этот контент публиковался в группе ВК и на YouTube, и благодаря ему новые люди попадали в чат.
Это сработало. В чат начало приходить все больше людей. Кто-то из них рисовал фан-арт по игре, кто-то сочинял музыку, кто-то писал программный код и выполнял issue на GitHub. Многие люди обнаружили, что сообщество ВанГеров до сих пор существует.
В какой-то момент стала очень высокая активность разработчиков. Они начали переписывать игру на язык Rust, добавлять поддержку современных разрешений экрана, работу игры на скорости 60 fps, починили сетевую игру, которая не работала нормально после выпуска в Steam. Поскольку Юра Журавлев имел доступ к интернет-магазинам как разработчик, многие улучшения стали официальными обновлениями игры. Я сам вспомнил свои навыки работы в C++ и начал исправлять разные баги.
Другой участник сообщества, Дима Толкунов, вошел в сильную лидерскую позицию. Он начал делать еженедельные сетевые игры в ВанГеров с трансляцией в Twitch. Поскольку Толкунов — профессиональный актер и режиссер, его трансляции всегда было интересно смотреть, и это привлекало к игре все больше внимания, и в сообщество — все больше новых и старых участников.
В 2020 случилось еще одно важное событие. Популярные блогеры с Ютуба, Булджать и Бэбэй, с общий аудиторией более миллиона подписчиков, выпустили видеообзоры ВанГеров. Они стали очень популярны, обзор Булджатя на данный момент просмотрело более 3 миллионов человек. На сообщество начался огромный наплыв новых участников.
На волне общего интереса начало происходить множество других вещей, о которых двумя годами ранее никто бы не подумал. Например, у кого-то в архивах оказалась база данных старого форума ВанГеров, считавшегося утерянным. Я смог из этой базы данных восстановить форум на своем сервере.
У других участников обнаружился исходный код оригинального редактора карт для ВанГеров, Сюрмапа. Но этот старый код никто не мог восстановить до современного уровня. Участники сообщества считали, что никто и не сможет. Я же считал иначе и попросил себе копию этого кода.
Вскоре после этого игрой заинтересовалась итальянская студия GamePix, которая занималась портированием и изданием игр под веб-браузеры. Посмотрев исходный код ВанГеров, они поняли, что их можно портировать в браузер. Они заключили договор с разработчиками (студией KranX) и стали портировать. И сейчас в игру можно успешно играть через веб, как на обычных компьютерах, так и на смартфонах. Причем не только на сайте GamePix, но и на сайте Яндекс.Игр, где игру также опубликовали.
Что здесь самое интересное. Одним из разработчиков GamePix оказался человек из России, Саша Гурьянов. И он был активным участником сообщества ВанГеров. Услышав от меня, что существует исходный код редактора Сюрмап, он сказал, что может его восстановить. И он его восстановил. За неделю. Код, который как считали остальные участники сообщества, не восстановит никто. Саша сказал, что это его специализация — портировать что угодно откуда угодно куда угодно.
И здесь на мой взгляд важный момент. Посмотрите, как сообщество и разработчики игры дополняют друг друга. Например, участники сообщества восстановили сетевую игру. Саша Гурьянов также в этом поучаствовал, и в итоге понял, как интегрировать сетевой режим игры в браузерную версию ВанГеров, которую он делал, работая в GamePix. В итоге теперь можно спокойно играть по сети игрокам в браузерную версию, и игрокам из Стима. При этом Саша с одной стороны участвовал в деятельности сообщества, а с другой стороны, его деятельность была частью его работы в GamePix, поэтому фактически, участвуя в деятельности сообщества, он делал свою работу.
И то, что можно назвать важной вехой. Когда сообщество и разработка игры начали наиболее активно развиваться, участникам сообщества дали доступ к официальным новостям игры на Стиме. Фактически, с тех пор выход новых версий игры полностью производится сообществом. Это можно назвать community-driven разработкой и публикацией игры.
Также, увидев насколько Open Source вдохнуло новую жизнь в игру 1998 года, сообществу удалось договориться о публикации в Open Source другой крупной игры KD-Lab — «Периметр». Разработчики и издатели, как выяснилось, не против — просто они не могли себе позволить выделить достаточное число времени на то, чтобы разбираться в своем старом коде и готовить его к публикации. Поэтому, как и в случае с ВанГерами, группа доверенных участников сообщества получило код «Периметра», подготовила его к публикации и опубликовало его в Open Source.
А еще через некоторое время мне удалось договориться с разработчиками KD-lab (что было не самой простой задачей, потому что за 20 лет компания разделилась на две независимых) о публикации в Open Source всех известных игр этой компании. В результате была опубликована игра «Самогонки», а сейчас мы готовим к публикации движок игр Периметр 2 и Maelstrom — Vista Engine.
Сейчас по всем играм идет активная работа. Для ВанГеров идет работа над подключением движка рендеринга на GPU (на основе вышеупомянутой Rust-версии). Периметр был портирован под Linux, в него было добавлено HD-разрешение, а сейчас идет доработка сетевой части. Самогонки портируются под Linux и под Mac.
При этом знаете, о чем я сейчас мечтаю? О том, чтобы все игры KD-Lab, и Периметры, и Самогонки, были, как и ВанГеры, переизданы в Стиме на основе наших обновлений. Насколько я могу судить, над ними, кроме нас, никто не работает, Периметр в Стиме много лет не обновлялся (а Самогонки там никогда и не издавались), а мы постоянно добавляем туда что-то новое. Если на Хабре есть люди, которые могут принять такое решение, мы будем рады сотрудничеству.
И в качестве итога. На основании этой истории я написал манифест открытых игровых движков: https://dilesoft.github.io/open-games-engines-manifesto/ Мне кажется, разработчики старых игр могут смело передавать их исходный код сообществу. От этого будет большая польза и выгода обеим сторонам.