Sig.NULL - Steam Edition

Спустя два месяца активного взаимодействия с издателем и неактивным прогрессом Sig.NULL зарелизился в Steam.

Для тех кто не в курсе, я вдохновился работой Arrogant Gamer-а, игрой, написанной на puzzlescript. Мы с ним тщательно перетёрли тему и решили сделать из его поделки масштабную головоломку. Кситилон долго ржал бы если бы видел какие портянки на «англецком» я слал Arrogant Gamer-у. Главной целью разработки данной игры было «Исследование игровых правил» и «Повествование без слов». Если кто думает, что Sig.NULL является клоном signal-а, то для справки: в Sig.NULL включена локация со ВСЕМИ немного адаптированными уровнями оригинальной игры, а в оригинальной игре используется всего 3 цвета для дронов против 8-и в Sig.NULL. Так что это даже не то что бы «не клон», это даже «не реймэйк», а полное переосмысление всей концепции.

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

new_538af88859dd1.png

На второй взгляд: «А ящики ещё и вращаются!». На третий: «Ящики с одинаковым поворотом двигаются синхронно!». На четвёртый «А тут можно через стены ходить!». На пятнадцатый «Что, цвет дронов тоже имеет значение?». Что ещё? Это игроку и предстоит узнать в процессе игры. Ведь игра преподносит один сюрприз за другим несмотря на начальную кажущуюся простоту. Было придумано и проработано много игровых правил и тщательно подобраны комбинации этих правил, чтобы раз за разом ставить игрока в тупик и вынуждать искать решение очередной головоломки, применяя уже имеющиеся игровые правила (понимание приходит во время еды).

sig_nulll_dev_1.png

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

1) Есть базовый дрон, которым игрок управляет напрямую.
2) Есть прочие дроны, которые управляются удалённо при помощи специальных управляющих блоков.
3) Есть ящики которые нужно ставить на своё место — тогда они становятся красными.
4) Каждый ящик имеет поворот, который должен совпадать с поворотом своего места.
5) Дрон может менять положение ящика, находясь рядом и нажимая кнопку действия.
6) Поворот ящика распространяется и через управляющие блоки. Достаточно стоять рядом.
7) Ящики с одинаковым поворотом двигаются синхронно.
8) Силовое поле пропускает через себя только ящики.
9) Сплошная стена не пропускает через себя ничего.
10) Каждый дрон имеет цвет, характеризуюзий его способность.
10.1) Зелёный дрон — детонатор. Меняет цвет на розовый при взрыве.
10.2) Розовый дрон — вакцина. Обнуляет находящихся рядом оранжевых дронов кнопкой действия.
10.3) Красный дрон — свапер. Умеет переходить в соседний нулевой дрон, активируя его красным и деактивируя себя.
10.4) Жёлтый дрон — взрывник. Нестабильный дрон, не умеет вращать ящики, потому что по кнопке действия взрывается, уничтожая соседних дронов, ящики и сплошные стены.
10.5) Голубой дрон — тюремщик. Оставляет за собой след из сплошных стен, аля змейка.
10.6) Оранжевый дрон — инфекция. Захватывает соседние нулевые дроны бесконтрольно распространяясь.
10.7) Фиолетовый дрон — квантовый. Не подвержен перемотке времени назад, что позволяет возвращать обратно вещи не совсем так как они были до этого, проникать в недоступные для других дронов места через время.
10.8) Серый дрон — нулевой. Без способностей.
11) Уровень считается пройденым ТОЛЬКО тогда когда ВСЕ ящики расставлены по своим местам. Это значит что если ящиков больше чем мест или мест больше чем ящиков то как ни расставляй ящики — уровень пройденным не будет.

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

Меня подзадолбало ещё на стадии прохождения гринлайта вот это вот «Зачем мне покупать игру, если я могу её скачать бесплатно?». Я решил. что версия для Стима должна отличаться от бесплатной. Итого, что нового?

1) Переделана механика розового дрона, который носит название ВАКЦИНА. Раньше он при контакте с оранжевым превращался в фиолетовый. Но это была механика, притянутая за уши. И вот только этим летом меня осенило КАК нужно было его сделать.
2) В связи с этим я переделал часть оригинальных уровней, а часть даже заменил.
3) Изменил карту уровней, добавил более понятную индикацию «непройденых уровней».
4) Добавил коротенький мануал в меню.
5) Добавил пропуск заставки в меню
6) Добавил новую локацию с дополнительными 15-ю уровнями.
7) Добавил Достижения Steam и таблицы рекордов Steam.

За всё это время я знакомился с сервисом Steamworks — то ради чего я и согласился сотрудничать с издателем. Было интересно как там всё устроено.

Начал я с коллекционных карточек. Там всё глубже, чем видно на поверхности. Для карточек нужно было готовить изображения двух форматов, набор значков, смайлов и фонов в профиль. При этом соблюдая все правила. Это отняло у меня где-то месяц, т.к. было много дел IRL. Старался выкроить хотя бы час в день чтобы этим заниматься и то не всегда получалось. С карточками, надо сказать, у меня не было проблем.

Со SteamAPI в Game Maker Studio тоже не было особых проблем. Всё просто. Скачал SDK, поставил, прописал путь, прописал ID игры и пробуй на здоровье. Интеграция со стимом происходит даже при обычных тестах игры из IDE.

А вот что меня взбесило так это Таблицы рекордов. За каким то хреном отключилась возможность ресетнуть все таблицы разом и мне пришлось ресетить по одной вручную. Более сотни таблиц... Так эти мудаки ещё и сделали ебануто. На дворе 2016, jQuery, AJAX и всё такое, вебинтерфейс Steamworks перегружает страницу и сбрасывает в начало списка. Вёрстка херовая и глаза начинают болеть через 5 минут работы со списком.

Второй аспект — загрузка билдов. На дворе почти 2017-ый, а мы всё вынуждены править конфиги и работать из консоли. Так то там ничего сложного нету, если бы оно было нормально задокументировано, а не через задницу. Например, как загрузить правильно линуксовый билд, я так и не нашёл. Подробную инструкцию как указывать пути тоже не нашёл. Скриншоты из мануалов не соответствуют реальному интерфейсу. То есть ни GUI, ни адекватных пояснений на сей счёт нет. И это разочаровывает, ведь Вальв — крупная корпорация. Но мне кажется что они делают всё что угодно, кроме user-friendly интерфейса. Такое ощущение, что в офисе Гейба остался только сам Гейб и отдел бухгалтерии, считающий ему денежки.

Кстати только сейчас вспомнил — в Карточках такая же херня что и в таблицах рекордов. Впрочем, она такая же почти для всех форм. То есть ты заполняешь форму. Ввёл кучу полей, жмёшь сохранить, а оно тебе страницу перезагружает с ошибкой и все поля нахер слетают. Может произойти только потому что галочку ебучую не поставил или ошибся, например по привычке поставил цвет границы карточки #aaa вместо #aaaaaa. Что за маразм? Это сервис который предоставляет разработчикам ведущая компания в игровой индустрии? Это даже НЕ СМЕШНО.

Причём в другом месте, например в управлении Депотами ты удалил депот, он его тут же убрал при помощи javasript-а. Ты подумал, что круто — всё исчезло. ХУЙ ТО ТАМ. Не нажал на кнопку «Сохранить» — ничего не сохранится. При загрузке билдов он тебе находит различия между билдами и в любом случае выводит кнопку публикации билда, но если у тебя билды не отличаются, то кнопка не работает хоть зажмись на неё. Чё это за хуйня? Значит кнопку ресета таблицы рекордов эти мудаки зачем-то спрятали, а сбивающую с толку кнопку публикации билда оставили? Ещё один непонятный мне прикол — для того чтобы изменения вступили в силу нужно отдельно зайти во вкладку публикации и всё опубликовать — сперва нажать на кнопку Publish, затем на кнопку Really Publish, потом ввести код (который ДЛЯ ВСЕХ пользователей Steamworks одинаковый — я даже в видео обучающем их видел что он такой же) и снова нажать на кнопку публикации. Чё это за хуйня? Мало того что я в других разделах жму на удалить-сохранить, я ещё и тут должен пять раз ебучую кнопку нажать.

И больше всего бесит что каждом разделе сделано по-своему. Где-то страница перезагружается при изменении параметров, а где-то — нет. Где-то картинки сразу загружаются, а где-то нужно ещё кнопку нажать.

Сервис Steamworks на нулевом уровне. Такое ощущение, что они его лет 15 назад для себя сделали и с тех пор ваще ничего не меняли.

Лучше бы вместо SteamOS и SteamController-а эти мудланы сделали б нормальный Сайт, нормальный Клиент и нормальный SteamWorks.

Ах да, игру можно получить тут
Ярым фанатам головоломок (не таким как borgir) могу выдать ключ.

P.S. На очереди Zzzz-Zzzz-Zzzz, которая помимо улучшений в механике станет просто в два раза больше.