Наглядный пример, как это работает в коде Deckart. Так как у нас игра не построена на апдейтах, наши состояния максимально упрощены. Никакой покадровой логики, только вход и выход. У каждого стейта есть всего две точки. Это Enter для отработки логики при входе в фазу и Exit для зачистки хвостов перед переключением.
Вся архитектура разложена на две изолированные стейт-машины, которые управляют игрой на разных уровнях.
Глобальная машина забега рулит верхнеуровневыми фазами всего похода. Она переключает контекст между стартом, картой боев, самим сражением, получением наград и магазином, а в случае неудачи фиксирует проигрыш.
Локальная машина боя включается изолированно только внутри фазы битвы. Она гоняет внутренний цикл сражения, то есть ждет ход игрока, запускает расчет очков и определяет исход. Как только бой окончен, она возвращает управление глобальной машине.
🔮 Главный плюс такой иерархии в том, что стейт магазина вообще понятия не имеет, как математически считаются очки в бою, а фазе расчета очков плевать, что там происходит на карте. Логика жестко разделена, каши в коде нет, а новые экраны или фазы боя добавляются созданием одного изолированного класса.
На скринах показал, как это реализовано в проекте.
Сложно?
Вся архитектура разложена на две изолированные стейт-машины, которые управляют игрой на разных уровнях.
Глобальная машина забега рулит верхнеуровневыми фазами всего похода. Она переключает контекст между стартом, картой боев, самим сражением, получением наград и магазином, а в случае неудачи фиксирует проигрыш.
Локальная машина боя включается изолированно только внутри фазы битвы. Она гоняет внутренний цикл сражения, то есть ждет ход игрока, запускает расчет очков и определяет исход. Как только бой окончен, она возвращает управление глобальной машине.
🔮 Главный плюс такой иерархии в том, что стейт магазина вообще понятия не имеет, как математически считаются очки в бою, а фазе расчета очков плевать, что там происходит на карте. Логика жестко разделена, каши в коде нет, а новые экраны или фазы боя добавляются созданием одного изолированного класса.
На скринах показал, как это реализовано в проекте.
Сложно?
🤯2❤1
🌓 Поздравьте меня, вроде я восстановил график и сегодня не доделываю видео в ночи, а уже полностью с ним справился. Процессы потихоньку стабилизируются.
🎬 Пока монтировал ролики, оглядел весь текущий код и знатно охерел. Сколько же всего я успел написать за первые два месяца, это просто сумасшествие. Сейчас из-за видеоконтента есть просадка по разработке, но зато тогда был самый настоящий прайм.
В таком пересмотре исходников есть вполне понятный плюс. Когда готовишь сценарий и заново проговариваешь логику, свежим взглядом проще заметить мелкие косяки и понять, как улучшить код. Глаз уже не замылен, так что сразу видишь места, которые стоит подправить или доделать. Получается хорошая рабочая проверка проекта, ну и параллельно люди узнают про игру.
Вышла некая инвентаризация кода. На этом фоне я задумался, зачем вообще изначально написал так много всего и почему заложил такую базу. Пришло несколько мыслей, оформлю их и завтра выдам отдельным постом.
📺 А у вас бывает такое, что открываете свой код двухмесячной давности и удивляетесь объему?
🎬 Пока монтировал ролики, оглядел весь текущий код и знатно охерел. Сколько же всего я успел написать за первые два месяца, это просто сумасшествие. Сейчас из-за видеоконтента есть просадка по разработке, но зато тогда был самый настоящий прайм.
В таком пересмотре исходников есть вполне понятный плюс. Когда готовишь сценарий и заново проговариваешь логику, свежим взглядом проще заметить мелкие косяки и понять, как улучшить код. Глаз уже не замылен, так что сразу видишь места, которые стоит подправить или доделать. Получается хорошая рабочая проверка проекта, ну и параллельно люди узнают про игру.
Вышла некая инвентаризация кода. На этом фоне я задумался, зачем вообще изначально написал так много всего и почему заложил такую базу. Пришло несколько мыслей, оформлю их и завтра выдам отдельным постом.
📺 А у вас бывает такое, что открываете свой код двухмесячной давности и удивляетесь объему?
🎉7❤1
Почему это игнорируют?
Вчера, смотря на объём написанного кода, я задумался вот о чём. Нас (разработчиков) с самого начала учат что надо писать чисто и красиво. Но что это вообще значит на практике? Почему один код считается чистым, а другой — лютым говном?😨
Если вспомнить, как этот феномен объясняют в бизнесе, то всё сводится к одной простой истине. Бизнес меняется и надо быть к этому готовым. Именно поэтому в энтерпрайзе, где сервисы развиваются десятилетиями, нас учат проектировать через архитектуру, использовать паттерны и соблюдать SOLID. Главный критерий чистоты кода здесь это его способность адаптироваться к изменениям. Чем легче и безболезненнее кодовая база принимает новые фичи, тем она чище. Прямая корреляция.
И вот какая мысль не даёт мне покоя. Если в коммерческой разработке адаптивность вбивают в голову со старта, то почему в геймдеве этой теме вообще не уделяют должного внимания?
Ведь геймдев меняется в сто раз быстрее и хаотичнее любого бизнеса! В бизнесе требования хоть как-то фиксируются. В геймдеве главный критерий это фан. Поиграли в прототип, стало не весело удаляем фичу к чертям. Провели плейтест, нашли крутую механику полностью меняем вектор. Всё режется, переписывается и перекраивается чуть ли не каждый день.
🤔 По логике, именно в геймдеве нужно кричать изо всех утюгов о том, как важно с самого начала писать адаптивный код и подкладывать соломку на случай резких изменений курса. Но почему-то большинство на это забивает?
🤨 Приходилось ли вам хоронить проекты из-за того, что код просто не вывез внезапных изменений в геймдизайне?
Вчера, смотря на объём написанного кода, я задумался вот о чём. Нас (разработчиков) с самого начала учат что надо писать чисто и красиво. Но что это вообще значит на практике? Почему один код считается чистым, а другой — лютым говном?
Если вспомнить, как этот феномен объясняют в бизнесе, то всё сводится к одной простой истине. Бизнес меняется и надо быть к этому готовым. Именно поэтому в энтерпрайзе, где сервисы развиваются десятилетиями, нас учат проектировать через архитектуру, использовать паттерны и соблюдать SOLID. Главный критерий чистоты кода здесь это его способность адаптироваться к изменениям. Чем легче и безболезненнее кодовая база принимает новые фичи, тем она чище. Прямая корреляция.
И вот какая мысль не даёт мне покоя. Если в коммерческой разработке адаптивность вбивают в голову со старта, то почему в геймдеве этой теме вообще не уделяют должного внимания?
Ведь геймдев меняется в сто раз быстрее и хаотичнее любого бизнеса! В бизнесе требования хоть как-то фиксируются. В геймдеве главный критерий это фан. Поиграли в прототип, стало не весело удаляем фичу к чертям. Провели плейтест, нашли крутую механику полностью меняем вектор. Всё режется, переписывается и перекраивается чуть ли не каждый день.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🤨1
Наткнулся тут на видео старых матчей Хартстоуна, как раз времен Ктуна и Йогг-Сарона. Кто помнит эту эпоху рандома?
Взгляд зацепился за то, как там проигрываются все действия. Замечали, что фитиль времени уже вроде бы сгорел, а игрок все еще может отдавать команды и атаковать картами? Очевидно, что под капотом весь исход хода уже мгновенно посчитан сервером, а игроку просто крутят красивое кино.
Яркий пример с тем же Йогг-Сароном. Заклинание еще даже не визуализировалось, но ваши юниты на поле уже блокируются и теряют возможность ходить, потому что домен игры уже знает, что через пару анимаций их уничтожит зачисткой. Анимации просто жестко отстают от логики.
В Deckart я заложил точно такой же процесс, хотя на Хартстоун в момент проектирования даже не ориентировался. Сначала домен просчитывает всю математику, собирает цепочку событий, а визуал просто идет следом по рельсам. Посмотрим, как это покажет себя в реальном бою, но разделение логики и отображения уже сейчас экономит кучу нервов.
📺 А вы обращали внимание на такие рассинхроны логики и анимаций в карточных играх?
Взгляд зацепился за то, как там проигрываются все действия. Замечали, что фитиль времени уже вроде бы сгорел, а игрок все еще может отдавать команды и атаковать картами? Очевидно, что под капотом весь исход хода уже мгновенно посчитан сервером, а игроку просто крутят красивое кино.
Яркий пример с тем же Йогг-Сароном. Заклинание еще даже не визуализировалось, но ваши юниты на поле уже блокируются и теряют возможность ходить, потому что домен игры уже знает, что через пару анимаций их уничтожит зачисткой. Анимации просто жестко отстают от логики.
В Deckart я заложил точно такой же процесс, хотя на Хартстоун в момент проектирования даже не ориентировался. Сначала домен просчитывает всю математику, собирает цепочку событий, а визуал просто идет следом по рельсам. Посмотрим, как это покажет себя в реальном бою, но разделение логики и отображения уже сейчас экономит кучу нервов.
📺 А вы обращали внимание на такие рассинхроны логики и анимаций в карточных играх?
❤2
Чем больше я рассказываю, тем больше подмечаю косяков. Пока собираешь контент и смотришь на проект со стороны, в бэклоге сам собой накопился список задач на месяцы вперед.
Завтра наконец-то начну все это разгребать. Вроде получилось набрать нормальный темп по видосикам, так что теперь можно параллельно вернуться в плотную разработку. Тем более сроки поджимают, пора готовить демку. План минимум на ближайший месяц - сообразить что-то более-менее играющее, хотя бы самый базовый вертикальный срез.
Проговаривание логики на аудиторию сработало как жесткое ТЗ для самого себя. Теперь фронт работ предельно понятен, осталось просто сесть и методично закрывать таски.
А у вас бывало так, что публичное ведение проекта или рассказы о нем заставляли переписать половину планов?
Завтра наконец-то начну все это разгребать. Вроде получилось набрать нормальный темп по видосикам, так что теперь можно параллельно вернуться в плотную разработку. Тем более сроки поджимают, пора готовить демку. План минимум на ближайший месяц - сообразить что-то более-менее играющее, хотя бы самый базовый вертикальный срез.
Проговаривание логики на аудиторию сработало как жесткое ТЗ для самого себя. Теперь фронт работ предельно понятен, осталось просто сесть и методично закрывать таски.
А у вас бывало так, что публичное ведение проекта или рассказы о нем заставляли переписать половину планов?
❤3
✏ Кстати, насчет бэклога, последние месяцы я расслабился и копил все задачи в голове, и это моя катастрофическая ошибка. В самом начале разработки я вел микродоску прямо на холсте, но сейчас разленился и начал упускать из виду тонну важных штук. Без нормального контроля вести проект тяжело.
Для тех, кто не в курсе: в менеджменте проектов есть классная штука под названием канбан, и главная её часть это доска. Можно вообще не разбираться в методологиях, сама доска простая до безумия.
Суть - вы делите пространство на три колонки: «Нужно сделать», «В работе» и «Готово». Каждая задача это отдельная карточка. Появилась идея или баг, кидаете в первую колонку. Сели за работу, перетащили карточку в статус «В работе». Закончили, передвинули в «Готово». Всё. Вы наглядно видите весь масштаб катастрофы, понимаете, над чем сидите прямо сейчас, и не держите этот мусор в голове.
Так что мне точно пора вычерпывать бэклог из чертогов разума и заново формировать его на каком-нибудь борде.
Ребят, подскажите, кто чем пользуется?
Для тех, кто не в курсе: в менеджменте проектов есть классная штука под названием канбан, и главная её часть это доска. Можно вообще не разбираться в методологиях, сама доска простая до безумия.
Суть - вы делите пространство на три колонки: «Нужно сделать», «В работе» и «Готово». Каждая задача это отдельная карточка. Появилась идея или баг, кидаете в первую колонку. Сели за работу, перетащили карточку в статус «В работе». Закончили, передвинули в «Готово». Всё. Вы наглядно видите весь масштаб катастрофы, понимаете, над чем сидите прямо сейчас, и не держите этот мусор в голове.
Так что мне точно пора вычерпывать бэклог из чертогов разума и заново формировать его на каком-нибудь борде.
Ребят, подскажите, кто чем пользуется?
❤3
Написали вчера в комменты про Трелло, пошел сдувать пыль со своей родной, и тут я просто охерел.
Там открылся супер старый борд, 2020 год, помните еще то время? А на доске висят детальные планы, как я буду делать свой блог и писать в нем посты, вот прямо как делаю сейчас. Емае, я помнил, что задумывал это давно, но чтобы настолько! Шесть лет прошло, и вот только сейчас пошло-поехало.
Короче какой вывод, если очень сильно хотеть, то задуманное точно сбудется, рано или поздно.
П.С. игру я тоже очень хочу сделать, надеюсь не придется ждать 6 лет 😏
Там открылся супер старый борд, 2020 год, помните еще то время? А на доске висят детальные планы, как я буду делать свой блог и писать в нем посты, вот прямо как делаю сейчас. Емае, я помнил, что задумывал это давно, но чтобы настолько! Шесть лет прошло, и вот только сейчас пошло-поехало.
Короче какой вывод, если очень сильно хотеть, то задуманное точно сбудется, рано или поздно.
П.С. игру я тоже очень хочу сделать, надеюсь не придется ждать 6 лет 😏
❤6🔥1
Летал в симуляторе, и поймал себя на мысли, что игры тут, по сути, нет.
Никаких квестов, экспы, сюжета и полосок хп. Есть ты, физика и бетонный столб, в который ты влетаешь каждые пару минут. Удар - рестарт, снова снова и снова. Но оторваться почему-то не получается.
В геймдизайне есть такая штука - мастерство. Это когда игра цепляет тебя не фантиками, а твоим собственным ростом.
Большинство современных игр нас просто обманывают. Подсовывают суррогат, циферки урона растут, пушка начинает светиться фиолетовым, перс качается. Но ты-то понимаешь, что скилловее ты не стал.
В симуляторах этой фальши нет. Тут качается не пиксельный человечек, а твои собственные нейронные связи.
И когда ты после сотни падений наконец чисто пролетаешь узкую щель на скорости, игра не выдает тебе ачивку. Твоя награда вот это тихое внутреннее Я МОГУ.
Короче, записал под это дело небольшое видео. Залетайте глянуть.
https://www.instagram.com/reel/DZEyD8-MS1p/?igsh=cHM0eWh0cjNmeTM2
Никаких квестов, экспы, сюжета и полосок хп. Есть ты, физика и бетонный столб, в который ты влетаешь каждые пару минут. Удар - рестарт, снова снова и снова. Но оторваться почему-то не получается.
В геймдизайне есть такая штука - мастерство. Это когда игра цепляет тебя не фантиками, а твоим собственным ростом.
Большинство современных игр нас просто обманывают. Подсовывают суррогат, циферки урона растут, пушка начинает светиться фиолетовым, перс качается. Но ты-то понимаешь, что скилловее ты не стал.
В симуляторах этой фальши нет. Тут качается не пиксельный человечек, а твои собственные нейронные связи.
И когда ты после сотни падений наконец чисто пролетаешь узкую щель на скорости, игра не выдает тебе ачивку. Твоя награда вот это тихое внутреннее Я МОГУ.
Короче, записал под это дело небольшое видео. Залетайте глянуть.
https://www.instagram.com/reel/DZEyD8-MS1p/?igsh=cHM0eWh0cjNmeTM2
🔥4❤1
Вчера люто поработал, почти доделал боёвку.
+1851
-2122
Добавил понятие поведения через абстракцию, как в книжках. Теперь у каждого юнита свой SkirmishBehavior, а сама стычка крутится в отдельном SkirmishCombat, а не в раздутом стейте.
Получилось ловко. Воин бьёт ближайшего и контратакует, лучник стреляет тоже в ближайшего, но без ответки. Коэффициенты урона и защиты зависят от тира. Если понадобится добавить новый тип юнита, это будет просто новый класс поведения плюс строчка в фабрике, а SimulationState мы вообще не трогаем.
События, как и раньше, выплевываются по шагам, а UI на них только смотрит и отображает. Осталось допилить полировку и закрыть крайние кейсы.
+1851
-2122
Добавил понятие поведения через абстракцию, как в книжках. Теперь у каждого юнита свой SkirmishBehavior, а сама стычка крутится в отдельном SkirmishCombat, а не в раздутом стейте.
Получилось ловко. Воин бьёт ближайшего и контратакует, лучник стреляет тоже в ближайшего, но без ответки. Коэффициенты урона и защиты зависят от тира. Если понадобится добавить новый тип юнита, это будет просто новый класс поведения плюс строчка в фабрике, а SimulationState мы вообще не трогаем.
События, как и раньше, выплевываются по шагам, а UI на них только смотрит и отображает. Осталось допилить полировку и закрыть крайние кейсы.
❤6
🃏 Сегодняшний день не стал исключением — снова написал и переписал кучу кода, и теперь боёвка под капотом мне прямо нравится. Буду подробно рассказывать про неё в ближайших вечерних видосиках. Конечно, поймал чистый эстетический балдеж от того, как легко и правильно лёг код. Если вы понимаете это чувство разработчика, то это очень круто!
Помимо боёвки придумал две новые темы для видео по геймдизайну — про погружение (иммерсивность) и про исследование (эксплорейшн). Как только утро посвободнее выдастся, надо будет сесть за сценарии. А то видео с коптером неожиданно залетело, так что можно смело продолжать. Я как раз и хотел делать именно такой формат роликов — глубокий, про геймдизайн и всё, что вокруг него.
Ну и в целом скажу, что работа над игрой наконец-то восстанавливается. Начинаю набирать ту скорость, которая была до автобоя (симуляции в реалтайме). Лучше мне этот опыт с автобоем вообще не вспоминать... Как только найду время, обязательно сделаю полноценный большой девлог, а то давно не было.
П.С. Приехал новый микрофон, а то в комментах частенько жаловались на эхо. На днях испробую, посмотрим на результат!
📺 А у вас бывало такое чувство, когда код ложится настолько идеально, что сидишь и просто любуешься архитектурой?
Помимо боёвки придумал две новые темы для видео по геймдизайну — про погружение (иммерсивность) и про исследование (эксплорейшн). Как только утро посвободнее выдастся, надо будет сесть за сценарии. А то видео с коптером неожиданно залетело, так что можно смело продолжать. Я как раз и хотел делать именно такой формат роликов — глубокий, про геймдизайн и всё, что вокруг него.
Ну и в целом скажу, что работа над игрой наконец-то восстанавливается. Начинаю набирать ту скорость, которая была до автобоя (симуляции в реалтайме). Лучше мне этот опыт с автобоем вообще не вспоминать... Как только найду время, обязательно сделаю полноценный большой девлог, а то давно не было.
П.С. Приехал новый микрофон, а то в комментах частенько жаловались на эхо. На днях испробую, посмотрим на результат!
📺 А у вас бывало такое чувство, когда код ложится настолько идеально, что сидишь и просто любуешься архитектурой?
👍4❤1🔥1
В 2008 году вышел первый Dead Space. Мне тогда было 12 лет. Я помню тотальное погружение и сильный страх, пока не привык к игре. Она пугала сильнее обычного, потому что авторы убрали привычные меню с экрана.
Вспомните подачу информации. Здоровье сделали как светящуюся шкалу на позвоночнике костюма. Запас стазиса стал индикатором на лопатке. Голограммы инвентаря и карты проецировались из маски персонажа прямо в воздух.
В геймдизайне для этого есть официальный термин. Это называется диегетический интерфейс. Он означает, что элементы меню находятся прямо внутри игрового мира. Их видит игрок и видит сам персонаж.
Зачем это нужно геймдизайну? Так убирается барьер между человеком и игрой. В углу экрана нет полосок хп и иконок оружия. Взгляд смотрит только в центр экрана на само действие.
Этот же принцип работает, когда в тактических играх на столе лежат физические фигурки из дерева или металла. Вместо плоских картонных карт. Ты взаимодействуешь с объектами. Это тоже диегетический элемент.
В каких еще играх вы видели интерфейс, который разработчики вшили в реальность игрового мира?
Вспомните подачу информации. Здоровье сделали как светящуюся шкалу на позвоночнике костюма. Запас стазиса стал индикатором на лопатке. Голограммы инвентаря и карты проецировались из маски персонажа прямо в воздух.
В геймдизайне для этого есть официальный термин. Это называется диегетический интерфейс. Он означает, что элементы меню находятся прямо внутри игрового мира. Их видит игрок и видит сам персонаж.
Зачем это нужно геймдизайну? Так убирается барьер между человеком и игрой. В углу экрана нет полосок хп и иконок оружия. Взгляд смотрит только в центр экрана на само действие.
Этот же принцип работает, когда в тактических играх на столе лежат физические фигурки из дерева или металла. Вместо плоских картонных карт. Ты взаимодействуешь с объектами. Это тоже диегетический элемент.
В каких еще играх вы видели интерфейс, который разработчики вшили в реальность игрового мира?
🔥4❤2👍2
Наконец прошел Days Gone!
Там есть одна локация, лесопилка. На этой лесопилке живет огромная орда фриков, это местные зомби. И в один момент на тебя бежит толпа 500 штук одновременно, выглядит дико. Сразу мысль, как это работает под капотом и почему комп не сдох первым.
У меня есть предположение как разработчики это сделали.
Вся толпа работает как один единый рой. Игра не считает мозги и физику для каждого фрика отдельно. Иначе процессор бы умер. Просчитывается движение всей массы целиком. У орды есть одна общая цель, бежать за игроком. А фрики внутри толпы просто смотрят на соседей и бегут рядом.
Но мы же можем убивать их по одному. Как тогда это работает?
Допустим делаем конвейер. Пока фрики просто бегут стеной, они упрощены. Но как только ты стреляешь в конкретного фрика, игра на лету выдергивает его из массы. Для него сразу включается личная физика и анимация попадания. Он отлетает, а остальные бегут дальше по простым правилам роя. Игра включает честный просчет только в момент твоего выстрела.
С анимациями тоже возможно схитрили. Передние фрикеры двигаются качественно, мы их видим близко. А те, кто бежит сзади в толпе и пыли, двигаются группами и намного проще. Хотя я так и не заметил.
Получился какой то хитрый баланс оптимизации. Толпа кажется живой и движок справляется. Чудо...
А вы как бы сделали такую систему, если бы перед вами стояла задача запустить 500 активных юнитов в одной сцене? Какие хитрости использовали бы?
Там есть одна локация, лесопилка. На этой лесопилке живет огромная орда фриков, это местные зомби. И в один момент на тебя бежит толпа 500 штук одновременно, выглядит дико. Сразу мысль, как это работает под капотом и почему комп не сдох первым.
У меня есть предположение как разработчики это сделали.
Вся толпа работает как один единый рой. Игра не считает мозги и физику для каждого фрика отдельно. Иначе процессор бы умер. Просчитывается движение всей массы целиком. У орды есть одна общая цель, бежать за игроком. А фрики внутри толпы просто смотрят на соседей и бегут рядом.
Но мы же можем убивать их по одному. Как тогда это работает?
Допустим делаем конвейер. Пока фрики просто бегут стеной, они упрощены. Но как только ты стреляешь в конкретного фрика, игра на лету выдергивает его из массы. Для него сразу включается личная физика и анимация попадания. Он отлетает, а остальные бегут дальше по простым правилам роя. Игра включает честный просчет только в момент твоего выстрела.
С анимациями тоже возможно схитрили. Передние фрикеры двигаются качественно, мы их видим близко. А те, кто бежит сзади в толпе и пыли, двигаются группами и намного проще. Хотя я так и не заметил.
Получился какой то хитрый баланс оптимизации. Толпа кажется живой и движок справляется. Чудо...
А вы как бы сделали такую систему, если бы перед вами стояла задача запустить 500 активных юнитов в одной сцене? Какие хитрости использовали бы?
❤2🔥2
Сегодня снова телега про иммерсивность или глубину интеграции игрока в виртуальную среду. Это когда сознание игнорирует комнату с монитором и верит в симуляцию.
На эту иллюзию работают три фундаментальных фактора:
1️⃣ Диегетический интерфейс (или его отсутствие). Никаких карт и всплывающих окон. Только чистый визуал.
2⃣ Аутентичность окружения. Логичное поведение света, теней и текстур, которые мозг считывает как осязаемые.
3⃣ Акустический объем. Звуковые отражения, эхо и шорохи, которые позиционируют игрока в пространстве.
Когда геймдизайнер сводит эти три точки вместе, включается абсолютное погружение.
Я решил проверить, как этот механизм работает вживую, и сам спустился в темную пещеру, чтобы прочувствовать этот эффект на своей шкуре. Результат на видео, залетайте смотреть.
https://www.instagram.com/reel/DZSBd_dMUrA/?igsh=MXR1ZXd4enZ5bDlxNg==
На эту иллюзию работают три фундаментальных фактора:
1️⃣ Диегетический интерфейс (или его отсутствие). Никаких карт и всплывающих окон. Только чистый визуал.
2⃣ Аутентичность окружения. Логичное поведение света, теней и текстур, которые мозг считывает как осязаемые.
3⃣ Акустический объем. Звуковые отражения, эхо и шорохи, которые позиционируют игрока в пространстве.
Когда геймдизайнер сводит эти три точки вместе, включается абсолютное погружение.
Я решил проверить, как этот механизм работает вживую, и сам спустился в темную пещеру, чтобы прочувствовать этот эффект на своей шкуре. Результат на видео, залетайте смотреть.
https://www.instagram.com/reel/DZSBd_dMUrA/?igsh=MXR1ZXd4enZ5bDlxNg==
❤5🔥3
Уже несколько раз вы меня спрашивали в комментариях, какие ассеты я использую для цветных папок и game object-ов.
Это правда полезные ассеты, чтобы быстрее ориентироваться при разработке игры. И к тому же ни за одну из них не нужно платить.
Сейчас покажу.
Заходим на assetstore.unity.com, в поиске вбиваем
1. Folder Customizer.
Этот ассет может менять цвет фона для имён папок в инспекторе и ставить кастомный бекграунд на их фон.
2. Folder Color.
Этот ассет может задавать самим иконкам папок цвет, а так же можно менять иконки на кастомные, то есть загрузить что душе угодно.
3. И наконец Colourful Hierarchy Category GameObject.
Данный ассет может поменять цвет фона и текста gameObject-а на какой угодно, стоит лишь разобраться в легких настройках.
Нужно найти файл Color Palette, и в нём указать какой символ как будет красить объект. Потом нужно лишь добавить этот символ перед именем гейм обжекта. Например //CAMERA.
Про это все снял отпадный видос, я сам в шоке от того как получилось! Завтра сниму про Colourful Hierarchy Category GameObject. А пока про первые два -
День 57/100. Подключаем FolderColor к своему проекту!
https://www.instagram.com/reel/DZVIBPEMDlr/?igsh=MWVsdHN0aDNuNWJ0aA==
Это правда полезные ассеты, чтобы быстрее ориентироваться при разработке игры. И к тому же ни за одну из них не нужно платить.
Сейчас покажу.
Заходим на assetstore.unity.com, в поиске вбиваем
1. Folder Customizer.
Этот ассет может менять цвет фона для имён папок в инспекторе и ставить кастомный бекграунд на их фон.
2. Folder Color.
Этот ассет может задавать самим иконкам папок цвет, а так же можно менять иконки на кастомные, то есть загрузить что душе угодно.
3. И наконец Colourful Hierarchy Category GameObject.
Данный ассет может поменять цвет фона и текста gameObject-а на какой угодно, стоит лишь разобраться в легких настройках.
Нужно найти файл Color Palette, и в нём указать какой символ как будет красить объект. Потом нужно лишь добавить этот символ перед именем гейм обжекта. Например //CAMERA.
Про это все снял отпадный видос, я сам в шоке от того как получилось! Завтра сниму про Colourful Hierarchy Category GameObject. А пока про первые два -
День 57/100. Подключаем FolderColor к своему проекту!
https://www.instagram.com/reel/DZVIBPEMDlr/?igsh=MWVsdHN0aDNuNWJ0aA==
❤5🔥2
Разбавлю тему геймдева. Сегодня про соседствующий процесс, про видосикомейкинг.
Вы наверное заметили по кадрам, у меня появилась зеленка. Это хромакей, и я сейчас пытаюсь осваивать его в полной мере. Помимо зеленого экрана появилось много разных прибамбасов. От полезных штук до абсолютно юзелес щит. Если вам интересна эта тема, могу закинуть топ видео утвари в следующий пост. Но пока просто похвалюсь зеленью.
В остальном процесс съемки и монтажа стал в разы быстрее. Теперь я четко знаю, что делать, и вообще не туплю. Выдавать по видосу в день это сейчас не так уж и сложно. Главное тут просто постоянство.
Кто то из вас хотел тоже начать снимать видео? Пробовали уже делать первые шаги или что то останавливает?
Вы наверное заметили по кадрам, у меня появилась зеленка. Это хромакей, и я сейчас пытаюсь осваивать его в полной мере. Помимо зеленого экрана появилось много разных прибамбасов. От полезных штук до абсолютно юзелес щит. Если вам интересна эта тема, могу закинуть топ видео утвари в следующий пост. Но пока просто похвалюсь зеленью.
В остальном процесс съемки и монтажа стал в разы быстрее. Теперь я четко знаю, что делать, и вообще не туплю. Выдавать по видосу в день это сейчас не так уж и сложно. Главное тут просто постоянство.
Кто то из вас хотел тоже начать снимать видео? Пробовали уже делать первые шаги или что то останавливает?
❤6🔥2
Че то я не понял, подсказывайте!
Сижу монтирую видео на вечер про хот релоад, думал что он бесплатный а он оказывается стоит аж 80 долларов, хотя по описанию он должен быть бесплатным для инди. У меня конечно получилось скачать через пакет или гит, но ассет стор подвел, там не нашел возможности. Что сейчас с этим плагином кто в курсе?
А для тех кто вообще не сечет - хот релоад это такая штука, которая позволяет менять код прямо во время запущенной игры.
Обычно в Unity как происходит. Ты написал строчку кода, возвращаешься в движок и сидишь ждешь. Игра замирает, крутится колесико компиляции, проект перезагружает все свои мозги. Это дико бесит и тратит кучу времени, особенно когда надо просто поправить одну цифру в формуле урона или поменять скорость полета стрелы.
Да и вообще как вам формат магазина на диване? Поделитесь фидбеком, куда мне дальше двигаться...
Сижу монтирую видео на вечер про хот релоад, думал что он бесплатный а он оказывается стоит аж 80 долларов, хотя по описанию он должен быть бесплатным для инди. У меня конечно получилось скачать через пакет или гит, но ассет стор подвел, там не нашел возможности. Что сейчас с этим плагином кто в курсе?
А для тех кто вообще не сечет - хот релоад это такая штука, которая позволяет менять код прямо во время запущенной игры.
Обычно в Unity как происходит. Ты написал строчку кода, возвращаешься в движок и сидишь ждешь. Игра замирает, крутится колесико компиляции, проект перезагружает все свои мозги. Это дико бесит и тратит кучу времени, особенно когда надо просто поправить одну цифру в формуле урона или поменять скорость полета стрелы.
Да и вообще как вам формат магазина на диване? Поделитесь фидбеком, куда мне дальше двигаться...
❤2
Сегодня про Memory Profiler в Unity. Это официальный плагин, ставится через Package Manager за минуту. Многие туда вообще не лазят, думая, что там какая-то жесть, но на самом деле всё просто. Эта штука делает снимок всей оперативки прямо во время игры и наглядно показывает, что сколько весит.
Мне эта тема еще в бэкенде дико помогала при поисках утечек памяти, а в Unity всё сделали еще проще и визуальнее.
После нажатия кнопки Capture вылезает карта из цветных квадратов. Логика тупейшая: чем больше квадрат, тем больше мегабайт он жрет. Глаза сами моментально цепляются за проблемные блоки, даже если вообще не знаешь, на что смотреть. Всё работает чисто на интуиции. Ткнул в самый большой куб — и тебе сразу пишет имя ассета. Например, какая-нибудь тяжелая текстура или непережатый звук. Помогает быстро вспомнить и найти, что ты забыл почистить или оптимизировать.
Пользуетесь вообще этой темой или до последнего на глаз всё оптимизируете?
Мне эта тема еще в бэкенде дико помогала при поисках утечек памяти, а в Unity всё сделали еще проще и визуальнее.
После нажатия кнопки Capture вылезает карта из цветных квадратов. Логика тупейшая: чем больше квадрат, тем больше мегабайт он жрет. Глаза сами моментально цепляются за проблемные блоки, даже если вообще не знаешь, на что смотреть. Всё работает чисто на интуиции. Ткнул в самый большой куб — и тебе сразу пишет имя ассета. Например, какая-нибудь тяжелая текстура или непережатый звук. Помогает быстро вспомнить и найти, что ты забыл почистить или оптимизировать.
Пользуетесь вообще этой темой или до последнего на глаз всё оптимизируете?
❤2🔥1