Инди Serav Lac
1 622

Низкочастотный пинг-понг

Привет, инди ДТФ, на днях я опубликовал свою первую игру в Стим - Lofi Ping Pong.

В закладки
Аудио

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

Один из режимов игры, где мяч сносится ветром

Всего в игре 5 различных режимов, не меняющих основной геймплей, но усложняющий его (к примеру, на столе появляется второй мяч).

Стим трейлер с геймплеем

Внутри игры 15 предустановленных треков, которые будут открываться по мере прохождения сюжетной кампании (да, в ритм игре, сюжет). Помимо этих песен, можно играть под свою музыку в свободном режиме, в котором также есть возможность включить опцию No-fail (при пропуске мяча вы не проиграете).

Осенью 2018 с этой игрой ездил в СПб на выставку Game Planet, где мне предложили хорошую идею - добавить разделённый экран для игры на двоих.

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

Делал игру один (арт/музыка - аутсорс) на GameMaker, от прототипа до релиза прошло около восьми месяцев. До начала разработки, на GM сидел меньше полутора лет, за это время учился делать игры по разным обучающим видео. После нескольких месяцев от начала изучения GM, я понял, что на нём почти нет игр, завязанных на музыке. Туториалов по Геймейкеру на эту тему я не нашёл, зато наткнулся на отличную статью от человека, работающего на Юнити:

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

Есть очень популярное видео с GDC, где создатель Move or Die рассказывает и показывает, как сделать сочные эффекты при победе в игре. В самом конце лекции он упомянул одну деталь - пусть окружение в игре "пляшет" в такт песне (видео снизу с привязкой ко времени).

После этого я старался не забывать вглядываться в то самое окружение в различных играх. Если где-то и находился этот эффект "пляски", то это было редкостью. Мне кажется, такой дешёвый, но эффективный приём мог бы усилить флоу многих игр, пусть даже это и будут почти незаметные смены размеров, прозрачности или цвета предметов. Но я решил не мелочиться и построить на этом всю свою маленькую игру, хех.

Спасибо, что прочитал! Если заинтересовала игра:

Материал опубликован пользователем. Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Serav Lac", "author_type": "self", "tags": [], "comments": 53, "likes": 72, "favorites": 33, "is_advertisement": false, "subsite_label": "indie", "id": 42927, "is_wide": false, "is_ugc": true, "date": "Thu, 14 Mar 2019 23:28:38 +0300" }
{ "id": 42927, "author_id": 95196, "diff_limit": 1000, "urls": {"diff":"\/comments\/42927\/get","add":"\/comments\/42927\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/42927"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }

53 комментария 53 комм.

Популярные

По порядку

Написать комментарий...
15

Жду статьи от Олега: "Веселинка по цене биляша: беседа с разработчиком Lofi Ping Pong, игры о лете, пинг-понге и радости ритма" :)

Простите.

Приятная игра. Как дебют вообще отлично.

Ответить
2

Сижу смеюсь, спасибо!

Ответить
1

Нихрена у тебя беляши стоят!

Ответить
2

Так, это в том же баре, где и пиво 260 рублей.

Ответить
1

Угу, тоже жду. Даёшь интервью с Serav Lac, в его игру даже можно ПОИГРАТЬ.
Будет показательно занесли за ту шляпу или нет)

Ответить
4

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

Ответить
2

Да, как только разберусь со всеми багами/недочётами на ПК, хотел и правда сделать на мобилки :)

Ответить
2

А потом на Свич.) Желаю успехов!

Ответить
4

к примеру, вместо на столе появляется второй мяч)

какая-то нестыковочка небольшая закралась.
А вообще проект выглядит лампово, запомнил еще со скриншотсуббот-тредов, не фанат ритм-игр, но добавлю в вишлист, как-нибудь подберу когда финансы будут.

Ответить
1

Да, руки не слушались, пока писал. Спасибо!

Ответить
0

По-моему ты все еще не исправил ошибку, потому что я ничего не понял.

Ответить
0

Исправил, там имелось в виду "игра с двумя мячами".
/that's what she said/

Ответить
0

Какие финансы-то?) Я очень удивился цене игры, так как стоимость ее равна обычной чашке кофе) Дешевле только на халяву)

Ответить
2

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

Ответить
2

Тогда крепись, брат - фрилансить нынче тяжко 😞

Ответить
3

Ахуенчик. Классный концепт. Щас заценим.

Ответить
2

Животные - это отсылка к hotline miami?)

Ответить
3

Скорее "просто захотелось", чем конкретная отсылка, но да, идея оттуда!

Ответить
1

Выглядит очень просто, как какая-нибудь аркада из 80-х и сразу 8 месяцев работы. Мда.

Ответить
4

На самом деле так и есть, базовый прототип с основной механикой сделал за 2 дня (середина июля 2018), начал писать художникам, сам в это время придумывал режимы. Ровно через месяц, к середине августа, была готова демка с графикой и тремя из пяти режимов. Потом придумал и доделал ещё 2 режима, захотел сделать сюжет, написал другому художнику, чтобы он рисовал маски, пока первый рисует локации. Вплоть до конца ноября кроме этого связывался с музыкантами, делал в игре всякие меню, туториалы и т.д., что напрямую не является геймплеем, впервые столкнулся с вопросом "как сделать так, чтобы человек играл под свою музыку", с этим разбирался, в итоге запилил загрузчик треков. В ноябре поехал на выставку, получил фидбек. После, с декабрь по февраль исправлял всё, что часто там критиковали, добавлял сплит скрин, делал людской внутриигровой редактор треков.
Фух бля, хотел ответить на комментарий, в итоге сам с собой поговорил.

Ответить
0

Игрой в свободное время занимался? Сколько часов в неделю?

Ответить
1

Да, в свободное, в среднем в неделю тратил часов 30.

Ответить
1

прилично так

Ответить
2

Выглядит хорошо! Как нашли исполнителей арта и музыки?

Ответить
0

Музыку было легко найти, потому что изначально хотел lofi hip-hop треки, а с этой темой в русской коммьюнити я был уже знаком, то есть знал, кому писать (были любимые исполнители). С артом примерно та же ситуация, были художники, которые мне нравились, им и писал. Все люди искались во Вконтакте через крупные паблики по lofi hip-hop'у и пиксель арту :)

Ответить
2

Жду записи как тут проходят "Dragonforce" на максималках.

Ответить
0

Уже некоторые пробовали, но пока не получилось даже 20-30 секунд песни пройти, хех

Ответить
2

Продажа состоялась.

Ответить
1

Последний режим сложности под goa trance или d&b?

Ответить
1

Там что-то типа трэпа вышло (а по-настоящему "я посмотрел несколько уроков по фл студио и кое-что слепил").

Ответить
1

но все же сделай для хардкорщиков уровень с повышенным bpm, чтобы они страдали как мы в свое время в battletoads на глайдерах)

Ответить
2

Предустановленные песни специально выбраны не особо быстрые, чтобы можно было привыкнуть к игре. Сейчас игроки сами загружают свои песни, некоторые умудряются играть на 170 BPM, мне пришлось с такого челюсть с пола поднимать. Но даже с внутриигровой музыкой можно попотеть, если играть на не стандартных режимах (особенно где два мяча)

Ответить
0

Ты кооператив не думал сделать, чтобы противником был живой друг например?)

Ответить
1

Дальше Сплит скрина на одном компьютере не собирался уходить, потому что уйдет слишком много времени на это (я просто это не умею делать). Решил это компенсировать глобальной таблицей рекордов, meh

Ответить
1

Просто концепция идеальная, чтобы поиграть вечером с компанией под пивко) В общем надо попробовать на выходных)

Ответить
2

чтобы они страдали как мы в свое время в battletoads на глайдерах)

мсье знает толк в извращениях)

Ответить
1

Так и не понял как отбивать-то))

Ответить
1

Когда мяч окажется в квадрате, нажимай на клавиатуре/геймпаде влево/вверх/вправо в зависимости от квадрата, куда попал мяч :)

Ответить
0

"Всего в игре 5 различных режимов"

Королевской битвы нет?

Ответить
3

Нет, но на быстрых песнях колечко тоже сжимается

Ответить
1

Игра классная, но ждем в эпик сторе))

Ответить
1

Бесконечно можно смотреть на три вещи — как горит огонь, как течёт вода и как две пиксельные фигурки играют в пинг-понг.

Ответить
0

Идеально для формата кубов!

Ответить
0

Если товарищ разработчик еще здесь, то есть шанс быстро получить решение проблемы.
Почему игра может не запуститься? Ни через стим, ни через .exe просто ничего не происходит.

Ответить
1

Хм, честно, пока такого не случалось. Сейчас попробую найти решение

Ответить
1

Короче, я попробовал выключить и включить компьютер. Это помогло. ( ͡° ͜ʖ ͡°)

Ответить
0

Классика, я рад, что все в порядке! По любым вопросам, баг репортам и т.д. можешь писать куда угодно - ВК, в Стиме, дискорде (ссылка в ВК), хоть здесь, на ДТФ :)

Ответить
0

Да ладно уж, время позднее. Завтра попробую.

Ответить
0

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

Ответить
1

Смещение по третьей координате игре повредит, но для визуала я добавил тень у мяча, чтобы казалось, будто он вверх-вниз скачет

Ответить
0

нужно на мобилки

Ответить
0

Согласен, сам хочу :)

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]
В лутбоксы начали включать багфиксы
Подписаться на push-уведомления