Mr. Andrey, please show me your magic
157 subscribers
495 photos
198 videos
5 files
286 links
Download Telegram
В Unity есть такой компонент — Rigidbody2D. Он позволяет включить для игрового объекта физическую симуляцию. Может быть трёх типов:

1. Static — тело лежит и не двигается. Препятствие с бесконечной массой.

2. Dynamic — тело, которое само реагирует на применение к нему физических сил. Мы говорим — давай пни этот мяч с такой-то силой, под таким то углом и дальше движок сам посчитает гравитацию, отскоки, реакцию с другими телами, скольжение и так далее. Мы радостно смотрим за симуляцией.

3. Kinematic — тело, которое тоже участвует в физической симуляции, но тут программист сам решает как ему обрабатывать физические силы.

Другими словами. Dynamic позволяет запускать объекты в относительно честной физической модели, движок сам постарается аккуратно всё рассчитать, а программисту нужно только определить приложение силы. Kinematic позволяет реагировать не так, как ведут себя объекты в реальности, можно делать всякое, но надо попрограммировать.

Например, возьмём банальный арканоид. У вас есть бита и шарик. Они оба будут kinematic, потому что бита не должна падать под действием гравитации и должна без трения отбивать мячик. Мячик должен двигаться, опять же, без воздействия гравитации, отскакивать от предметов не теряя энергию, а иногда даже увеличивая её. Все эти нюансы поведения программист может описать.

Как будто, реальное использование dynamic в основной игровой механике — физические паззлы. Angry Birds, Roly Poly Cannon и т.д.

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

Думаю, ухватили идею.

Так вот. В Unity по умолчанию у Rigidbody2D выставлен тип dynamic. Как вы понимаете, не все новички, которые начинают работать с Unity, делают физические паззлы. Я бы даже сказал почти не все.

Как следствие:
- форумы полны вопросов, как реализовать ту или иную механику, которую не предполагается делать на dynamic, но с включенным dynamic
- форумы полны ответов, какие извращения нужно применить, чтобы dynamic всё-таки заработал хотя бы примерно как надо

Доходит до смешного. На форумах можно найти ответы разработчика 2D физики из Unity, где он пишет вопрошающим — используйте kinematic — а в ответ ему достаётся ругань за, типа, неправильные советы.

В дополнение к этому — весьма сухо написанная документация.

В дополнение к этому — примеры по kinematic лежат где-то там на гитхабе, ещё надо поискать.

В дополнение к этому — в Unity нет базовых 2d контроллеров персонажа из коробки для популярных жанров, а для kinematic надо всё-таки пописать кода, если прямо совсем с нуля.

Одним неверно поставленным значением по умолчанию Unity обрекли индустрию на многие человекогоды страданий.

Такие дела. Устанавливайте значения по умолчанию с умом.
Начал всерьёз заниматься разработкой игр — практически перестал играть.
Начал учить японский — практически перестал смотреть аниме.

Что дальше? В комментарии только неправильные ответы.

Августовский пик — это я взял отпуск на недельку и в лесах Карелии подключился к телевизору, где прошёл первые три игры со скриншота.

Любопытно посмотреть ваши итоги!
Первый раз за почти три года работы над игрой я ничего не делал по ней в течение восьми дней. Буквы не могут передать моего удовольствия.

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

Вообще, если в 2025 году не получится зарелизиться, то я уже морально готов просто всё дропнуть. Списать убытки, так сказать. Любая экономическая, да и просто человеческая, целесообразность уже давным-давно закончилась.

Правда, пока писал, у меня возникло чувство дежавю, как будто я раньше уже грозился всё дропнуть и вот мы здесь.
Вот такая штука теперь у меня есть, вооооооот. Сделал @ryutechnology. Сейчас ещё репостну, можете там посмотреть фоток не на тапок и даже видео.
Forwarded from RyuTech
Media is too big
VIEW IN TELEGRAM
Вот что еще делал в прошлом году и наконец-то могу показать) Фигурка по игре которую делaет @show_me_your_magic . Красавица-эльфийка Рин. Игра еще не вышла, но это будет супер топчик STEAM . Artstation Ну что, я считаю, что я готов делать аниме-фигурки) Кого будем делать следующей? (больше фото в коментариях)
Продолжаем всплытие. Сегодня у нас обновление папочки с инди разработчиками. Сам всё читаю и другим советую.

Обращать внимание на небольших и нишевых разработчиков очень важно. Если ещё реакции ставить...

А с Siberian Way мы даже как-то были на одном оффлайн мероприятии. Так то!
Расширение Инди папки ! 🍊🍊

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

Так вот, сегодня пришла пора добавить в папку ещё 6 каналов 🍊

1. Геймдев без кранчей. Это канал в основном про маркетинг. Разбор успехов и провалов, аналитика. Постов - мало, пользы - много. 🍿
2. Antelus games. Студия разрабочик и издатель небольших инди-игр. Сейчас у них кипит работа сразу над несколькими проектами. 🍊
3. Канал по разработке игры "Drawn tale". У игры уже есть страничка в стиме, а на канале периодически появляются материалы связанные с разработкой. 🔦
4. Канал разработки такой нашумевшей игры, как "Симулятор чушпана" 1 и 2 части, а также других игр поменьше.
5. Канал разработки игры HotLoop. Обзор на которую я писал на канале. Страничка в стиме. 🛸
6. Канал разработки игры "Siberian Way". А вот её страничка в стиме ! 🧊

Ссылка на папку: https://t.me/addlist/QUAk3DOoUexmNmFi
Please open Telegram to view this post
VIEW IN TELEGRAM
Мой игровой год начался с того, что в новогоднюю ночь я прошёл вместе с Таней Streets of Rage 4. До этого я проходил только первую часть, остальные пока так, немного поиграл.

Наконец-то вынесли подбор предметов на отдельную кнопку, а не совмещённую с ударом! Раньше постоянно чёртовы предметы подбирались не те, не тогда и еда регулярно на фулхп подбиралась.

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

Боевую систему расширили, теперь можно крутить комбухи почти как в файтингах. У разных персонажей немного отличаются механики. Есть кенселинг анимаций.

Большой ошибкой было играть на нормале — он слишком лёгкий. Игру буквально пробежали часа за три и за всё время умерли пару раз. Может я бы попробовал на харде попозже залипнуть.

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

Аркадный режим в четвёртой части тоже есть, чтобы всё как в старые добрые, но думаю играть в него будет не так интересно, баланс всё-таки другой.

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

Где теперь эти обещания, но сегодня я расскажу про другое.

Какие-то ассеты всё-таки остались. И один из них — Pixel Crushers Dialogue System for Unity. Довольно известная штука для построения диалоговой системы. Имеет солидный список увожаемых проектов — самый известный это Диско Елизиум.

Она крутая. Как же я её ненавижу.

Серьёзно, тут есть всё, включая интегрированный Lua движок, чтобы писать скрипты, пока пишешь скрипты. Есть импорт и экспорт в совершенно обскурные форматы. Всё есть, в общем.

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

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

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

Например. У меня есть пачка спрайтов, которые я хочу показывать в завимости от настроения персонажа. Из коробки предлагается два варианта:
- прикрепить спрайты к префабу и указывать что показать по индексу
- положить их в Resources и менять по имени файла, причём, здесь будет Resources.Load каждый вызов

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

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

Не стоит смотреть на этот текст как на серьёзную критику ассета — это "старик кричит на облака" в чистом виде.

Действительно полезные и прикольные вещи тут тоже есть.

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

Форум почитать, опять же.

Без кода диалоги можно запускать, только статью прочитать отдельную, а лучше видео на полчасика посмотреть.

Есть система сохранения и загрузки. Что такое, вам кажется, что в диалоговой ситеме это немного лишнее?

Получилось сумбурно, ну так и ассет такой и моё отношение к нему.

Воооот.
Сегодня сходил вместе с эльфийкой к Варваре на шоукейс. Привет всем, кто подписался после него!

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

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

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

Ещё накинул в демку немного сюжетных перипетий, но они особенно никого не интересовали, игроки больше на картинки смотрели. Так что мой райтинг никто не увидит, за него можно не переживать. 👊

А, ну и поставил на этот раз ограничение по количеству уровней, которое можно пройти за раз. Раньше можно было играть долго и получалось так, что кто-то один залипал и больше никто не мог поиграть. Мне это очень приятно, но для дела нужно пропустить через демку несколько человек.

Продолжаю лежать в направлении релиза. 🛏
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Неделя была очень плотная, поэтому залетаю в твиттерский флешмоб "15 seconds of my indie game" с некоторым опозданием. Но лучше, всё таки, сделать, да? А вам — видосик.
Mr. Andrey, please show me your magic
А тут Unity 6 зарелизилось, оказывается. Я всё думал, успею доделать эльфику или нет, до релиза. Придётся переезжать, теперь на новую версию, получается.🏃‍♀️ В посте-анонсе, правда, ничего нет про 2D, но кое-что интересное припасено и для меня. У Rigidbody2D…
Нашёл таки время попробовать переехать на Unity 6, в основном ради Rigidbody2D.Slide. За пару выходных, как будто, получилось.

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

Но есть несколько вещей, которые прямо так, ну, дали мне понять, что сокращают в Unity кого угодно, кроме QA отдела, который надо было выкинуть на мороз полным составом как минимум в пятой версии (которая из 2005 года).

Первое.

Сразу установиться у юнити не получилось. Вроде всё скачалось куда надо, но при попытке запуститься — редактор просто падал с ошибкой Unable to load nib file: MainMenu, exiting. Прогугливается до 2020 года точно, если чё.

Решение простое — удаляем, скачиваем по новой. Работает. Как почему што.

Ладно, ну, не скачалось, ну, бывает. На хеши бюджета не хватило.

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

Лечение аналогичное.

Впечатление, честно говоря, удручающее. Юзер экспириенс пугающий.

Второе.

Сломалась обратная совместимость в загрузке сцен редактором. Для эльфийки это довольно существенно.

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

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

До Unity 6, при старте play mode, движок прогружал открытые сцены в том порядке, в котором они были открыты в редакторе. А теперь, в Unity 6, движок сначала грузит ту, которая помечена как active, а потом остальные, т.е. может получиться так, что сначала грузится локация, а потом системная сцена, что, как вы понимаете, может что-то сломать (и ломает), т.к. локация предполагает, что системные компоненты доступны всегда.

Здесь пришлось написать скрипт, котоырй через API редактора жонглирует активным статусом при заходе в play mode и выходе из него.

Третье.

С первой попытки Slide сделать без багов не получилось. Сами столкновения КАК БУДТО работают нормально (но у меня и мои работали нормально, а игроки нет-нет, да и застрянут), но одна штука отняла добрую половину моего воскресенья.

Лонг стори шорт, если часто вызывать Slide с нулевыми параметрами (т.е. слайди никуда, пажаласта) и где-то параллельно (ну, не параллельно, мы же в одном потоке, где-то рядом) явно менять позицию (персонаж телепортировался, например), то позиция вроде меняется, а потом не меняется и персонаж остаётся где был.

Пока что поставил явную проверку на нулевое воздействие и Slide в этом случае не вызываю.

Вот написал всё это и теперь даже не знаю, продолжать эти эксперименты или всё таки попробовать починить свой код. 😐
Please open Telegram to view this post
VIEW IN TELEGRAM
Кто прочитал — молодец. Вот вам картиночка.
Кажется, я прошёл Blue Archive.
Mr. Andrey, please show me your magic
Кажется, я прошёл Blue Archive.
Вообще, Blue Archive на удивление хорошо сделан. Я не большой эксперт по гачам, но пробовал некоторое количество и ничего не нравилось.

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

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

Самый минимум, который нужно сделать, чтобы выполнить дейлик, занимает, ну, минут пять, это если ещё позалипать на анимации. Всё, кристаллики собрал, можно гулять.

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

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

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

В общем, любой элемент, который здесь есть, настроен через призму того, что уставший взрослый человек, после работы придёт и немного почилит, без потения. Мужская версия "Клуба Романтики", получается.

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

Ещё отмечу работу арт-директора. Несмотря на то, что персонажи нарисованы разными художниками и персонажей много — выглядит всё супер консистентно.

А, ещё здесь пропускают имя игрока через нейросетку и персонаж из главного меню прямо голосом приветствует игрока по имени!
This media is not supported in your browser
VIEW IN TELEGRAM
И вот вам кусочек из эльфийки.

Сделал ещё одну локацию. На ней будет постепенно меняться окружение. По мере прохождения других уровней.
Я: хочу импортировать пару новых спрайтов и закинуть их на сцену
Юнити:
Media is too big
VIEW IN TELEGRAM
Переделал одну из важных начальных сцен. И одну из немногих, где у игрока отнимается управление. Сократил болтовню в несколько раз. Полностью поменял окружение. Раньше там была дырка в стене на улицу, если кто помнит.

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

Однако хорошая реализация требует более вдумчивого подхода, чем я могу себе сейчас позволить. Поэтому — отнимаю, но чут-чут. Так, чтобы игрок не чувствовал себя одураченным.