Погнали декомпозировать эту "нагрузку"
Всего выделяют 3 типа:
1. Внутренняя (Intrinsic) Суть игры
Это сложность самой задачи. Во Фростпанке она нужно одновременно следить за добычей угля, едой, температурой в домах, здоровьем, недовольством и надеждой. Систем много, и они все жестко связаны. Сложность заложена в самом ядре геймплея. Тебе тяжело, потому что управлять замерзающим городом объективно тяжело.
2. Внешняя (Extraneous) Лишняя сложность
Это когда сложно не играть, а понимать игру. Ввизуальный шум, нечитаемый шрифт, неочевидное управление. Фрустрация от происходящего.
3. Полезная (Germane) Формирование навыка
Самая мякотка, это умственное усилие, после которого у тебя появляется скилл. Идеальный пример из Frostpunk это застройка в соотвествии с тепловой зоной. В первый заход ты ставишь дома как попало, люди мерзнут, а санитарный пункт не работает. Все дело в том что поставил основные постройки далеко от генератора, после просмотра тепловой карты это понимаешь, и следующие игры уже не совершаешь таких ошибок. Нагрузка уходит, а полезный рефлекс остается.
Главная задача геймдизайнера безжалостно убивать все лишнюю нагрузку, дозировать внутреннюю и выстраивать полезную, чтобы игрок кайфовал от того, что он учится и становится круче.
Попробуйте накидать свои варианты полезной нагрузки (из любых игр) в комментариях! 👇
Всего выделяют 3 типа:
1. Внутренняя (Intrinsic) Суть игры
Это сложность самой задачи. Во Фростпанке она нужно одновременно следить за добычей угля, едой, температурой в домах, здоровьем, недовольством и надеждой. Систем много, и они все жестко связаны. Сложность заложена в самом ядре геймплея. Тебе тяжело, потому что управлять замерзающим городом объективно тяжело.
2. Внешняя (Extraneous) Лишняя сложность
Это когда сложно не играть, а понимать игру. Ввизуальный шум, нечитаемый шрифт, неочевидное управление. Фрустрация от происходящего.
3. Полезная (Germane) Формирование навыка
Самая мякотка, это умственное усилие, после которого у тебя появляется скилл. Идеальный пример из Frostpunk это застройка в соотвествии с тепловой зоной. В первый заход ты ставишь дома как попало, люди мерзнут, а санитарный пункт не работает. Все дело в том что поставил основные постройки далеко от генератора, после просмотра тепловой карты это понимаешь, и следующие игры уже не совершаешь таких ошибок. Нагрузка уходит, а полезный рефлекс остается.
Главная задача геймдизайнера безжалостно убивать все лишнюю нагрузку, дозировать внутреннюю и выстраивать полезную, чтобы игрок кайфовал от того, что он учится и становится круче.
Попробуйте накидать свои варианты полезной нагрузки (из любых игр) в комментариях! 👇
👍4
Да, ребят, вчера была фрустрация 🤯 Я вот подумал, что надо как-то описать это состояние, из-за чего оно вообще происходит.
Сразу же вспомнил момент, который наверняка происходил со многими из вас в шутерах, например в Counter Strike. Вы бежите, и вдруг к вам навстречу с разных сторон выбегают два врага. Вы не успеваете обработать ситуацию, так как и без того были напряжены, и поэтому начинаете беспорядочно стрелять между ними, никого в итоге не убивая.
Наверное, это и есть фрустрация. Полная потеря контроля над ситуацией, когда действия становятся хаотичными и необоснованными 😵💫 Создается большая когнитивная нагрузка и как следствие вот такое вот состояние.
Оно может быть быстрым и временным, как в примере с шутером, либо комплексным, состоящим из огромного набора аспектов. Именно это у меня и произошло вчера 🫠 Так получилось, что на работе пришлось одновременно держать в голове до 7 контекстов, и каждая из задач начала ярко сигналить о том, что именно сейчас она требует внимания. Психика становится неповоротливой, ты не знаешь, как направить внимание в нужное место. В итоге просто тыкаешься посередине, ничего не решая и испытывая жесточайшую перегрузку 🤯
Какие мы выводы можем сделать из этого всего для геймдизайна? Нагрузку игроку нужно давать постепенно и желательно последовательно 📈 Иначе будет создана невероятная когнитивная перегрузка, из-за чего пропадет весь фан и обучение, как я и говорил в предыдущих постах.
Кстати, в нашей недавней игре на джеме как раз получилась механика, которая периодически вызывала фрустрацию 🧊 Из-за того, что менеджмент ресурсов был рассчитан сразу на несколько мест, это множество потребителей внимания и создавало эффект непоняток. Те, кто играли, думаю, меня поймут 🤝
П.С. Ну а для того чтобы контролировать такую ситуацию, стоит остановиться, выдохнуть и спросить себя: что же я сделаю в первую очередь, а что оставлю на потом? И только закончив с одним делом, приступать к другому 🧘♂️
Сразу же вспомнил момент, который наверняка происходил со многими из вас в шутерах, например в Counter Strike. Вы бежите, и вдруг к вам навстречу с разных сторон выбегают два врага. Вы не успеваете обработать ситуацию, так как и без того были напряжены, и поэтому начинаете беспорядочно стрелять между ними, никого в итоге не убивая.
Наверное, это и есть фрустрация. Полная потеря контроля над ситуацией, когда действия становятся хаотичными и необоснованными 😵💫 Создается большая когнитивная нагрузка и как следствие вот такое вот состояние.
Оно может быть быстрым и временным, как в примере с шутером, либо комплексным, состоящим из огромного набора аспектов. Именно это у меня и произошло вчера 🫠 Так получилось, что на работе пришлось одновременно держать в голове до 7 контекстов, и каждая из задач начала ярко сигналить о том, что именно сейчас она требует внимания. Психика становится неповоротливой, ты не знаешь, как направить внимание в нужное место. В итоге просто тыкаешься посередине, ничего не решая и испытывая жесточайшую перегрузку 🤯
Какие мы выводы можем сделать из этого всего для геймдизайна? Нагрузку игроку нужно давать постепенно и желательно последовательно 📈 Иначе будет создана невероятная когнитивная перегрузка, из-за чего пропадет весь фан и обучение, как я и говорил в предыдущих постах.
Кстати, в нашей недавней игре на джеме как раз получилась механика, которая периодически вызывала фрустрацию 🧊 Из-за того, что менеджмент ресурсов был рассчитан сразу на несколько мест, это множество потребителей внимания и создавало эффект непоняток. Те, кто играли, думаю, меня поймут 🤝
П.С. Ну а для того чтобы контролировать такую ситуацию, стоит остановиться, выдохнуть и спросить себя: что же я сделаю в первую очередь, а что оставлю на потом? И только закончив с одним делом, приступать к другому 🧘♂️
👍8❤2🤝1
Предлагаю отвлечься. Я уже достаточно нагрузил вас информацией геймдизайна. Так что сегодня поговорим о чём-нибудь другом ☕️
Тем более утром произошёл интересный диалог, который подтолкнул немножко по-другому посмотреть на то, как я веду блог и о чём рассказываю. Вследствие чего, я думаю, темы будут меняться и адаптироваться. Ну или хотя бы будут появляться дни, когда я буду делиться тем, чем живу и что волнует в моменте.
Ну а сегодня я постараюсь рассказать вообще о том, как это всё пишется, откуда берётся информация и как превращается в то, что вы читаете 📝
Ну и начну с того, что у меня есть большущий план с темами, которые надо изучить, с чёткой последовательностью и книгами, которые в параллель с этим идут. После 100 дней видосов у меня более-менее стало появляться время на то, чтобы почитать и глубже погрузиться в аспекты геймдизайна 📚
Таким образом, я выбираю тему, ищу по ней топики, читаю, изучаю мысли других людей и постепенно формирую свою идею, свой взгляд на то или иное понятие.
Когда дело доходит до подготовки текста, чаще всего под руку попадается как раз таки тема сегодняшнего дня, которой я был увлечён. Почему бы и не использовать это? В голове возникают какие-то референсы, идеи, как это преподать, и я накидываю драфт своих мыслей 🧠
После чего этот драфт просто прогоняется через нейронку для форматирования: расставить запятые, сцепить предложения, проверить орфографию 🤖 Но главное не менять основу. Идею, которая отталкивается от моих представлений о теме. Потому что, если я не прав или мои идеи недостаточно хороши, всё это почва для дискуссий. И как раз через комментарии я жду, что, может быть, кто-то поправит, кто-то подскажет, как правильно.
Но даже если никто не подсказывает, практика написания этих постов помогает увереннее закрепиться в теме, потому что приходится не только слушать, смотреть, читать, но ещё и думать об этом, а также писать. Потому что то, что мы пишем, чаще всего отличается от того, что мы говорим 🗣
Вот такой вот сегодня пост о том, как писал этот пост. В комментариях драфт для оценки того, насколько сильно меняется текст после обработки.
Тем более утром произошёл интересный диалог, который подтолкнул немножко по-другому посмотреть на то, как я веду блог и о чём рассказываю. Вследствие чего, я думаю, темы будут меняться и адаптироваться. Ну или хотя бы будут появляться дни, когда я буду делиться тем, чем живу и что волнует в моменте.
Ну а сегодня я постараюсь рассказать вообще о том, как это всё пишется, откуда берётся информация и как превращается в то, что вы читаете 📝
Ну и начну с того, что у меня есть большущий план с темами, которые надо изучить, с чёткой последовательностью и книгами, которые в параллель с этим идут. После 100 дней видосов у меня более-менее стало появляться время на то, чтобы почитать и глубже погрузиться в аспекты геймдизайна 📚
Таким образом, я выбираю тему, ищу по ней топики, читаю, изучаю мысли других людей и постепенно формирую свою идею, свой взгляд на то или иное понятие.
Когда дело доходит до подготовки текста, чаще всего под руку попадается как раз таки тема сегодняшнего дня, которой я был увлечён. Почему бы и не использовать это? В голове возникают какие-то референсы, идеи, как это преподать, и я накидываю драфт своих мыслей 🧠
После чего этот драфт просто прогоняется через нейронку для форматирования: расставить запятые, сцепить предложения, проверить орфографию 🤖 Но главное не менять основу. Идею, которая отталкивается от моих представлений о теме. Потому что, если я не прав или мои идеи недостаточно хороши, всё это почва для дискуссий. И как раз через комментарии я жду, что, может быть, кто-то поправит, кто-то подскажет, как правильно.
Но даже если никто не подсказывает, практика написания этих постов помогает увереннее закрепиться в теме, потому что приходится не только слушать, смотреть, читать, но ещё и думать об этом, а также писать. Потому что то, что мы пишем, чаще всего отличается от того, что мы говорим 🗣
Вот такой вот сегодня пост о том, как писал этот пост. В комментариях драфт для оценки того, насколько сильно меняется текст после обработки.
🤝5🔥3❤1
Когнитивная нагрузка, Внимание, Фростпанк.
Не просто так это все звучало в одно время на этой неделе.
Чтож карты под стол, стволы на стол. Тогда на GMTK идею с пирамидой майя подбросили, по моей наводке.
А наводку надо развивать, так что ближайшие несколько месяцев будем разрабатывать вторую часть They Will Descend, но в 3д и с упором на прородителя Frostpunk. Срок у нас до следующего большого джема который будет в октябре, что успеем сделать то успеем. Цель - научиться новому, и чем сложнее, чем больше мы успеем впитать тем лучше. 3Д это уже что то новое, но в планах подмешать еще и ECS.
По поводу визуала - пока будем обходится бесплатными ассетами со стора, но думаю в процессе еще до блендера доберемся. Возможно к нам захочет присоедениться 3д художник...
Ну а по поводу механик, решил не уходить в ад чистого листа и упростить себе жизнь, основа будет фростпанк, как калька. А когда уже критическая масса механик наберется буду развивать уже свое направление игровых задач. Вряд ли деревня Майя будет замерзать, но например тонуть от дождей... почему бы и нет.
Все буду показывать и рассказывать. По выходным рекапы, это будет частью практики. Ведь без практики ничего не бывает.
Не просто так это все звучало в одно время на этой неделе.
Чтож карты под стол, стволы на стол. Тогда на GMTK идею с пирамидой майя подбросили, по моей наводке.
А наводку надо развивать, так что ближайшие несколько месяцев будем разрабатывать вторую часть They Will Descend, но в 3д и с упором на прородителя Frostpunk. Срок у нас до следующего большого джема который будет в октябре, что успеем сделать то успеем. Цель - научиться новому, и чем сложнее, чем больше мы успеем впитать тем лучше. 3Д это уже что то новое, но в планах подмешать еще и ECS.
По поводу визуала - пока будем обходится бесплатными ассетами со стора, но думаю в процессе еще до блендера доберемся. Возможно к нам захочет присоедениться 3д художник...
Ну а по поводу механик, решил не уходить в ад чистого листа и упростить себе жизнь, основа будет фростпанк, как калька. А когда уже критическая масса механик наберется буду развивать уже свое направление игровых задач. Вряд ли деревня Майя будет замерзать, но например тонуть от дождей... почему бы и нет.
Все буду показывать и рассказывать. По выходным рекапы, это будет частью практики. Ведь без практики ничего не бывает.
🔥4❤2
Не самая простая задача обуздать этот ECS.
Особенно после стольких лет в ООП голова ломается, но надо выводить себя за рамки комфорта и учиться чему-то новому.
Первое и немаловажное, я уяснил что ECS это не глобальная архитектура для всей игры, а особый подход для контролирования симуляции в момент геймплея. И исключительно только для геймплея. Потому что если делать на этой идеи UI, или, например, какие-нибудь Стаит машины. Ну например к глобальному шеллу это практически не подходит.
Первое, что я выбрал для изучения, это контроль времени. Но если бы в GameObject мы как-то контролировали дельту в апдейте, то здесь немножечко по-другому, потому что с UI у нас есть кнопки паузы и ускорение, только они меняют стеит машину, которая живет все еще в ООП. А стеит-машина, в свою очередь, меняет компонент в ECS, который живет на сцене в виде ентити и отвечает за скорость. При смене этого компонента все системы в симуляции начинают учитывать значение компонента скорости и соответственно юниты, которые пока что просто по кругу бегают, начинают бегать намного усернее.
В первые дни знакомства с ецс выглядят как много кода ради кода. Сложно, непонятно, но надо продолжать. Говорят, все плюшки будут только при больших объемах. Что ж, постараемся этот объем создать.
А следующий раз попробую рассказа про сетку для строительства. На нее я убил много времени, разглядывая оригинальный фростпанк.
П.С. Игру я уже прошел. Теперь только перезагружаюсь и разглядываю фишки.
Особенно после стольких лет в ООП голова ломается, но надо выводить себя за рамки комфорта и учиться чему-то новому.
Первое и немаловажное, я уяснил что ECS это не глобальная архитектура для всей игры, а особый подход для контролирования симуляции в момент геймплея. И исключительно только для геймплея. Потому что если делать на этой идеи UI, или, например, какие-нибудь Стаит машины. Ну например к глобальному шеллу это практически не подходит.
Первое, что я выбрал для изучения, это контроль времени. Но если бы в GameObject мы как-то контролировали дельту в апдейте, то здесь немножечко по-другому, потому что с UI у нас есть кнопки паузы и ускорение, только они меняют стеит машину, которая живет все еще в ООП. А стеит-машина, в свою очередь, меняет компонент в ECS, который живет на сцене в виде ентити и отвечает за скорость. При смене этого компонента все системы в симуляции начинают учитывать значение компонента скорости и соответственно юниты, которые пока что просто по кругу бегают, начинают бегать намного усернее.
В первые дни знакомства с ецс выглядят как много кода ради кода. Сложно, непонятно, но надо продолжать. Говорят, все плюшки будут только при больших объемах. Что ж, постараемся этот объем создать.
А следующий раз попробую рассказа про сетку для строительства. На нее я убил много времени, разглядывая оригинальный фростпанк.
П.С. Игру я уже прошел. Теперь только перезагружаюсь и разглядываю фишки.
❤5👍4
Ну а сегодня пришло время вечернего филлерного поста.
Ну как филлерного. Просто расскажу вам не про гейм дизайн и не про разработку, а про то что происходит в медийке.
Уже, наверное, скоро будет месяц, как я не выкладывал ни одно видео. Это был какой-то неожиданный перерыв после 100 дней ежедневного постинга. И я вам скажу, зря я остановился. Возвращаться очень тяжело. Но несмотря на это, объявляю, что со следующей недели контент продолжится. Я время не терял, уже наснимал несколько скчей и даже показал узкому кругу зрителей, шанс выстрелить присуствует!
Также снял пару познавательных роликов на тему внимания и когнитивной нагрузки, не зря изучали получается.
Так что будет что выложить и будет беферное время для того, чтобы снять следующее видео. Возожмно придут идеи, что поставить на конвейер, и снимать снова каждый день.
Вот такие вот планы.
Так что, если у вас есть предложения что можно снять, пишите в комменты, подумаю как это все можно реализовать.
Ну как филлерного. Просто расскажу вам не про гейм дизайн и не про разработку, а про то что происходит в медийке.
Уже, наверное, скоро будет месяц, как я не выкладывал ни одно видео. Это был какой-то неожиданный перерыв после 100 дней ежедневного постинга. И я вам скажу, зря я остановился. Возвращаться очень тяжело. Но несмотря на это, объявляю, что со следующей недели контент продолжится. Я время не терял, уже наснимал несколько скчей и даже показал узкому кругу зрителей, шанс выстрелить присуствует!
Также снял пару познавательных роликов на тему внимания и когнитивной нагрузки, не зря изучали получается.
Так что будет что выложить и будет беферное время для того, чтобы снять следующее видео. Возожмно придут идеи, что поставить на конвейер, и снимать снова каждый день.
Вот такие вот планы.
Так что, если у вас есть предложения что можно снять, пишите в комменты, подумаю как это все можно реализовать.
🔥6❤1👍1
Архитектура, архитектура, архитектура.
Не знаю, как так получается, но я опять погряз в архитектуре. ECS заставляет писать кучу кода ради простейших действий. И, например, чтобы заставить человечка двигаться по полю, мне надо было entity с определенными компонентами позиций, и системы, которые будут эти позиции двигать. И мост, который будет передавать данные во вьюху, и вьюхи, которые цепляются к гейм обжектам на сцене? И сами гейм обжекты на сцене, у которых есть трансформ, который надо менять на основе вектора из позиций в симуляции ECS.
🤯 Чувствуете, сколько слоев? Насколько это сложно? Но при этом все-таки говорят, что ECS легок при расширении. Такое ощущение, что это все обман. А вернее сокрытие правды. Потому что если посмотрим на гайды, которые есть по ECS, мы увидим, как делают простейшие компоненты, системы, которые это все двигают. Но практически никто не показывает, как это все цепляется с отображением. А по-моему, как раз-таки самая сложность - это прицепить виртуальную модель мира ЕЦС с миром, который мы видим на экране. И объем работ, который нужен для постройки этих мостов - колоссален.
Как же я жду, что меня сейчас в комментах поправят. Так все-таки кто знает правду? Раскройте ее для меня.
Так ли страшен ЕЦС? Как он предо мной предстает?
Не знаю, как так получается, но я опять погряз в архитектуре. ECS заставляет писать кучу кода ради простейших действий. И, например, чтобы заставить человечка двигаться по полю, мне надо было entity с определенными компонентами позиций, и системы, которые будут эти позиции двигать. И мост, который будет передавать данные во вьюху, и вьюхи, которые цепляются к гейм обжектам на сцене? И сами гейм обжекты на сцене, у которых есть трансформ, который надо менять на основе вектора из позиций в симуляции ECS.
🤯 Чувствуете, сколько слоев? Насколько это сложно? Но при этом все-таки говорят, что ECS легок при расширении. Такое ощущение, что это все обман. А вернее сокрытие правды. Потому что если посмотрим на гайды, которые есть по ECS, мы увидим, как делают простейшие компоненты, системы, которые это все двигают. Но практически никто не показывает, как это все цепляется с отображением. А по-моему, как раз-таки самая сложность - это прицепить виртуальную модель мира ЕЦС с миром, который мы видим на экране. И объем работ, который нужен для постройки этих мостов - колоссален.
Как же я жду, что меня сейчас в комментах поправят. Так все-таки кто знает правду? Раскройте ее для меня.
Так ли страшен ЕЦС? Как он предо мной предстает?
👍4❤3
Походу вся неделя будет про ECS.
Очередной день с головой затягивает в изучение, очень тяжело оторваться от этой завораживающей темы.
Помимо тыканья в собственный код наткнулся на доклад с GDC от разработчиков Frostpunk, где они рассказывают, как создавалась первая часть на движке Liquid ~2010 года. Они как раз выбрали для реализации подход Entity Component System, но только с одним НО. Сам движок был не адаптирован под эту под эту архитектуру. Им пришлось создавать оснастку для реализации и придумывать множество инфраструктурных вещей на ходу.
О чем это нам говорит эта история? Что люди, вооружившись ИДЕЕЙ, создали живой пример гибкой рабочей системы. Данный факт мотивировал еще больше вникнуть в то, как это все работает и применить данный подход у себя.
Ну а теперь, что касается своего тыкания. Процесс разработки идет. За последние дни добавил систему строительства с разным состоянием дома, строится или уже построен. А также возможность отправить рабочего в этот дом для заработка ресурсов. Из интересного это мост изменения положения и состояние челиков на экране. Это не монобехи где каждый челик в апдейте пулит в себя значения из компонентов, а некий верхний композиционный объект, знающий о всех челиках, делающий один пулл в лейт апдейт и синхронизирует все entity с привязанными к ним монобехочеликами.
Пока что все еще внутренняя чутье говорит, что что-то не так, что это не элегантно. Но возможно, это просто пелена на глазах из-за объема информации, который изучается за последние дни. Время покажет, может быть, я завтра все это еще раз перепишу...
Не утомил я вас этим ECS?
Очередной день с головой затягивает в изучение, очень тяжело оторваться от этой завораживающей темы.
Помимо тыканья в собственный код наткнулся на доклад с GDC от разработчиков Frostpunk, где они рассказывают, как создавалась первая часть на движке Liquid ~2010 года. Они как раз выбрали для реализации подход Entity Component System, но только с одним НО. Сам движок был не адаптирован под эту под эту архитектуру. Им пришлось создавать оснастку для реализации и придумывать множество инфраструктурных вещей на ходу.
О чем это нам говорит эта история? Что люди, вооружившись ИДЕЕЙ, создали живой пример гибкой рабочей системы. Данный факт мотивировал еще больше вникнуть в то, как это все работает и применить данный подход у себя.
Ну а теперь, что касается своего тыкания. Процесс разработки идет. За последние дни добавил систему строительства с разным состоянием дома, строится или уже построен. А также возможность отправить рабочего в этот дом для заработка ресурсов. Из интересного это мост изменения положения и состояние челиков на экране. Это не монобехи где каждый челик в апдейте пулит в себя значения из компонентов, а некий верхний композиционный объект, знающий о всех челиках, делающий один пулл в лейт апдейт и синхронизирует все entity с привязанными к ним монобехочеликами.
Пока что все еще внутренняя чутье говорит, что что-то не так, что это не элегантно. Но возможно, это просто пелена на глазах из-за объема информации, который изучается за последние дни. Время покажет, может быть, я завтра все это еще раз перепишу...
Не утомил я вас этим ECS?
👍5❤1
Что было раньше - курица или яйцо. С одной стороны для появления курицы необходимо яйцо, с другой до появления яйца нужна курица.
Погодите, не тот текст...
Что было раньше? Монобеха или entity. С одной стороны, для появления монобехи нужно entity. С другой для появления entity нужна монобеха. Вот так парадокс.
Сегодня во время командой встречи, рассказывал о реализации систем в новой игре. И когда зашел разговор о том, как создаются работники на экране, поймал себя на мысли "А как правильней? GameObject со сцены должен создать entity под себя? Или entity в ECS создает себя, и на основе его создается GameObject?"
Это трудный вопрос, особенно для новичка. Поделитесь пожалуйста опытом по этому поводу в комментах.
А я расскажу то, как это сделал я. При создании юнита в буфер ЕЦС закидывается команда на создание. Существует система, которая каждый апдейт слушает буфер этих команд и обрабатывает, создавая entity и добавляя нужные компоненты. На сцене же есть менеджер, который каждый кадр смотрит за всеми entityми, которые являются рабочими. Он их отбирает на основе компонентов, которые соответствуют рабочим. Если находит entity, который еще не существует в его списке, и создает под это entity вьюху и инстанцирует префаб на сцене. Так что в моем случае сначала появляется entity, а уже за ним создается объект на сцене. Такие дела.
Погодите, не тот текст...
Что было раньше? Монобеха или entity. С одной стороны, для появления монобехи нужно entity. С другой для появления entity нужна монобеха. Вот так парадокс.
Сегодня во время командой встречи, рассказывал о реализации систем в новой игре. И когда зашел разговор о том, как создаются работники на экране, поймал себя на мысли "А как правильней? GameObject со сцены должен создать entity под себя? Или entity в ECS создает себя, и на основе его создается GameObject?"
Это трудный вопрос, особенно для новичка. Поделитесь пожалуйста опытом по этому поводу в комментах.
А я расскажу то, как это сделал я. При создании юнита в буфер ЕЦС закидывается команда на создание. Существует система, которая каждый апдейт слушает буфер этих команд и обрабатывает, создавая entity и добавляя нужные компоненты. На сцене же есть менеджер, который каждый кадр смотрит за всеми entityми, которые являются рабочими. Он их отбирает на основе компонентов, которые соответствуют рабочим. Если находит entity, который еще не существует в его списке, и создает под это entity вьюху и инстанцирует префаб на сцене. Так что в моем случае сначала появляется entity, а уже за ним создается объект на сцене. Такие дела.
❤5🤯5
Шок, Шеф обманул сказав про неделю ECS!
Сегодня не будет телеги про архитектуру, а вместо работников на игровой сцене, работником буду я сам.
Приехал в деревню, дрова попилил, траву покосил. Так сказать переключил интеллектуальный труд на физический дабы отдохнуть. Как же всетаки хорошо в деревне, жалко лето подходит уже к концу, золотое время.
А кстати есть одна новость, о которой не могу не сообщить. Инстаграм пробил отметку в две тысячи и это огромный результат и все благодаря вам! Спасибо вам за поддержку! Особенно учитывая что уже месяц как ничего не выкладывал. Это дело конечно надо исправлять, в воскресенье залью первый скетч, не сказать что шедевр, но я очень хотел это снять.
К нам прибывает все больше и больше людей. Приветствую всех!
Надо будет что то сообразить чтоб улучшить наш коннект.
Сегодня не будет телеги про архитектуру, а вместо работников на игровой сцене, работником буду я сам.
Приехал в деревню, дрова попилил, траву покосил. Так сказать переключил интеллектуальный труд на физический дабы отдохнуть. Как же всетаки хорошо в деревне, жалко лето подходит уже к концу, золотое время.
А кстати есть одна новость, о которой не могу не сообщить. Инстаграм пробил отметку в две тысячи и это огромный результат и все благодаря вам! Спасибо вам за поддержку! Особенно учитывая что уже месяц как ничего не выкладывал. Это дело конечно надо исправлять, в воскресенье залью первый скетч, не сказать что шедевр, но я очень хотел это снять.
К нам прибывает все больше и больше людей. Приветствую всех!
Надо будет что то сообразить чтоб улучшить наш коннект.
❤6👍4🔥2🎉1
Сегодня не кодил, но хоть подумал хорошенько.
Вернемся к нашим челикам. Потому что походу меня сегодня осенило. Я долго размышлял и никак не мог понять, а как же в ECS делать разные события? Разные ивенты мол что-то происходит - кат-сцены, всякие нарративные выпадачши, диалоги и так далее.
И тут на секунду задумался. А может быть, там и не нужен ECS. Не в смысле у нас игра без ECS будет работать, нет. Я про то, что такие единичные события, они могут быть вне симуляции.
Например, у нас люди голодают. Из-за голода симуляция выкидывает событие. О том, что голодно(Триггер). Какой-нибудь менеджер вне симуляции ловит это событие, останавливает симуляцию, и создает кат-сцену для того, чтобы проиграть вне симуляции, как например люди бастуют на центральной площади. Как только данная кат-сцена кончается, симуляция продолжает движение с того момента, с которого остановилась. Люди же, которые были задействованы во время этой анимации, скорее всего, в симуляции даже и не участвуют. И entity из себя не представляют. Нам же ничего не мешает создать префабы на сцене, задать им последовательность анимаций и после проигрывания убрать со сцены. Да даже пул для этого можно было бы использовать ради оптимизации.
Вот такие вот гениальные мысли приносит субботнее утро. А у вас как дела?
Вернемся к нашим челикам. Потому что походу меня сегодня осенило. Я долго размышлял и никак не мог понять, а как же в ECS делать разные события? Разные ивенты мол что-то происходит - кат-сцены, всякие нарративные выпадачши, диалоги и так далее.
И тут на секунду задумался. А может быть, там и не нужен ECS. Не в смысле у нас игра без ECS будет работать, нет. Я про то, что такие единичные события, они могут быть вне симуляции.
Например, у нас люди голодают. Из-за голода симуляция выкидывает событие. О том, что голодно(Триггер). Какой-нибудь менеджер вне симуляции ловит это событие, останавливает симуляцию, и создает кат-сцену для того, чтобы проиграть вне симуляции, как например люди бастуют на центральной площади. Как только данная кат-сцена кончается, симуляция продолжает движение с того момента, с которого остановилась. Люди же, которые были задействованы во время этой анимации, скорее всего, в симуляции даже и не участвуют. И entity из себя не представляют. Нам же ничего не мешает создать префабы на сцене, задать им последовательность анимаций и после проигрывания убрать со сцены. Да даже пул для этого можно было бы использовать ради оптимизации.
Вот такие вот гениальные мысли приносит субботнее утро. А у вас как дела?
🔥4❤2👍2🕊2
Возвращаемся в прайм! 🔥
Я обещал сообразить что-то для нашего коннекта, а обещания надо сдерживать! Поэтому официально приглашаю вас в наш Discord-сервер👾
Там будет более тесное общение, новости по разработке, интересные штуки из всего геймдева, теплая обстановка, ну и возможность просто залететь и пообщаться с вами голосом.
Помимо этого, пора заканчивать с тишиной в видеоконтенте. Новый скетч уже на канале! Буду потихоньку доставать из-за пазухи свои смонтированные видео и продолжать рассказывать вам о разработке и геймдизайне.
По поводу ТГ не переживать, тут все будет так, как было. А в Discord просто будет больше, шире и не так официально.
Что ж, приятного просмотра, и услышимся в Discord!
https://discord.gg/devchefgames
Я обещал сообразить что-то для нашего коннекта, а обещания надо сдерживать! Поэтому официально приглашаю вас в наш Discord-сервер
Там будет более тесное общение, новости по разработке, интересные штуки из всего геймдева, теплая обстановка, ну и возможность просто залететь и пообщаться с вами голосом.
Помимо этого, пора заканчивать с тишиной в видеоконтенте. Новый скетч уже на канале! Буду потихоньку доставать из-за пазухи свои смонтированные видео и продолжать рассказывать вам о разработке и геймдизайне.
По поводу ТГ не переживать, тут все будет так, как было. А в Discord просто будет больше, шире и не так официально.
Что ж, приятного просмотра, и услышимся в Discord!
https://discord.gg/devchefgames
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4❤🔥2🔥2🫡1
Главное начать!
Вчера выложил видео и оно не залетело. Но в общем-то я ожидал что так и будет. Особенно учитывая тот факт, что видео получилось слишком личным и не на широкую публику. Но я прям очень хотел это снять. И думал об этом, наверное, еще на 50-ом дне. Что ж, гештальт закрыт. И начало положено.
С момента как все началось, я много ходил в гости к ребятам, которые начали примерно в то же время, как и я. Тоже выкладывали видео, рассказывали про свои проекты, а кто-то и не только в тематике геймдева. Но всех нас объединяло одно: вот эта новичковость в медиаполе. И сейчас, пересматривая их аккаунты, вижу, что многие остановились. Не выдержали и я их понимаю. Понимаю, что сложно изо дня в день заставлять себя делать то, что не приносит результата "сразу и много". Но также понимаю, что все вот это игра в долгую. И видео, и соцсети, и дискорд, который я вчера создал, и в него зашло всего лишь 3 человека. Это все игра в долгую.
Однажды. И в дискорде появится тысячи людей, и будет море контента. Но это все потом. Знаете, и этот ТГ-канал начался с одного подписчика.
П.С. раз прелюдия кончилась, пора снова порекламить Discord. Я там сижу целый день. Можете заходить, пообщаемся буду рад со всеми услышаться. Плюс ко всему, там я рассказываю про процесс разработки текущей игры.
https://discord.gg/devchefgames
П.П.С кто здесь есть из тех кто начинал вместе со мной. что вами движет если продолжаете, или что вас осталовило если перестали? Я знаю вы тут есть.
Вчера выложил видео и оно не залетело. Но в общем-то я ожидал что так и будет. Особенно учитывая тот факт, что видео получилось слишком личным и не на широкую публику. Но я прям очень хотел это снять. И думал об этом, наверное, еще на 50-ом дне. Что ж, гештальт закрыт. И начало положено.
С момента как все началось, я много ходил в гости к ребятам, которые начали примерно в то же время, как и я. Тоже выкладывали видео, рассказывали про свои проекты, а кто-то и не только в тематике геймдева. Но всех нас объединяло одно: вот эта новичковость в медиаполе. И сейчас, пересматривая их аккаунты, вижу, что многие остановились. Не выдержали и я их понимаю. Понимаю, что сложно изо дня в день заставлять себя делать то, что не приносит результата "сразу и много". Но также понимаю, что все вот это игра в долгую. И видео, и соцсети, и дискорд, который я вчера создал, и в него зашло всего лишь 3 человека. Это все игра в долгую.
Однажды. И в дискорде появится тысячи людей, и будет море контента. Но это все потом. Знаете, и этот ТГ-канал начался с одного подписчика.
П.С. раз прелюдия кончилась, пора снова порекламить Discord. Я там сижу целый день. Можете заходить, пообщаемся буду рад со всеми услышаться. Плюс ко всему, там я рассказываю про процесс разработки текущей игры.
https://discord.gg/devchefgames
П.П.С кто здесь есть из тех кто начинал вместе со мной. что вами движет если продолжаете, или что вас осталовило если перестали? Я знаю вы тут есть.
❤5
Думаю, время пришло для какого-нибудь большого видоса!
На этой ноте собрался силами и взялся наконец-то за сценарий по GMTK2026. Все-таки это опыт, о котором стоит рассказать. Особенно для тех, кто никогда не участвовал в таких мероприятиях, да и всей команде будет приятно вспомнить.
Скорее всего, будет как обзор от новичка. Исповедь. Это все-таки тоже достаточно популярный жанр на ютубе. Посмотрим, что из этого выйдет. Некоторые наметки в голове есть, но как пойдет написание, так пойдет.
Главное что я даю вам обещание - сценарий будет написан, видео будет снято и выпущено. Ожидайте анонсы. А я пошел набирать с десяток страниц текста.
На этой ноте собрался силами и взялся наконец-то за сценарий по GMTK2026. Все-таки это опыт, о котором стоит рассказать. Особенно для тех, кто никогда не участвовал в таких мероприятиях, да и всей команде будет приятно вспомнить.
Скорее всего, будет как обзор от новичка. Исповедь. Это все-таки тоже достаточно популярный жанр на ютубе. Посмотрим, что из этого выйдет. Некоторые наметки в голове есть, но как пойдет написание, так пойдет.
Главное что я даю вам обещание - сценарий будет написан, видео будет снято и выпущено. Ожидайте анонсы. А я пошел набирать с десяток страниц текста.
❤2