Такое решение позволило свести весь процесс для игрока к нажатию одной кнопки. Теперь даже Эрин могла справиться с обновлением игры без каких-либо проблем и истерик. А это, знаете ли, серьезное достижение!
Но такая система, увы, всё еще не решала третью, самую бесячую проблему — что делать, если интернет во время изменения и перезаписи файлов внезапно прерывался? Тогда процесс установки превращался в нечитаемую кашу битых файлов и все равно ломал игру. А интернет в марвеловском 2007-м, пусть и был объективно получше, чем в моем родном 2007-м, но всё же оставлял желать лучшего. Даже у нас на Хаусе, самый дорогой тариф от Старк Грид за полтора куска в месяц порой отлетал по совершенно необъяснимым причинам. Какое мы придумали решение, чтобы обезопасить пользователей? Мы создали для процесса обновления отдельную буферную папку-изолятор. Туда установщик аккуратно скачивал все новые файлы, сверял их контрольные суммы, и только потом, убедившись в целостности, распихивал по нужным системным директориям игры. А в случае критической ошибки сети, просто делал мгновенный роллбэк к старой, рабочей версии игры и повторял попытку обновления со старта при появлении соединения.
Казалось бы, хорошо, можно с облегчением подумать, что теперь-то всё должно работать нормально и стабильно. Но не стоит повторять фатальную ошибку великих из первого Дарк Соулса, что позабыли о маленьком, ничтожном существе, скрывающемся в бездне. Не стоит забывать о главном — нам нужно регулярно обновлять и сам клиент Свомпа, что будет установлен на компьютерах миллионов игроков.
Это была четвертая, самая нетривиальная проблема. Решение которой придумал Коул, так как я в это время был плотно занят нудными многочасовыми созвонами с унылыми додиками из патентного бюро.
Что же он придумал? Горбуна из Безумного Макса, что на ходу чинил тачку. Маленькую, незаметную программку — Апдейтер. В нужный момент, при запуске, она принудительно закрывала основной клиент Свомпа, быстро обновляла его файлы, и потом, с вежливыми извинениями за минутное неудобство, запускала обратно уже свежую версию. Гениально и просто.
И вот, наконец-то, мы подошли к финальному боссу качалки. А именно к последней проблеме — какой именно юридический статус дать купленной игроком игре? Ведь цифровая копия игры — это не велосипед и не хот-дог. Купив ее, игрок фактически не становится ее полноправным владельцем в классическом понимании. Он не может ее легально перепродавать как диски, декомпилировать или, например, пилить официальные коммерческие обновы. Нет. Интеллектуальная собственность, код, ассеты — игра до сих пор всецело принадлежит Вэнс Корп, ибо мы ее сделали. Что же тогда нужно сделать, чтобы не нарваться на кипу юрпроблем как для нас так и для игроков? Прописать свод прав игрока на игру. Благодаря которым он будет покупать не сам продукт как вещь, а исключительно ограниченные права на его использование. Лицензию.
Стим в свое время получил тонны негатива за такой жесткий подход к «EULA». Но если так посмотреть, он всего лишь сделал негласные правила открытыми и прозрачными. То есть честно, прямо в лоб сказал пользователям: вы не имеете права владеть игрой. Точно так же, как вы не имеете права владеть аркадным игровым автоматом в центре развлечений, кинув туда монетку. Вы лишь получаете безлимитный доступ ко всем функциям игры на условиях аренды. И это честно, прагматично и безопасно для бизнеса. В противном случае Стим бы в свое время просто не смог защитить разработчиков от повального пиратства и наглой кражи результатов их многолетнего труда. Из-за чего вероятно, рухнул бы весь мир геймдева. Так что, изрядно попотев вместе с Дэвидом и новеньким Льюисом над формулировками, мы составили железобетонный свод прав, которые автоматически ложились в статус игры при покупке. Теперь вместо опасного «Майнкрафт куплен», игрок мог увидеть развернутое «1. Игрок имеет право...».
Наконец, под конец сентября клиент был полностью завершен. Техническая сторона, вылизанная Коулом, работала как часы (хоть пока и китайские), а визуал искренне радовал глаз. Приятная, успокаивающая болотно-зеленая гамма, минималистичный логотип в виде стилизованного домика на кочке, интуитивно понятный дизайн и мягкая подсветка функциональных кнопок. Аврора постаралась на славу, выдав почти идеальный UI. Благо сейчас в универ ей можно было по вполне понятным причинам не ходить. Город, переживший локальный апокалипсис, всё ещё находился под карантином, введенным военными. Даже Мие с Льюисом получилось выехать из зоны оцепления лишь после десяти часов сидения в душном отстойнике карантинного изолятора, пока их анализы не показали, что они не являются носителями некровируса.
— Итак, гремлины. — Я торжественно поднял тост, салютуя банкой энергетика. На срок действия нашего личного карантина в доме был введен строжайший сухой закон, дабы всегда быть в ясном уме и готовыми к внезапным визитам незваных гостей. — Основная задача выполнена. Наше болото официально готово принять первых лягушат…