В нашем карточном рогалике Faraway Galaxy встречается пять рас (в каждой — несколько бойцов), десятки карт и множество артефактов. Мы небольшая команда, ранее создавшая Karma. Incarnation 1 и вновь хотим подарить игрокам запоминающийся визуальный стиль. Делитесь впечатлениями, кидайте вишлисты, гладьте котиков!
В игре вам нужно будет проводить полноценные расследования, включающие в себя диалоговые секции, осмотр квартиры и изучение улик. Но в целом это небольшая и легкая игра.
Пока крупные студии бесконечно переносят свои AAA-релизы, а витрины игровых магазинов заваливает однотипный мобильный шлак и собранные на коленке клоны из готовых покупных ассетов, я решил доказать, что олдскульный инди-геймдев в соло еще жив.
Полтора года работы по вечерам после основной смены, полностью ручная пиксельная графика без единого готового ассета, код, написанный наполовину самостоятельно, а наполовину — с помощью друга-программиста по вечерам, и тонны выпитого кофе. Представляю вам свой хардкорный 2D-платформер — HOTASS.
В чём замес?
Это чистокровный, злой и динамичный платформер в духе старого доброго Super Meat Boy. Сюжет прост: мрачный замок, 15 очень потных уровней, циркулярные пилы, ловушки и капающая сверху кислота (зеленые штуки на скриншотах — это именно кислота, а не кристаллы, расслабиться она вам не даст). Как правильно написали мне в комментариях на другом ресурсе: «Пенза всегда была хардкором». Так что игра полностью соответствует атмосфере!
Но главная фишка игры — это встроенный визуальный счётчик фрустрации. Я прекрасно понимал, что игроки будут постоянно умирать. Было бы глупо это не обыграть, поэтому я придумал механику, которая буквально визуализирует подгорание:
• Чем чаще вы погибаете на уровне, тем сильнее персонаж начинает дымить.
• После 40-й смерти главный герой окончательно теряет самообладание и превращается в полыхающий оранжевый факел!
• А на финише уровня ждет долгожданное спасение — его тушат из самой обычной душевой лейки.
Как это делалось?
Всё нарисовано с полного нуля. Каждый блок земли, каждую анимацию прыжка, пилы и брызги кислоты я вырисовывал по пикселям сам. За техническую часть и код отвечали вместе с другом-программистом из индустрии геймдева. Пилили по вечерам, часам к 10 ночи созванивались, когда оставались силы после основной работы. Графики, понятное дело, часто не совпадали: то у него завал, то мне некогда. Но мы работали на приколах и расслабоне, поэтому и не перегорели за эти полтора года.
Баланс сложности я вылизывал лично. Сам полностью прошел игру дважды от начала до конца, чтобы убедиться: управление отзывчивое, а хитбоксы честные. Нам с друзьями-тестерами пришлось знатно попотеть — их имена я с чистой совестью уже вписал в финальные титры за проявленное мужество. Бонусом ко всему этому идет сочный авторский саундтрек с плотным 808-м басом и замковым ревером.
Что по релизам и планы на будущее
Прямо сейчас игра висит на модерации в VK Play и должна выйти со дня на день. Иллюзий не строю, миллионером там стать не рассчитываю, но для старта и обкатки финального билда — это самый безболезненный вариант в наших реалиях. Как только модераторы дадут зеленый свет, я обновлю этот пост и добавлю ссылку.
Параллельно я уже готовлюсь к партизанскому маркетингу: планирую напечатать пачку дерзких листовок и лично расклеить их по Пензе (в районе Политеха, ПГУ и в центре), чтобы привлечь местных игроков.
А дальше план четкий: я собираю чемоданы, еду в Казахстан, делаю местную карту, ИИН и официально перевожу личный разработческий аккаунт в Steam, чтобы штурмовать мировую сцену уже без всяких костылей и посредников. Билд к тому времени будет максимально отполирован.
Зацените скриншоты. Как вам задумка с горящим персонажем? Докажете, что ваша задница крепче этих пил? С радостью отвечу на любые вопросы в комментариях, поддержите земляка!
Привет, Пикабу! Мы очень маленькая команда из Поволжья, называемся мы GridHouse Games. Мы собрались вместе в этом году что бы сделать наш первый проект - DRAKA. Мы только в самом начале пути, и решили вести dev-log тут на Пикабу, что бы получить гуёв в панамку , фидбек от живой аудитории.
Это анти-файтинг где все персонажи это обычные люди живущие в СНГ, которые не умеют драться но очень хотят. Тут не будет невозможных перекаченных джимгаев или мастеров кунг-фу, только среднестатистические обыватели, которых мы видим каждый день на улицах, в магазинах, на остановках, у себя в домах в конце концов.
В игре не будет комбо-атак, необходимости заучивать тайминги и виртуозно владеть геймпадом. Все будет основано на случайности, удаче – чистый фан. Так как наши персонажи не бойцы, а в драку им залезть очень хочется, будут и случаи, когда свои же действия могут нанести себе же урон. Все как в реальной жизни. Так же геймплей будет сильно зависеть от случайных событий, QTE-эвентов и событий арены. Каждая арена будет иметь свои особенности. Об этом и QTE расскажем в отдельных постах.
А пока, давайте знакомиться с первыми персонажами, которые готовы на данный момент.
BABA TONYA
Черновая модель персонажа
Главный обитатель всех местных улиц, лавочек и магазина Чижик. Куда бы ты не пошел, Баба Тоня всегда уже там уже будет. И ты очень ее раздражаешь, она бы с радостью огрела бы тебя своим пакетом полным продуктов, которые она несет своему внуку-наркоману, но ей нужно беречь этот пакет, чтобы ёбануть хорошенечко непосредственно своего внука что бы тот наконец-то взялся за ум, закончил училище и женился бы на Наташке. У неё артериальная гипертензия, от сего ей лучше не переживать и ходить аккуратно и без резких движений, но бабушке на это глубоко похую. В случае чего, как она думает, скорая ее легко и быстро откачает, и она снова будет на ногах.
Спец. удар: Cursed Saliva – снаряд летящий точно в противника. При попадании наносит 10 урона здоровью и накладывает на противника Curse (Curse – замедляет персонажа в два раза на 10 секунд) Спец.дебаф: Myocardial infarction – при применении ударов (а особенно спец.удара) у Babushka повышается артериальное давление, при достижении порога в 230/130, с шансом в 90% происходит смерть от инфаркта. При простой ходьбе бездействии, или блоке давление приходит в норму. Противнику засчитывается победа в раунде.
Лимитный удар: Forty-one kitties - сорок кошек нападают на противника и грызут и царапают его, противник получает от 15 до 30 единиц урона
Другие способности: Скорость движения из-за проблем с коленями, замедленна в два раза по сравнению с обычной скоростью движения персонажей.
MAJOR MYCOPOV
Черновая модель персонажа
Участковый милиционер из 90х, родом из города Майкоп. Орденоносный защитник местных улиц от тех, кто недостаточно быстро перешёл на другую сторону при его появлении. Major Mycopov всегда найдёт, до чего доебаться. Стоишь — чего стоим, идёшь — куда идём, бежишь — ну тут вообще всё понятно, гражданин. В одной руке дубинка, в другой папка с документами. Получить можно обеими, но папкой обиднее: получается, что юридически тебя уже ознакомили.
За годы службы майор приобрёл уверенность, что любой конфликт можно решить словами «Да я тебя посажу!», а если человек не понял, значит, надо объяснить ногой. Местные жители майора тоже хорошо знают и при удобном случае стараются передать ему что-нибудь приятное. Желательно тяжёлое и с безопасного расстояния.
Спец. удар: Healthsplit — удар ногой с разворота, после которого противник, вращаясь, улетает до края арены. Отнимает половину текущего здоровья, но оставляет минимум 1 единицу. Видимо, чтобы было кому подписывать протокол.
Спец. дебаф: Nationlove — народная любовь. Каждые 10 секунд бросается двадцатигранный кубик. При результате 15–17 в майора летит один пластиковый стаканчик или бутылка, при 18–19 — два, при 20 — три. После успешного Healthsplit следующий бросок назначается через 3 секунды и гарантированно выпадает в диапазоне 15–20.
Лимитный удар: Necessary Sacrifices — майор достаёт пистолет и производит три выстрела в противника. Каждый наносит от 5 до 10 единиц урона, суммарно — от 15 до 30. После последнего выстрела противника отбрасывает на землю. Необходимые жертвы, всё будет отражено в рапорте.
Другие способности: Может объяснить права дубинкой или папкой с документами. Для лимитного удара нужна полностью заполненная шкала. Подготовка занимает одну секунду: если за это время майору успеют въебать, приём сорвётся, а заряд всё равно потратится.
DRONEWACTHER
Черновая модель персонажа
Главный наблюдатель за воздушным пространством района. Пока Баба Тоня смотрит, кто опять насрал в подъезде, а майор выясняет, чьё это, Дронвотчер смотрит в небо. Стоит он так давно, что местные уже используют его как ориентир: после «Чижика» направо, мимо выгнутого мужика и до гаражей.
Бабушки считают его наркоманом. Сам он объяснений не даёт, потому что занят. У человека воздушная обстановка, а вы со своими вопросами. И ведь самое неприятное — дрон к нему действительно прилетает. После этого выясняется, что мужик не просто так занимал место посреди двора.
Спец. способность: управление дроном. Через несколько секунд после начала раунда прилетает дрон и зависает над персонажем. Чтобы взять управление, нужно стоять на земле и немного подержать направление вверх. После этого направления управляют полётом, а кнопка первого удара — стрельбой. Её можно удерживать, чтобы стрелять подряд.
Сам Дронвотчер в это время остаётся стоять на месте. Одновременно летать и пиздиться руками не получится. Если противник доберётся до тела и ударит его, управление дроном прервётся. Нажатие блока тоже возвращает управление персонажем и позволяет защищаться. Поэтому сначала желательно отогнать противника, а уже потом уходить в авиацию.
Дальнобойные атаки: дрон стреляет отдельными снарядами. Они летят по прямой: направление фиксируется перед выстрелом, и дальше снаряд за противником не поворачивает. Можно промахнуться, можно увернуться, можно вовремя сменить позицию.
Оружие наводится автоматически, но высоту атаки выбирает игрок положением дрона. Опустился ниже — стреляешь по ногам, поднялся — по верхней части тела. Противнику приходится выбирать между нижним и верхним блоком. Просто зажать одну защиту и ждать, пока у этого долбоёба сядет батарейка, не всегда получится.
При этом безнаказанно расстреливать противника в спину дрон не умеет: оказавшись за его спиной, стреляет в сторону от него. Положение в воздухе здесь тоже имеет значение.
Спец. дебаф: собственный дрон может стать твоей главной проблемой. Снаряд можно отбить обычным ударом, если попасть по нему активной частью атаки. Тогда он полетит обратно в дрон со скоростью в полтора раза выше исходной. Шестой подряд заблокированный снаряд тоже отражается автоматически. Поэтому бесконечно поливать человека в блок — хороший способ получить свою же посылку обратно.
Дрон можно сбить и прямым ударом, если достать до него. После попадания он падает на хозяина и взрывается, отнимая 20 единиц здоровья. Убежать от ответственности не получится: падающий дрон следует за Дронвотчером. Затем начинается ожидание следующего аппарата.
Лимитный удар: отдельный лимитный приём в текущей реализации пока не добавлен.
Другие способности: в ближнем бою бьёт головой и ногами. Удар головой способен оттолкнуть стоящего противника примерно на семь игровых метров — достаточно, чтобы освободить себе место для управления дроном. Основной принцип боя: отогнал, переключился, обстрелял, вовремя вернулся в тело. Если засмотрелся на собственную авиацию, противник быстро напомнит, где ты оставил ебало. В силу своей позы не бегает и не прыгает, скорость ходьбы снижена в 3 раза от обычной
Ну вот и все на сегодня, наверное, и так пост получился достаточно длинный и нудный. Отельного SMM-щика у нас в команде увы пока нет, так что простите за кривость текста и оформления. Если в панамку прилетит не так много, что бы ее переполнить, в следующем посте расскажем о аренах, каждая из них имеет свои особенности, сильно влияющие на геймплей.
Более тошный дев-лог разработки так же ведем в нашей телеге, так что если вдруг заинтересовало - подписывайтесь, и надеемся что до скорых встреч!
Что может быть проще, чем ходить на одну клеточку по шахматной доске? Берешь и рисуешь спрайт в новом месте.
Вот только стоит ли хранить положение героя в координатах? Стоит ли хранить состояния всех клеток доски?
Решил хранить только две координаты: X и Y левой нижней клетки. Если точнее левого верхнего угла этой клетки: PICO рисует спрайт от этой точки вниз и вправо (в сторону увеличения координат - Y идет сверху вниз).
Оси координат в PICO-8
Перевод из координат ячейки в координаты игры делает элементарная функция:
«Анимация» движения героя выглядит интереснее. Этот кусочек с трудом влез на экран, а часть условий возврата героя в обычное состояние обрезалось. Весь смысл этого кода — двигать героя не сразу на 8 пикселей, куда ему надо, а плавно кадр за кадром со скоростью speed передвигать его в нужную сторону. Для этого есть глобальная переменная timer, которую увеличиваем на единицу, потом двигаем спрайт в нужную сторону.
Вот такой бардак в передвижении героя...
Не все решения были удачными с первого раза. Сначала хранил все 64 клетки массивом:
Удобно перемещать «фигуры»
соседние клетки вычисляются элементарно;
Состояние всех клеток понятно;
Проход по 64 клеткам — плевое дело;
По факту оказалось, что это крайне неудобно. Хранить состояние героя в отдельной таблице, а врагов в отдельной с ключами-координатами гораздо проще.
Так хранить данные о герое гораздо проще и понятнее
Абордажи, морские сражения, борьба с чудищами, глобальная компания на 3 часа из трёх пактов, апргейд кораблей
карта,
Опять была использована команда из ИИ агентов - игроки новички и продвинутые, бета тестеры, исследователи рынка, боты для проверки уровней и качества сюжета и сложности, само собой команда ИИ программистов регулярно получала сообщения от агентов, и лично я кричал в микрофон минутные реплики что же так, что надо исправить и как можно считать, что игра пройдена, если через бразуер бот застрял уже на первом уровне, сам я прошёл до конца, не обычный сюжет(море мелеет), и конечно апгрейды, лвл ап, плюс интеграция рекламы
По двикжу - никаких юнити, ии скачала блендер и нарисовала модели (шутка, просто стырила из интернета) аналогично с музыкой и текстурой
Что понял - нужно поддерживать мобильные устройства, не перегружать интерфейс(очень популярная ошибка) и конечно же играть самому и самому видеть что игра интересная и затягивает, мне лично было приятно пройти сюжет и узнать что ж там он напридумал! Охотимся на кракенов, и тд и тп, в общем раньше я бы и за год такое не сделал, бюджет игры миниму должен быть 50 000 долларов (сейчас порядка 100 долларов)
Апдейт - как конкретно писалась игра. Была уже сессия с наработками, в чате и в микрофон говорил - хочу вот такую игру, подготовь команду разработчиков, тестировщиков, поищи источники моделей, текстур, и тд и тп, чтоб был общий план. Потом ботом проиграй в текстовом режиме чтоб настроить сложность, и в реальном браузере тоже играй сам, чтоб искать ошибки в ИИ
Указал какие из других игр мне нравятся мысли и наработки, сообщил куда выложить для интеграции с рекламой. Потом играл отдельные миссии и всю компанию, где было зависание или камера не там или ещё чего все баги сообщал, но как правило баги ловятся сами когда проходят агенты тестировщики! Особо указал что нам надо поддержать мобильные устройства, в три раза больше охват, ну тоже просил тестировать всё на автомате.
Дополнительно указал что если нет моделей окружения давай делай сам блендером или чем хочешь, а вот для юнитов и кораблей ищи опен сорсные модели с анимацией. Чтоб не было типичного нейро слопа
Вот и еще одна idle-анимация ниндзя Яджас для игры Strivation, где он просто оглядывается по сторонам в ожидании действий от игрока... Не знаю, что он там увидел - но, надо же как-то себя развлечь, пока игрок не решил куда-то его повести, или сделать что-то еще...