Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 Wochen, 1 Tag her
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 Monat her
Друзья, я таки залил новую версию демо. Много чего добавил:
-прицел с помощью мышки(пока еще если честно шакально реализован, я стараюсь это исправить)
-все баги что вы помогли мне найти исправлены.
-добавлено много чего по звуку, особенно мне нравится как звучит игра когда герой прячется
-пара новых пугалок
-визуальная переделка некоторых комнат
-отметка героя на карте
-добавлены некоторые обучалки(один косяк я уже нашел в первой же обучалке, наберу новый пул багов и это буду исправлять)
-смена сторон в прицеливании(на джойстике правым стиком, на клавиатуре Q и E) и включение выключение фанарика собсно во время прицеливания (не знаю почему раньше у меня этого небыло реализованно)
Конечно, внедрено решение что было описано теми двумя огроменными постами, сейчас будем смотреть, как работает так сказать в массах.
Самое главное, надеюсь вы поиграете, и когда найдете еще косяков, то пишите, буду ждать вашего фидбека)
В предыдущих сериях.
Нужно соединить и синхронизировать две анимации двух разных объектов.
И нихера не получалось.
Пришло время для кардинальных решений, время изменить игру, время героев. Теперь все будет по другому...
Пафосная музыка, заставка....
В целом действительно время, как я говорил, все сделать по другому.
Отставим задачу засинхронить анимации.
И идея в том что б в нужном моменте воспроизвести анимации двух разных объектов тупо в одном объекте, в ОДНОЙ анимации. Тогда пропадет проблема синхронизации. Но конечно же будь так легко, это бы не заняло целых два поста🤦
Мой главный объект это собственно сам персонаж. Вокруг него все движухи соответственно логично что нужно на его анимацию цеплять все что нужно, и будет счастье. Пробуем.
В целом метод работает.
При атаке зомбя, на самом зомби изображение пропадает, а вот в анимации героя появляется. Подмены не заметно, и все работает вроде бы гладко но....Ебучая но.
Дело в том, что я у себя реализовал небольшую самодельную систему повреждений для мобов. И частично разобрав зомбя по частям, нужно что б оставшаяся часть собственно и занималась душанбе с главным героем. И в теории такое даже можно просчитать, и тут влезает второе но. Зомбей у меня 4 разных цвета. И что, под каждого делать свою анимацию? Не прокатит.
Отходим назад.
Я все еще не теряю надежду сделать анимацию на базе героя.
Можно попробовать переносить опционально разобранный спрайт нужного зомбя в родительский класс героя, и дальше уже заранее прописанная анимация его подхватывает и вертит как нужно.
Сказано сделано. Небольшой скрипт, и вот, при нападении поврежденный спрайт зомбя копируется в родительский класс героя а оригинал на это время становится невидимым.
И ведь даже анимация героя подхватывает новый объект, но не сразу.
Ей требуется время осознать что пустое место на которое она ссылалась вдруг перестала быть пустым. И много времени, даже с позиции человека, не то что машины. В итоге зомбь буквально исчезает и появляется через аж секунду.
Опять не прокатило.
И вот наконец подходим к методу который сработал отлично.
Он по сути очевидный, и если честно стыдно что мне понадобилось столько времени что б дойти до него.
Итак.
Воспроизвести две анимации в одной явно подход правильный, но раз не получается все воспроизвести в анимации героя, то (о это гениально) надо сделать самого героя в нужный момент прозрачным, а в анимации зомбя воспроизвести те нужные миру обнимашки.
Хлопок по лбу🤦🤦🤦🤦
И вот дело заладилось.
За день накидал прототип, который на удивление сработал настолько идеально что я аж обиделся, насколько это проще всех тех мытарств что пришлось преодолеть.
Быстрое тестирование показало ряд легких проблем (например проблемы с позиционированием героя до и после напвдения), но все они были скорректированы.
И вот.
Наконец то все работает. Я даже схожу за пивасиком отметить это дело.
Знали бы сколько времени эта проблема колупала мне мозг, и как на всех шоукейсах было отвратительно смотреть на шакальную анимацию.
Вобщем.
Теперь план такой. Полирую демку, убираю те косячки что были еще найдены, тестирую до победного, и завтра выкатываю новую версию. И наконец приступаю к завершению большого этапа машинного отделения.
Как только выкачу новую версию, я конечно же сюда отпишусь, буду очень благодарен, если вы затестите и напишите фидбек. Я добавил туда много чего, особенно по звуку, так что рекомендую играть в наушниках.
Итак, вчера сходил на Питерский шоукейс, неожиданно что то выйграл, что безусловно приятно) Но главное я оттестировал новую версию демки которую хотел залить по итогу.
Но таки возникли некие заковыки и я сел их долелывать, в целом по плану выпустить обнову на следущей неделе никуда не делась.
Но тут я хотел бы поведать о боли синхронных анимаций. Я не раз говорил что это моя первая игра и я совершаю множество глупых поступков в ходе разработки(типа в целом выбора направления карьеры), и понимаю об этом значительно позже чем хотелось бы. Так и тут. Решение к которому я в итоге пришел возможно не сильно изящное и правильное. По итогу оно работает. Но, ежели кто то знает как это сделать легче, расскажите пжлст, это мне очень поможет)
Итак дано:
Два независиммых объекта, которые когда рядом, начинают воспроизводить жаркую анимацию взаимных обниманий. При этом, как вы наверняка поняли из самого начала, анимации должны быть прям покадрово синхронизированны. Но мало этого, они должны быть еще и выверены в пространстве относительно друг друга.
Задача кажется в целом не сложной сначало.
Итак начинаем. Создаем точку к первому объекту. Эта точка обозначает необходимое положение второго объекта в случае совместной анимации. Второго, в начале нужной анимации, с помощью update(на всякий чтоб ебашило постоянно) привязываем железно в пространстве к этой точке.
Второй шаг, в нужный момент включаем одновременно анимации на первом и втором объекте, предварительно одинаково расположив ключевые кадры на временной шкале что в анимации первого объекта, что второго.
И вот казалось бы все. Должно работать.
Но нет, иначе пост в целом не состоялся бы.
Почему то объект привязанный апдейтем, к вроде бы статичной точке прыгает, а анимации, которые должны отыгрываться одновременно, пускают кадры в разнобой.
Оказывается не учтена частота кадров и как болт надушу положит читка скриптов, которая по разному читается в зависимости от опять же частоты кадров. В теории это должно фикситься функцией Fixed, но опять таки всплывает многозначительное НЕА, не фиксится.
Ок, меняем тактику.
Связать кадры нельзя, но можно связать циклы анимаций, через ивенты. И так на начало цикла кадров анимаций одного объекта требующих синхронизаций с анимациями другого объекта, ставим ивент запускающий вовремя цикл анимации.
Теперь вроде уже все точно должно работать. Одно напрямую обращается к другому в нужное время.
И опять таки нет, не работает. Таже самая оказия. Частота кадров шакалит синхронизацию.
Штош.
Выйдем из этого направления вобще, и пойдем в другую сторону, в другой плоскости так сказать.
Но финал этой поистине "увлекательной" истории вы узнаете в следующем посту.
А тут оставлю фотоньку моего публичного финализма.
Steam стартовал фестиваль российских игр: GAMES FROM RUSSIA. Это первый фестиваль подобного плана за всю историю существования магазина. На фестивале собрано более более 70 игр, которые разбиты на три удобные категории.
Это первый мой фестиваль. Сдедущий будет Играм Быть)
После определенных танцев с бубном, у меня таки получилось выпустить демку на стим странице) Теперь она там, ура. Постепенно буду её апдэйтить, вместе с основной игрой, исправлять общие баги, звуковые косяки(мне написали целый список, огромное спасибо, постепенно правлю)
Забавность публикации в стим оказалась вот в чем.
После залития на страницу демка не отображалась. Долго искал в чем причина, мне помогли, оказалось, не поставил галочку. Одну сраную галочку.
Но суть не в этом. Демка была залита, но не отображалась в стиме в течении недели, а вот на СтимДБ она была вполне себе доступна сразу как оказалось. И некоторые американские мелкие стримеры в неё начали играть, а я терзался в догадках откуда у них демо. Очень странное фуетэ.?
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 2 Wochen, 1 Tag her
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 Monat her