Media is too big
VIEW IN TELEGRAM
Вампиризм. Это суперспособность, которая вытягивает здоровье из врага и передаёт игроку. Это было очередное задание. Здесь было важно реализовать индикатор, отображающий готовность к применению и перезарядку. Если враги в зоне поражения, то жизненная сила должна тянуться из ближайшего.
Media is too big
VIEW IN TELEGRAM
Ну и дождь кубов 2.0. Кубы при ударе о платформу меняют цвет, но только один раз. Затем спустя случайное время в диапозоне исчезают и на их месте появляются бомбы. В течение случайного в заданном диапозоне времени бомбы становятся прозрачными и взрываются. Взрыв действует на другие объекты в определённом радиусе. Партиклы и звуки взрыва - уже отсебятина. Интерфейс должен отображать статистику. Объекты не просто спавнятся и дестроятся, а возвращаются в пул объектов для дальнейшего переиспользования.
В этом задании так же познакомился с дженериками, но так до конца не осмыслил их. Нужно больше практики для более глубокого понимания.
Пока на этом всё. Пишите что-нибудь, буду рад общению 🙂
В этом задании так же познакомился с дженериками, но так до конца не осмыслил их. Нужно больше практики для более глубокого понимания.
Пока на этом всё. Пишите что-нибудь, буду рад общению 🙂
🔥4👍1
Всем привет! Очередное задание, которое я выполняю, называется flappy terminator. Это реализация механик по типу Flappy Bird, но с некоторыми дополнениями:
- игрок может стрелять;
- пули летят по направлению поворота игрока;
- вместо препятствий стреляющие противники.
Я решил чуть заморочиться и запилить играбельную демку. Получается очень забавно и через день-два я поделюсь с вами результатом.
В моём коде теперь часто встречаются дженерики, абстрактные классы и интерфейсы. Это означает, что я теперь более-менее начал понимать в ООП, что не может не радовать 🙂
- игрок может стрелять;
- пули летят по направлению поворота игрока;
- вместо препятствий стреляющие противники.
Я решил чуть заморочиться и запилить играбельную демку. Получается очень забавно и через день-два я поделюсь с вами результатом.
В моём коде теперь часто встречаются дженерики, абстрактные классы и интерфейсы. Это означает, что я теперь более-менее начал понимать в ООП, что не может не радовать 🙂
🔥2👍1
Как работает логика разработки:
Раз игрок может летать, значит на нём должен быть компонент Rigidbody2D с BodyType - Dynamic.
За импульс взлёта отвечает класс Flapper с публичным методом Fly, куда я передаю float value и применяю к rigidbody метод AddForce.
Само собой, это происходит по нажатию клавиши и поэтому создаётся класс InputSystem, где регистрируется нажатие и через событие раздаётся подписчикам.
Эти 2 класса ничего не знают друг о друге, их соединяет PlayerState и управляет другими состояниями.
Для врагов, облаков и дороги используется класс Mover. В нём просто корутина, метод старта корутины, метод остановки и метод Inicialize(float speed).
Сейчас не за компом, но всё время обдумываю логику и маячит код перед глазами )
Раз игрок может летать, значит на нём должен быть компонент Rigidbody2D с BodyType - Dynamic.
За импульс взлёта отвечает класс Flapper с публичным методом Fly, куда я передаю float value и применяю к rigidbody метод AddForce.
Само собой, это происходит по нажатию клавиши и поэтому создаётся класс InputSystem, где регистрируется нажатие и через событие раздаётся подписчикам.
Эти 2 класса ничего не знают друг о друге, их соединяет PlayerState и управляет другими состояниями.
Для врагов, облаков и дороги используется класс Mover. В нём просто корутина, метод старта корутины, метод остановки и метод Inicialize(float speed).
Сейчас не за компом, но всё время обдумываю логику и маячит код перед глазами )
🔥1
В той версии Unity, в которой сдаём задания, некорректно работает редактор костной2d анимации (кости просто невозможно поочерёдно выделять), поэтому я прыгнул на Unity 6.0. Тревожные звоночки начались, когда периодически юнька начала бесконечно перезагружать спрайты PSB файлов персонажей. Решение пока зафигачить всё без костей, чисто на анимациях спрайтов. Есть ещё ситуация, когда периодически игра крашится в плеймоде и даже в сбилдинном проекте. Ошибки шейдеров вроде и URP. Перебью анимации, избавившись от PSB файлов и проверю. Если не поможет, буду искать причины в логике. Вчера уже хотел показать наработки, но лучше это сначала допилить. Ну и надо ещё стреляющего врага добавить, рестарт уровня и немного с балансом поиграться. Короче, день-два ещё
🔥1
Media is too big
VIEW IN TELEGRAM
Короче, задание "Flappy Terminator" выполнено )
На проверку пока не отправлял, т.к. надо ещё немного причесать код.
Я ещё думал сделать, чтобы при попадании по игроку или врагу он мигал цветом пули, но решил пока не делать, менторам итак несладко придётся с проверкой моей стопки говнокода 😁
Как считаете, надо ли допиливать игру:
- добавить апгрейды типа двойного выстрела, огненного гороха, летающих камней для защиты, падающих солнышек, как валюту для апгрейдов и т.д.? Я не уверен, что на яндекс играх пропустят из-за визуала и музыки.
Навевает ли игра ностальгию?
На проверку пока не отправлял, т.к. надо ещё немного причесать код.
Я ещё думал сделать, чтобы при попадании по игроку или врагу он мигал цветом пули, но решил пока не делать, менторам итак несладко придётся с проверкой моей стопки говнокода 😁
Как считаете, надо ли допиливать игру:
- добавить апгрейды типа двойного выстрела, огненного гороха, летающих камней для защиты, падающих солнышек, как валюту для апгрейдов и т.д.? Я не уверен, что на яндекс играх пропустят из-за визуала и музыки.
Навевает ли игра ностальгию?
🔥3👍2
TyapLyapDev - Разработка игр | Движуха Сакутина
Короче, задание "Flappy Terminator" выполнено ) На проверку пока не отправлял, т.к. надо ещё немного причесать код. Я ещё думал сделать, чтобы при попадании по игроку или врагу он мигал цветом пули, но решил пока не делать, менторам итак несладко придётся…
Помните, делал это задание? Ментор не принял, ибо насрано в коде и 3 этажа скриптов. Вместо доработать сказали сделать необходимый минимум, а не лепить полноценную игру на данном этапе. Так что теперь без звуков, партиклов, анимации и прочих фич сделаю самое необходимое. Ещё мне поручено разобраться с делегатами и предикатами. Продолжаю свой путь в изучении C# и Unity )
😢2
Сдал сразу, но всё-таки с замечаниями. В общем, не делайте пулы монобехами, это увеличивает взаимосвязь компонентов. Если у конкретного пула есть свои фишки, типа инициализации элементов, то можно через делегаты это всё докинуть, например, в спавнере передать в конструктор пула метод инициализации. Как это устроено, я не сообразил, но реализовать удалось. Едем дальше
Если в OnEnable() стартует корутина, надо ли её стопать в OnDisable()?
Anonymous Quiz
58%
Надо
42%
Нафиг не надо
Media is too big
VIEW IN TELEGRAM
Типа вписался в одну движуху. Какую же лютую дичь я буду создавать, если стану разработчиком.
Дальше по моему сценарию:
Игрок пойдёт за мотыльком, но внезапно мотылька съест лягушка. Игрок захочет её раздавить, а та заговорит человеческим голосом, мол, не дави меня, я тебе ещё пригожусь. Заберёт лягушку с собой, увидит мышь, захочет раздавить, но та убежит. Тогда он раздавит лягушку. Вот так она пригодится 😁
Можно ещё сделать ачивку "Найден источник зловония". Найти можно, если идти на жужжание мух.
Ладно-ладно, пойду спать, а то уже подумываю добавить колобка, медведей у костра, травящих анекдоты про застрявшую в деревьях лису, Кощея со стальным яйцом и т.д. )
Дальше по моему сценарию:
Игрок пойдёт за мотыльком, но внезапно мотылька съест лягушка. Игрок захочет её раздавить, а та заговорит человеческим голосом, мол, не дави меня, я тебе ещё пригожусь. Заберёт лягушку с собой, увидит мышь, захочет раздавить, но та убежит. Тогда он раздавит лягушку. Вот так она пригодится 😁
Можно ещё сделать ачивку "Найден источник зловония". Найти можно, если идти на жужжание мух.
Ладно-ладно, пойду спать, а то уже подумываю добавить колобка, медведей у костра, травящих анекдоты про застрявшую в деревьях лису, Кощея со стальным яйцом и т.д. )
😁2
Вот, что у меня получилось за неделю. Интересный опыт. Легко расширяемая игра. Простое, хоть и косячное управление сценарием. Анимации аккуратно перемешиваются. Можно ходить, бегать, прыгать, осматривать персонажа со всех сторон.
👍2
Forwarded from Валерий FiXiK Лангольф
Media is too big
VIEW IN TELEGRAM
Собственно видос. Сразу не обратил внимания, что жужжание мух слышно так далеко. В идеале бы ещё подкрутить зависимость звука от расстояния.
👍1🔥1😁1
Я тут недавно узнал, что в экземпляр класса, который не является монобехом, но создаётся в классе-монобехе можно через конструктор, например, прокинуть монобехевиор и так стартовать корутину. Удобненько. Делитесь, что вы новенького разведали за последнюю неделю
👍2
Media is too big
VIEW IN TELEGRAM
Продолжаю двигаться по заданиям. Работа с партиклами. Творческое задание, аля придумай сам, но поведение должно быть сложным. Отправил на проверку.
🔥2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Даже не мог представить, как буду реализовывать очередь действий. Смотрите сами:
Когда записку поднимаешь:
- должна открыться книга.
- после завершения анимации книги должна приблизиться именно взятая записка.
- должна открываться та страница, на которой расположена подобранная записка.
Когда книгу закрываешь:
- если приближена записка, она должна отдалиться.
- только после этого начать закрывать книгу.
Когда одна из записок приближена и клацаешь на другую:
- текущая должна отдалиться, только после этого должна приблизиться выбранная вновь.
Когда листаешь страницы... Ну вы поняли.
Это даже текстом выглядит страшно. Год назад я бы запутался в куче флагов для проверки. Но теперь в коде понятнее, чем в этом тексте. Но костыли я всё же немного прикрутил, да, ибо время поджимает.
Когда записку поднимаешь:
- должна открыться книга.
- после завершения анимации книги должна приблизиться именно взятая записка.
- должна открываться та страница, на которой расположена подобранная записка.
Когда книгу закрываешь:
- если приближена записка, она должна отдалиться.
- только после этого начать закрывать книгу.
Когда одна из записок приближена и клацаешь на другую:
- текущая должна отдалиться, только после этого должна приблизиться выбранная вновь.
Когда листаешь страницы... Ну вы поняли.
Это даже текстом выглядит страшно. Год назад я бы запутался в куче флагов для проверки. Но теперь в коде понятнее, чем в этом тексте. Но костыли я всё же немного прикрутил, да, ибо время поджимает.
Если вам интересно пилить проекты, найти команду, участвовать в движухах по созданию игр, то рекомендую вот этот канал https://t.me/IndieGameMill
Регулярные созвоны кодеров, 3D-шников, 2D-шников. По командам распределяются все желающие. А ещё после выполнения очередного проекта играем в то, что разработали команды за 2-3 недели.
Регулярные созвоны кодеров, 3D-шников, 2D-шников. По командам распределяются все желающие. А ещё после выполнения очередного проекта играем в то, что разработали команды за 2-3 недели.
🔥2