Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

Двадцать первый век. Российская империя. Петербургский академический университет смерти. Некромаги держут власть в неофеодальном обществе. Кирилл Елецкий — дворянин и студент пятого курса магической академии. Чтобы защитить свою семью от обвинений в измене перед царём, он должен стать победителем в самом престижном турнире некромагов всей страны. Ваши решения повлияют на то, каким путём Кирилл добьётся свой цели.

Крутое описание, да? А за красивой обложкой, как обычно, стоят кровь, пот и слёзы. Так или иначе, я давно хотел написать эту статью, поделиться своими успехами, может, новыми рисунками, рассказать о боевой системе и прочем... Но я всё откладывал и откладывал это дело, да так, что уже успел начаться фестиваль Next Fest. Именно он и смотивировал меня несколько месяцев назад ускорить разработку, чтобы успеть выкатить демоверсию в стим, а там - сорвать огромный куш в виде вишлистов.

В общем, хотелось, как лучше, а получилось как всегда. Так что, ребята, читайте, смейтесь надо мной и обязательно учитесь на моих ошибках.

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

Нет.

Первая проблема оказалась в том, что для неофита загрузка своей игры в стим это... Полный пиздец. Сейчас загрузка нового билда требует у меня 3 минуты. В первый же раз ушло 4 часа. Не сомневаюсь, что найдутся разумисты, у которых с первого раза всё пошло как по маслу, но для меня документация Steamworks оказалась максимально непонятной и неинтуитивной. И не только потому, что я тупой, а потому что в ней буквально утаиваются целые куски необходимой информации. Например, смотря наглядный ролик от представителя Valve, я даже не понял, что он пользуется не встроенной в винду консолью, а каким-то приложением Steamworks, потому что выглядели они идентично. Ну и, конечно же, в документации какого-то хрена не было ни слова о версии этого приложения с абсолютно понятным GUI, которое всё делает за тебя. Нахрена тогда нужна эта дрочка с консолью?
В общем, рандомный Вася с ютуба оказался мне полезнее официальной документации. Видимо, Steam так готовит инди-разрабов к работе в серьёзных кампаниях.

Первый урок: пользуйтесь версией Steamworks с GUI, а не консолью. В 99% случаях она вам нахрен не понадобится, а вы сохраните кучу нервов и времени.

Ну да ладно, хватит об загрузке демки, ведь важен не процесс, а результат! Он был ужасным.

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

Как оказалось, иногда игра не запускалась с шансом 20% на иных компьютерах, а именно на тех, что не являлись моим. И я, разумеется, никак не мог об этом узнать, потому что, ну, типа, у меня один компьютер. А мои друзья, пробовавшие демку, решили мне об этом не говорить, потому что, ну, чел, краш всего с шансом 20% же! Просто закрой окно и запусти снова.

Стиму, впрочем, 20% оказалось достаточно для того, чтобы отклонить мою демку.

Второй урок: друзья будут жалеть вас и скрывать важную инфу. Лучше найдите самого мразотного ублюдка в вашем окружении, который будет поливать вас грязью по любому поводу.

В общем, демку забраковали за день до фестиваля. В поте лица я начал искать причину проблемы. И, чёрт возьми, невероятно тяжело искать ошибку в ДВИЖКЕ, а не в собственном коде, особенно когда ты даже не можешь проверить её! Как выяснилось, краш происходил из-за презагрузки музыки при первом запуске. Какого хуя? Да откуда мне знать?! Спасибо, Construct.

Я отправляю демоверсию заново и сижу, скрестив пальцы. И получаю приятный ответ.

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

Чёрный экран не дал тестеру пройти игру. И я сразу вспомнил, что это за чёрный экран. У меня была функция в коде: берётся фильтр с экрана и постепенно увеличивает свою непрозрачность, при этом пока фильтр не достигнет 100% непрозрачности, игрок не может прокликивать диалоги. В общем, это было просто для кинематографичности. Потом вызывалась вторая функция, которая начинала уменьшать непрозрачность черного экрана до 0 и игрок мог продолжить игру.

В сцене, описанной тестером, между вызовом первой и второй функции должно было пройти 2 секунды. То есть, первая функция завершала работу, и начинала работать вторая. У меня это работало так. Так оно работало у всех моих друзей. Но у тестера здесь сломалась игра.

Каким-то чудом у меня получилось повторить этот баг. Через дебаггер я понял, что непрозрачность фильтра достигает либо 99, либо 1, но не достигает 100 и 0. Всё потому что обе функции начинают работать одновременно, а потому бесконечно держат фильтр в одном и том же состоянии. А потому диалоги не прокликиваются, игра фризит.

Почему у тестера функции начали работать одновременно? Я не знаю. Но баг я исправил и снова отправил демо на проверку. Фестиваль к тому моменту уже начался. Как и война на Украине.

Уж не знаю, было ли то санкциями, может, тестеры просто не могли оторваться от новостей с Reddit, но проверка шла ТРОЕ СУТОК. И всё ради того, чтобы я получил очень интересный ответ:

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

У меня нашёлся Adult Only sexual content, и я "забыл" предупредить об этом тестеров. Это оказалось для меня сюрпризом, потому что в игру я его не вставлял. У меня была только небольшая сцена, где при правильном действии игрока он может слегка "полапать" одного персонажа. При этом на экране нет ни сисек, ни писек, в диалоге нет экспрессивных "ДР0ЧИ М0Й ХYЙ С3Б3 В Р0Т!!!" и прочего. Нечто почти на уровне "мы начали целоваться и снимать одежду, а потом было затемнение". Мне сцена понравилась, вышла не пошлой, в духе дворянства.

Сейчас я поясню, как работает в стиме проверка контента для взрослых. Там можно поставить 5 галочек: насилие, "мясо", нагота, сексуальный контент, сексуальный контент только для взрослых. В общем, держите скрин - в таком виде пришлось отправлять игру в последний раз.

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

А вот пример игр с простым сексуальным контентом, не для взрослых. Именно туда я изначально и поставил галочку:

Делаю свою первую игру по книге российского фантаста, часть 2. Как про*бать несколько сотен вишлистов в черном экране

В Киберпанке мы можем БУКВАЛЬНО видеть пенисы и вагины, а сексуальные сцены реализованы через катсцены, где всё видно в максимальных подробностях. А что видно у меня в ту самую сцену?

Virgin ADULT ONLY PORN
Virgin ADULT ONLY PORN
Chad mild sexual content
Chad mild sexual content

В общем, приравняли меня к сраному хентаю, будто говном облили. Пришлось ставить новую галку и ждать ещё сутки проверки. В результате я просрал 4 дня из 7 дней фестиваля Steam Next. Как известно, основной трафик идёт в первые сутки, так что я оказался в пролёте.

Урок 3: Тиффани, ты сука.

Урок 4: Выкладывайте демо за неделю до фестиваля. Вообще, если с игрой есть временные сроки, не нужно кранчить в ночь до релиза - нужно иметь всё готовым за неделю.

Ух, высказался, полегчало. Ничего, надежду не теряю. Вон, недавно начал таргет в ВК, цифры пока очень хорошие, 3 рубля за переход. Видимо, попал в ЦА.

В общем, это всё, что я хотел сегодня сказать. В будущем я вернусь сюда уже с описанием механик и расскажу о своём прогрессе. А пока, если вам каким-то чудом стало меня жалко, можете чуть поправить статистику вишлистов в стиме:

И вступить в группу ВК. Нас там всё больше и больше!

5757
32 комментария

Двадцать первый век. Российская империя. Петербургский академический университет смерти. Некромаги держут власть в неофеодальном обществе. Кирилл Елецкий — дворянин и студент пятого курса магической академии.Дальше не читал, выпал просто

10
Ответить

Очень зря. Игра делается по книге-финалисту Author.Today и с консультацией автора. Ну... Теперь уже без его консультации, так как он умер от ковида в ноябре.

Вообще, надо уметь мыслить критически. Многие вещи на поверку оказываются логичными, стоит провести хоть какое-то исследование. Но "выпасть", конечно же, всегда легче.

11
Ответить

Это же бояр-аниме, ты не шаришь

Ответить

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

Ответить

О, новая хентай новелла

4
Ответить

Милости прошу к нашему шалашу.

5
Ответить

Урок 4: Выкладывайте демо за неделю до фестиваля.Я бы сказал, по своему опыту - за месяц. Перед стим-фестом демка должна быть уже протестирована игроками, сами вы никогда не найдете всех багов (ну если игра сложнее визуальной новеллы в техническом плане). За месяц мне надавали столько фидбека о багах, управлении, сложности, левел-дизайне и UI, что я до самого последнего дня все улучшал и исправлял (ну и еще контент доделывал).

3
Ответить