После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

Я хочу рассказать об истории создания моей первой игры EasyPianoGame, как она из маленькой программы, написанной за пару ночей, переросла в игру(?) за три неполных года, и поделиться статистикой за первый месяц после старта страницы игры в Steam.

Об игре

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

В игре можно полноценно играть на пианино, используя всего 8 клавиш клавиатуры ПК. Не стоит пугаться вида нот в игре. Абсолютно любой может легко понять, как играть по ним за пару минут.

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

· вам не нужно пианино, достаточно клавиатуры ПК

· вам не нужно тренировать ваши пальцы часами, чтобы правильно нажимать клавиши

· вам не нужно запоминать какие клавиши надо нажимать

Как появилась идея

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

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

Так же во многих программах не было хорошего звука.

Из всех опробованных программ, я некоторое время пользовался программой из virtualpiano.net.

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

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

Пример такой ноты:

e t y y – y u i i – i o u u – y t t y – e t y y y u i i – i o u u – y t y – e t y y – y i o o – o p P P – p o p y – y u i i – o p y – y i u u – i y u

Правила:

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

В virtualpiano.net, у меня никак не получалось играть с постоянной скоростью и без остановки. Я постоянно останавливался, чтобы найти нужную клавишу и это мало напоминало ту мелодию, которую я хотел сыграть.

Как-то ко мне пришла идея. Что если, я просто буду нажимать любую клавишу, а компьютер будет смотреть на ноты и находить нужный звук?

Я быстро сделал программу, которая принимала текстовый файл с нотами из сайта virtualpiano.net, и при нажатии любой клавиши, она воспроизводила ужасный, мало похожий на пианино, синтезированный звук. Мне оставалось только нажимать нужное количество клавиш и соблюдать паузы.

MIDI

После, я постоянно усовершенствовал программу. Улучшил звук, добавил возможность «на лету» менять ноты и визуализировать их в более удобной, для чтения, форме. Вскоре мне наскучили ноты из virtualpiano.net. С моим «читом» они стали слишком легкими для меня. Я придумал свой формат для нот, вручную переводя в него настоящие ноты для пианино. Это было очень утомительно, и я сразу же бросил эту затею, когда узнал о стандарте MIDI.

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

Я изучил стандарт MIDIи добавил его поддержку в свою программу. Теперь, она может открыть любой файл MIDI и к ней можно подключить любой музыкальный инструмент с MIDI-интерфейсом.

Стандартная музыкальная нотация

На этом я не остановился, мне надо было визуализировать хранящиеся данные в MIDI-файле, а именно длительности, образующие ритм. Я не стал изобретать велосипед и обратился в музыкальную нотацию. Ту, с пятью линиями, что музыканты используют для записи музыки на бумаге. На первый взгляд, вид нот сбивает с толку. Если описать все в двух словах, то нота(звук) характеризуется двумя параметрами: высотой звука и ее длительностью звучания. Длительности показывают разными знаками.

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

Основных всего пять и их легко запомнить. Самая длинная – это целая нота, все следующие в два раза короче, и они называются соответственно половинными, четвертыми и т.д.

С высотой ноты немного посложнее. Высота ноты определяется ее положением на пяти линиях.

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

На пианино 88 клавиш и каждая из них имеет свою позицию на линиях. К счастью, нам не надо продолжать про высоту нот, потому что эту рутинную часть по определению нужной клавиши, берет на себя компьютер.

В итоге, я заимствовал из музыкальной нотации пять знаков и добавил несколько деталей от себя.

1. Визуализировал длительности, чтобы наглядно видеть размеры относительно других нот. И, если даже пользователь не знает знаков длительностей, он может понять, как их играть.

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

2.Поделил такт на секции, показывающие один удар метронома.

Хоть высота нот для программы и не нужна, я оставил линии, чтобы было сходство с настоящими музыкальными нотами. В программе ноты могут быть в семи разных положениях на четырех линиях, в зависимости от их высоты (до, ре, ми, фа, соль, ля, си, до).

Ранний доступ

Я улучшал программу два года с перерывами, в процессе многому научившись. Восемь месяцев назад, я подумал, что, идея программы могла бы быть интересной и другим, решив доделать ее до полноценной игры и выпустить в Steam в раннем доступе.

Почему ранний доступ? У меня нету никакого опыта в создании игр, и я даже не уверен, правильно ли я называю свою программу игрой, потому что я ничего подобного не нашел. Я хочу побыть в раннем доступе, чтобы посмотреть на реакцию и заинтересованность игроков и в случае чего изменить, убрать или добавить некоторые вещи. Так же, у меня есть несколько идей для других режимов игры, и идеи по улучшению качества и реалистичности звука.

Сейчас игра стабильна, она может открывать любые MIDI-файлы, можно играть через MIDI-клавиатуру, выводить звук на другие MIDI-инструменты, и она имеет достаточно хороший звук. Есть 10 простых классических произведений (в будущем их количество увеличится). Так же можно найти любую песню в MIDI на musescore.com.

Зайдя в игру, вы легко разберетесь с принципом игры. Даже если вы не умеете читать ноты, просто прослушав, вы сможете повторить услышанное, соблюдая ритм. Есть режим обучения, который проходится минут за 30 -40, где вы сможете научиться играть по метроному и узнать все что нужно для игры.

Говоря о заинтересованности игроков

Ровно месяц назад я опубликовал страницу в Steam и получил такие результаты:

После двух лет, моя игра, изначально придуманная как программа для читерства, выходит в Steam! 30 дней после публикации

С момента публикации, страницу посетили 6 200 раз, а количество добавлений в список желаемого равно всего лишь 190. Если сравнивать с показателями из постов других инди-разработчиков, то, кажется, что это абсолютный провал. Надо добавить, что я совсем не занимался маркетингом, в этом посту я в первый раз рассказываю об игре.

Можно ли судить по этим показателям о заинтересованности игроков?

Мне кажется, я зря сделал интерфейс похожим на музыкальные ноты. Теперь, когда потенциальные покупатели заходят на страницу, увидев скриншоты, а на них музыкальные ноты, тут же покидают ее, не посмотрев трейлера. Я хотел, чтобы у игрока была возможность играть с разными интонациями одно и то же произведение. Чтобы он сам решал с какой скоростью играть, когда нажимать и как долго держать паузу, а если играть через MIDI-клавиатуру, то и контролировать силу нажатия. Думаю, интерфейс нужно было делать в стиле Guitar Hero. Это будет первое, что я добавлю в раннем доступе, режим игры с падающими нотами.

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

4.8K4.8K открытий
57 комментариев

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

Но в изобретательности вам не откажешь =)

Ответить

Процесс зачастую интереснее результата :)

Я вот тоже хотел научиться играть, прошло 7 лет, нотную грамоту читаю как букварь в детстве, до сих пор бомблю от гамм, но это не мешает мне играть, выступать в живую, писать студийно и кайфовать от процесса) 

Ответить

Вы знаете, у меня иногда появляется желание сыграть что-нибудь на фортепиано, ту же тему из Portal, например (This was a triumph, I'm making a note here — HUGE SUCCESS...). А потом вспоминаю все те грёбаные 8 лет в музыкальной школе и как-то уже не хочется :)

Автору спасибо за программулину, поизучаю на досуге.

Ответить

Я еще неплохо прокачал навыки программирования)

Ответить

Я попался на кликбейт :(

Статья, после такого заголовка, естественно разочаровала.

Ответить

Комментарий недоступен

Ответить

Да, в основе идеи лежит точно такой же принцип. Я попытался его развить, добавив правила. Если нажимать беспорядочно - будет просто каша из звуков, а если нажимать соблюдая правила - получится мелодия.

Ответить