Геймдев, Что нужно знать? Игровой цикл, ECS и Flyweight.

Поделиться
HTML-код
  • Опубликовано: 26 янв 2025

Комментарии • 30

  • @DZayceffChannel
    @DZayceffChannel  4 года назад +2

    1:14 - Паттерн Фабрика
    2:00 - Игровой Цикл
    5:09 - ECS (Entity Component System)
    10:35 - ECS в Unity
    12:10 - Flyweight

  • @ALLPodpiska
    @ALLPodpiska 4 года назад +4

    Глянул на количество подписчиков и как-то не верится)
    Видосики интересные, жалко что их пока мало кто видит

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +3

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

  • @TheDimonDK
    @TheDimonDK 4 года назад +3

    Отличный видос, можешь ответить на вопрос? Devel next будет развиваться дальше или нет? Волнует данный вопрос.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

      Я не могу однозначно ответить на этот вопрос, т.к. разработка идет волнами и не только я этим занимаюсь (еще Максим и Алексей, которых все знают в группе) + время сейчас довольно нестабильное и непонятно что будет дальше.

  • @AliceMonUnitydeveloper
    @AliceMonUnitydeveloper 2 года назад

    Очень крутое видео! Спасибо!

  • @ИльяОрлов-к2ж
    @ИльяОрлов-к2ж 4 года назад +1

    Можно больше видео по разработке игр! Спасибо, за годное видео

    • @DZayceffChannel
      @DZayceffChannel  4 года назад

      А что больше интересует, теория или практика?

    • @ИльяОрлов-к2ж
      @ИльяОрлов-к2ж 4 года назад

      @@DZayceffChannel Практика, если есть возможность расскажите о применение паттернов в разработке игр.

  • @DmytroKain
    @DmytroKain 4 года назад +1

    Спасибо очень хорошо объяснил.

  • @unitynavigator3328
    @unitynavigator3328 4 года назад +1

    Мечтаю о маленьком С# видео примере ECS на русском (для чайников)... Если кто то знает такое - молю дайте ссылку.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

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

    • @unitynavigator3328
      @unitynavigator3328 4 года назад +1

      @@DZayceffChannel Это я знаю... Мне хотелось разобраться под капотом так сказать (и не в юнити, а просто в подходе) - как это работает (понять какими конструкциями происходит обработка ecs - как там поиск по компонентам организован, как там приоритет выставляется если он есть вообще, порядок выполнения. В целом понять как выглядит data-oriented design изнутри)

  • @HellfireRampage
    @HellfireRampage 4 года назад +1

    54 Лайка , пора пилить 2ю часть =)

  • @maxmojet2900
    @maxmojet2900 3 года назад

    Не могу понять какой редактор используешь?

  • @gaitavr1992
    @gaitavr1992 4 года назад +1

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

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

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

    • @gaitavr1992
      @gaitavr1992 4 года назад +1

      @@DZayceffChannel это зависит от ситуации. Та же система компонентов в юнити имеет четкую иерархию наследования

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

      @@gaitavr1992 Да посмотрел некоторые компоненты Unity, наследование там и правда имеется, но оно не глубокое и нет сложной иерархии, по крайней мере в тех компонентах, что я смотрел. Понятно, что наследование необходимо, в ролике я имел ввиду, что многие программисты приходя из других областей сразу пытаются все уместить в иерархию классов, что на мой взгляд серьезная ошибка. То что могло быть компонентами в ECS, они реализуют через классы и наследование.

  • @DeadRabbitCanDance
    @DeadRabbitCanDance 4 года назад

    В Unity есть полноценный ECS, ты же ведь как раз на примерах Unity про всё рассказываешь, почему же про это говоришь неправду? Там и инструменты все для отладки сделаны, для удобства контроля состояний этих "компонентов". Собирание их в чанки и всё такое.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

      Насколько я видел пакет ECS для unity еще в разработке и последняя версия 0.11 preview.

  • @Sasha2dx
    @Sasha2dx 4 года назад

    Flyweigth это считай как MVC. Есть модели, которые только данные хранят, есть одна тяжёлая вьюха на всех и контроллер один, который всем оперирует.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад

      Можно конечно обобщать, в чем-то этот паттерн похож. Однако приспособленец куда проще и понятнее, это просто описание типа, экземпляры хранят ссылку на тип.

  • @WitchKingChannel
    @WitchKingChannel 4 года назад +2

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

    • @DZayceffChannel
      @DZayceffChannel  4 года назад

      То что вы написали находится в другой плоскости, не в технической. Игровой цикл в технической плоскости, для программиста, это паттерн, который я описал и любые игровые движки начинаются с него. Да он сам по себе бесполезен, но очень важно знать, как это все работает. Тоже самое важно знать например про Event Loop в frontend разработке или в desktop&mobile разработке приложений.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

      Немного погуглил, я не геймдизайнер и русский язык вносит еще больше путаницы. Да действительно, есть gameplay loop, его переводят как игровой цикл и есть паттерн в программировании game loop, это совершенно разные вещи. Почему gameplay loop переводят на русский не как геймплейный цикл я не понимаю, вероятно потому что в русском языке нет слова геймплей - martalex.gitbooks.io/gameprogrammingpatterns/content/chapter-3/3.2-game-loop.html

  • @sasichkamega
    @sasichkamega 4 года назад

    Наследование в геймдеве сплошь и рядом. Не рекомендуют его использовать именно для игровой логики.

    • @DZayceffChannel
      @DZayceffChannel  4 года назад +1

      Написание движков и систем это уже другая сфера. Игровая логика для обычного программиста (десктоп, веб и т.п.) это бизнес логика, которую они пишут 80% времени.