Я сделал ритм-игру с авто генерацией паттернов нот из MIDI
Год назад я писал статью про совою музыкальную игру, ее историю появления и принципы игры. Там, в конце статьи, я привел краткую статистику за 30 дней нахождения страницы игры в Steam и сделал вывод что люди не заинтересованы в игре с подобным геймплеем.
Сутью игры является упрощенная игра по нотам на пианино с помощью клавиатуры ПК. Игра использует упрощенную стандартную музыкальную нотацию, сгенерированную из MIDI-файлов. Ключевым словом здесь является слово "музыкальная нотация". Я думаю, что люди придя на страницу и увидев на скриншотах музыкальные ноты тут же спешат покинуть ее.
Где-то через месяц после публикации статьи игра вышла в Steam в раннем доступе. Как и ожидалось, чуда не случилось. За год игра была куплена всего 200 раз из них 30% были возвращены. После выхода игры, я продолжал работать над ней полтора месяца, добавляя новые функции и исправляя баги, найденные игроками. За это время я успел выпустить пару - тройку обновлений. Когда игра обрела какой-то полу промежуточный законченный вид я решил что ее нужно кардинально менять.
Режим игры с падающими нотами
Я решил добавить новый режим игры, отложив доработку старого. В нем, мне нужно было избавиться от музыкальных нот и сделать геймплей более интуитивно понятным. Единственное что пришло на ум из адекватного и реализуемого с моими навыками - это сделать нечто похожее на Synthesia. Изучив тему с падающими нотами, я нашел очень много игр с таким геймплеем (Vertical Scrolling Rhythm Games). Все они предоставляют ограниченный список песен и паттернов с нотами(сделанных вручную) к ним. Ноты двигаются вертикально и синхронизированы с песней. Нажатия нот совпадают с мелодией песни.
Новый режим должен был соответствовать смыслу всей игры - сделать возможным с помощью клавиатуры ПК играть ЛЮБУЮ песню. Я, конечно же, не мог лицензировать все песни мира и сделать к ним паттерны. Выход был один - авто генерация паттернов из MIDI. Когда этот режим еще находился у меня в мыслях, я наивно полагал, что это будет совсем просто. Я планировал закончить его за пару месяцев. Как же я ошибался) Мне хотелось повторить в сгенерированных паттернах рисунок паттерна настоящего пианино. Повторить все движения рук, позиции нот друг относительно друга при том, что по сравнению с пианино у меня было ограниченное количество клавиш(4, 6, 8, 10) и там особо не разгуляешься.
Было очень трудно сделать генератор нот таким, каким я его хотел видеть. Можно было бы просто взять все ноты из МИДИ "напихать" в паттерн в случайном порядке как это делалось в прошлом режиме игры, но мой перфекционизм не давал мне покоя. Я перепробовал много алгоритмов, на одних видах песен ноты генерировались хорошо, а на других получалась каша из нот. Иногда мне казалось что это задача совсем не реализуема. И все таки, спустя 11 месяцев, мне кажется, что у меня что-то получилось: https://youtu.be/YOHOSLIO0Yc
В новом режиме можно сыграть любую(если учитывать как легко найти миди-файлы) песню с широкими возможностями настройки сложности:
Пару дней назад началось бета-тестирование нового режима. Приглашаю всех принять участи, кто готов делиться впечатлениями и найденными неполадками. Чтобы присоединиться к группе тестировщиков, нужно отправить заявку на принятие участия. Больше информации вы найдете на discord-сервере игры.
Лига Разработчиков Видеоигр
6.7K постов22.2K подписчиков
Правила сообщества
ОБЩИЕ ПРАВИЛА:
- Уважайте чужой труд и используйте конструктивную критику
- Не занимайтесь саморекламой, пишите качественные и интересные посты
- Никакой политики
СТОИТ ПУБЛИКОВАТЬ:
- Посты о Вашей игре с историей её разработки и описанием полученного опыта
- Обучающие материалы, туториалы
- Интервью с опытными разработчиками
- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе
НЕ СТОИТ ПУБЛИКОВАТЬ:
- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры
- Посты, единственная цель которых - набор команды для разработки игры
- Посты, не относящиеся к тематике сообщества
Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.
ЗАПРЕЩЕНО:
- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции
- Выдавать чужой труд за свой
Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.
О РАЗМЕЩЕНИИ ССЫЛОК:
Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:
- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества
- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз
- Cсылка размещается в формате: "Страница игры в Steam: URL"