Почему вам стоит перейти на ECS❓
Раньше я писал игры на Unity, используя классический ООП-подход: менеджеры, наследование, простенькая архитектура. Но полгода назад более опытные коллеги посоветовали мне перейти на ECS (Entity Component System) и это стало одним из самых правильных решений в моей разработке.💃
🔠 Удобная архитектура кода
Компоненты — это данные, системы — это функции. Всё. Никаких 1000-уровневых наследований и жирных менеджеров, которые ломаются от любого чиха. Код становится чистым, предсказуемым и прозрачным. В любой момент можно выключить любую систему, не опасаясь, что у тебя развалится пол-проекта.🆗
🔠 Легко масштабировать
Нужна новая механика? Просто добавляешь компонент и систему. Игра растёт, а архитектура не разваливается. Особенно полезно при создании больших проектов.
🔠 Идеально для прототипирования
ECS позволяет быстро менять геймплей, экспериментировать с логикой, переключать подсистемы и проверять идеи на лету. Особенно важно, если вы работаете в одиночку, когда нет команды, которая будет собирать обломки ваших экспериментов.
🔠 И вот главное:
ECS меняет не только код. Он меняет ваш подход к разработке. Ты начинаешь мыслить системами, а не объектами. И чем дальше идёшь, тем сложнее возвращаться обратно, слишком уж удобно всё становится.
И самое главное, то что это станет главным преимуществом при устройстве на работу.
После перехода на ECS разработка игр стала для меня проще, структурирование и понятнее. Так что всем советую!🌟
Раньше я писал игры на Unity, используя классический ООП-подход: менеджеры, наследование, простенькая архитектура. Но полгода назад более опытные коллеги посоветовали мне перейти на ECS (Entity Component System) и это стало одним из самых правильных решений в моей разработке.
Компоненты — это данные, системы — это функции. Всё. Никаких 1000-уровневых наследований и жирных менеджеров, которые ломаются от любого чиха. Код становится чистым, предсказуемым и прозрачным. В любой момент можно выключить любую систему, не опасаясь, что у тебя развалится пол-проекта.
Нужна новая механика? Просто добавляешь компонент и систему. Игра растёт, а архитектура не разваливается. Особенно полезно при создании больших проектов.
ECS позволяет быстро менять геймплей, экспериментировать с логикой, переключать подсистемы и проверять идеи на лету. Особенно важно, если вы работаете в одиночку, когда нет команды, которая будет собирать обломки ваших экспериментов.
ECS меняет не только код. Он меняет ваш подход к разработке. Ты начинаешь мыслить системами, а не объектами. И чем дальше идёшь, тем сложнее возвращаться обратно, слишком уж удобно всё становится.
И самое главное, то что это станет главным преимуществом при устройстве на работу.
После перехода на ECS разработка игр стала для меня проще, структурирование и понятнее. Так что всем советую!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2
В прошлом посте я рассказал о плюсах ECS-архитектуры. Так как многие могли вообще не сталкиваться с таким подходом, решил начать с базы и рассказать вам, что такое ECS.
——
ECS (Entity Component System) — это не просто «особый стиль кода», а полноценный архитектурный паттерн, в основе которого лежит жёсткое разделение ответственности:
Entity (Сущность) — это просто ID, контейнер, на который навешиваются компоненты
Component (Компонент) — это только данные, без логики
System (Система) — это только логика, которая работает с компонентами
В отличие от классического ООП, где объект объединяет в себе и данные, и поведение, в ECS логика полностью отделена и работает сразу с группами данных.
Если сильно упростить, игровой цикл выглядит так:
- Есть мир (World)
- В мире есть сущности
- У сущностей есть наборы компонентов
- Системы выбирают нужные сущности по компонентам и выполняют над ними логику
То есть система не знает конкретный объект.
Она знает только: «мне нужны все сущности с такими компонентами».
В обычном Unity мне очень не нравилось то, что вы не можете работать со всей игрой сразу в одном месте:
- логика распылена по проекту
- нужны менеджеры на всё подряд
- для взаимодействия: теги, события, Unity Actions
Главный минус — взаимодействие со сценой.
ECS-системы не интегрированы напрямую в Unity, из-за чего на объекты на сцене приходится делать отдельные монобехи, которые уже будут связывать сцену и систему.
Особенно проблематично делать физику объектов в ECS.
Хорошие ECS-фреймворки
1. DragonECS
2. LeoECS
3. StaticECS
Все они лёгкие, быстрые и хорошо подходят для небольших и средних проектов.
——
Когда проект растёт, ECS не даёт коду превратиться в кашу.
Надеюсь, было полезно и интересно
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥3🥱1
Выходя из недельного застоя, хочу продолжить тематику прошлого поста и поговорить о жанрах игр, которые реально можно и стоит делать в одиночку.
Причём не только «чтобы допилить», но и чтобы получить полезный опыт.
🎮 Аркады
Классика для инди-разработчика.
В основе аркад почти всегда лежит одна простая core-механика, на которую постепенно навешиваются такие же простые дополнительные элементы.
Их легко масштабировать, дополнять и балансить.
Часто:
- уровни процедурные
- механики повторяются
- контента много, а сложность кода умеренная
Отличный вариант как для мобилок, так и для ПК.
📱 Гиперказуалки
Короли мобильного рынка.
Максимально простой геймплей, который:
- не требует усилий от игрока
- быстро объясняется
- легко тестируется
Гиперказуалки — это
возможность заработать и
плюс успешный кейс в резюме. Особенно актуальны сейчас.
🧩 Puzzle
Наверное, самое простое, что можно сделать в одиночку — иногда буквально за пару дней.
Хороший пример — моя недавняя игра Dize.
Пазлы я люблю за:
- простоту реализации
- огромную вариативность
- свободу идей
Вы можете как
сделать абстракцию уровня Baba Is You, так и что-то максимально простое, как Cut the Rope. И самое приятное — не нужно переживать за визуал.
Он может быть любым. Даже нарисованным вашими кривыми пальцами как у меня
Если вы делаете игру в одиночку, не нужно сразу замахиваться на MMO, RPG на 100 часов или глобальную стратегию.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5😎1
Ещё в начале декабря меня посетила мысль сделать вам какой-нибудь новогодний подарок.
Но не обычный, а что-то действительно интересное.
И тогда я подумал, а почему бы не совместить традицию адвент-календаря и игровой девлог?
Так и родилась идея праздничной мини-игры, над которой я буду работать прямо у вас на глазах.
Поэтому вашему вниманию предстает: Kitty-clause! Игра где я совмещу мою любовь к зимним праздникам и котикам!
Если честно я сам название еще до конца не выбрал, это такое рабочее. Поэтому предлагаю вам ниже в опросе выбрать наилучший по вашему мнению вариант до воскресения.
За пару часов я спроектировал концепт игры про кота-Санту, который доставляет подарки другим котикам.
В начале игры игрок в роли кота читает письма от других котов, запоминает их пожелания и складывает подарки в мешок.
Причём сам процесс складывания, я решил сделать отдельной механикой: игрок будет буквально закидывать подарки с физикой в мешок. По ощущениям это похоже на закидывание ингредиентов в котёл из Potion Craft.
После этого кот-Санта отправляется доставлять подарки:
- нужно преодолевать препятствия,
- отдавать конкретные подарки конкретным котам,
- если подарок не тот, то котик расстраивается😭
- всё нужно успеть до 12 часов ночи, иначе итоговый счёт будет ниже.
В конце игрок получает баллы за то, насколько успешно справился с задачей.
Моя цель — сделать разработку игры в качестве адвент календаря.
Каждый день я буду выкладывать процесс разработки: идеи, решения, проблемы, геймдизайн и код.
А в конце вы сможете сами поиграть в готовый продукт. В принципе это как и обычный Devlog, но только полностью посвященный празднику.
Таким образом я сделаю небольшую, но законченную мини-игру за неделю и устрою для вас небольшой новогодний игровой ивент
Что ж, первый день адвент-календаря завершён.
Ждите завтрашнего, будет интересно
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5
Название для игры 🤡
Anonymous Poll
7%
Kot-moroz
33%
Kitty-claus
7%
Santa-Cataus
33%
Kitty-Cataus
20%
Kit-moroz
Ребята, хочу извиниться что нарушаю свое обещание. Сегодня поста не будет, так как я заболел сильно. Снова. Жизнь снова нарушает мои планы и портит новый год. Простите что так вышло.
Если говорить об игре, то сегодня создал сам проект, перенес систему передвижения, в особенности прыжков из MyLove. Подумал что будет хорошо сразу узнать вам каково это будет ощущаться. И начал делать физику подарков, но к сожалению днем слег. 💔
Надеюсь ваши праздники проходят лучше. Не болейте❤️
Игру я не заброшу. Возможно завтра мне полегчает и я смогу уже завтра что-нибудь вам показать, но обещать не буду.
Если говорить об игре, то сегодня создал сам проект, перенес систему передвижения, в особенности прыжков из MyLove. Подумал что будет хорошо сразу узнать вам каково это будет ощущаться. И начал делать физику подарков, но к сожалению днем слег. 💔
Надеюсь ваши праздники проходят лучше. Не болейте
Игру я не заброшу. Возможно завтра мне полегчает и я смогу уже завтра что-нибудь вам показать, но обещать не буду.
Please open Telegram to view this post
VIEW IN TELEGRAM
1😢7
Кхм кхм дорогие друзья!
Хочу поздравить вас с наступающим новым 2026 годом.🤩 Надеюсь вы встречаете его здоровыми и без грусти там. Желаю вам чтобы надежда не угасала в вас никогда, а здравый смысл не покидал вашей головы.
Безумно благодарен вам за то, что следите за моим творчеством и читаете посты. В будущем нас ждёт больше контента, больше разработанных игр, больше и лучше. Спасибо вам да 72 подписчика👩❤️👨
"Better than yesterday"
Хочу поздравить вас с наступающим новым 2026 годом.
Безумно благодарен вам за то, что следите за моим творчеством и читаете посты. В будущем нас ждёт больше контента, больше разработанных игр, больше и лучше. Спасибо вам да 72 подписчика
"Better than yesterday"
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Салаты съедены, шампанское выпито
А я тем временем приветствую вас полностью выздоровевшим и с продолжением новогоднего адвент-девлога по Kitty-Clause. Сегодня у нас этап писем.
Задача стояла следующая:
нужно было сделать систему генерации 6 котиков с
рандомными, не повторяющимися именами,
уникальными образами,
и пожеланиями по подаркам, которые могут совпадать между разными котами.
С генерацией котов я успешно справился, а заодно реализовал интерфейс писем.
Все письма отображаются как единый каталог, в который можно зайти и выбрать любое письмо для просмотра.
Анимация открытия письма пока получилась, мягко говоря, не очень
Зато перелистывание писем и само ощущение нахождения внутри каталога мне реально понравились и тут я доволен результатом.
Спрайты писем взял со стоковых ресурсов, потому что бесплатных игровых спрайтов писем, которые бы подошли, я, к сожалению, так и не нашёл.
🎁 Немного про подарки
Так же немного показал вам как сделал физику подарков: можно поднимать и кидать их.
Когда подарки падают в мешок то записываются как положенные сохраняются и из уже нельзя брать.
Ждите следующий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Продолжаю работу над нашим новогодним проектом про кота-Мороза
Сегодня расскажу об этапе, на котором я занялся генерацией уровня.
Систему генерации я реализовал с помощью чанков.
Уровень разделён на множество участков, которые спавнятся по мере продвижения игрока.
Есть два типа чанков:
чанки улицы с препятствиями и врагами,
сейв-зоны.
В сейв-зоне находится кот, которому нужно доставить подарок.
После прохождения сейв-зоны все чанки позади удаляются, чтобы не нагружать игру и держать производительность под контролем.
Пока уровень выглядит довольно лысо, без декора и визуальных деталей. Но для меня на этом этапе главное — это рабочая генерация, а визуал я буду докручивать позже.
Также я перенёс свою систему проецирования заднего фона уровня. Пришлось лишь немного адаптировать её под пять слоёв, а не под три, как это было в MyLove.
Продолжение следует!
В следующем адвенте будет больше геймплея и наполнения
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍5❤3
Простите ребята, вчера хотел поработать и запостить вам по игре что-нибудь, но оказался на целый день в блекауте. Возможно видели в новостях что произошло в Белгороде. Надеюсь у вас в отличие от меня все хорошо, посты ждите, будут ✊
1😢8
This media is not supported in your browser
VIEW IN TELEGRAM
Работа над игрой ещё не закончена, и, несмотря на любые временные промежутки, разработка продолжается несмотря ни на что.
За вчера и сегодня я реализовал несколько важных вещей.
Поймал один забавный, но неприятный баг, связанный с подарками.
Если долго держать подарок в руке, спустя некоторое время он выстреливал вниз с адской скоростью.
Причина оказалась простой:
я топорно реализовал удержание подарков через transform, из-за чего в Rigidbody накапливалась сила, постоянно тянущая объект к полу.
Исправил.
Теперь всё работает через Rigidbody, и пока подарок находится в руках, он больше не стремится в ад
🎮 Спавн подарков
Реализовал небольшой UI-интерфейс для спавна подарков в самом начале уровня.
Сверху висит панель с кнопками: на каждый подарок можно нажать, заспавнить и сразу положить его в мешок.
Пока подарки появляются просто в воздухе, но в будущем на их месте появится красивая труба подарков 🎁✨
К слову, UI здесь реализован локально в формате World Space.
🧩 Компоновка сцен
Я объединил механики обеих сцен в один уровень. Сначала была идея оставить всё как есть и реализовать перенос данных о подарках между сценами, но потом я понял, что городить перенос данных в ECS ради этого не стоит.
В итоге решение проще и красивее:
две камеры,
плавный переход между ними,
пока игрок складывает подарки, на него вешается флаг остановки —
так что он не сможет случайно начать прохождение уровня раньше времени.
Честно — мне очень понравилось, как это получилось.
Теперь игрок:
сначала спокойно складывает подарки в мешок,
затем отправляется проходить уровень,
и всё это работает как единый, цельный процесс.
Дальше — добавление таймера, передача подарков котятам и счет игрока. Ждите продолжения!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2🗿1
This media is not supported in your browser
VIEW IN TELEGRAM
Продолжаю разработку игры! Сегодня поработал над стилистикой уровня, препятствиями, таймером и немного — над котятами
🏃 Уровень, препятствия и таймер
Как я говорил в самом начале, в игре реализован таймер. Сейчас он отображается в формате минуты : секунды : миллисекунды в верхней части экрана и конечно, запускается только после нажатия кнопки перехода к прохождению уровня.
А раз игра по сути раннер, то без препятствий никуда.
Изначально я хотел делать классическую систему здоровья, но в процессе понял, что намного интереснее работать со временем.
Вместо отнимания жизней препятствия добавляют время к таймеру
В итоге:
- игроки, которые хотят пройти уровень быстрее, будут играть аккуратнее;
- те, кто просто хочет попробовать игру, смогут проходить её в более спокойном темпе.
Единственная проблема — я пока не нашёл адекватное препятствие-врага в новогоднем стиле.
Поэтому временно на уровне… жёлтый снеговик
Если у вас есть идеи, что можно поставить вместо него, то кидайте в комментарии.
А пока что:
«И главное, Артём, главное… не кусай жёлтого снеговика!»
Кроме этого, я немного посидел над визуальным оформлением уровня, добавил больше различных чанков.
Не знаю, насколько удачно получилось. Напишите в комментариях, как вам.
🎁 Начал, но не доделал: передача подарков котикам
Последнее, что осталось реализовать в игре — передача подарков котикам.
Механика довольно простая:
- котик спавнится в сейв-зоне;
- при подходе к нему он отправляет событие, и на игрока вешается флаг взаимодействия;
- при отходе флаг снимается;
- игрок взаимодействует с котом и открывает окно выбора подарков из мешка;
- если подарок правильный — котик радуется, если нет — грустит.
В конце уровня все данные сверяются, и игрок получает финальный счёт.
Пока что эта система готова примерно на 50%. Завтра я займусь интерфейсом и визуальной частью, и вы уже сможете увидеть её в работе.
Завтра финальный этап
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥2
Ни в коем случае не качайте последние обновления. На свое горе у меня винда обновилась автоматически и спустя пару дней накрылись практически все драйвера.
По итогу пришлось уделить починке больше половины дня.
Вроде-бы это освятили публично, но на всякий как пострадавший уведомляю.
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤5🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Ночной подруб, друзья.
Разработка игры подходит к своему долгожданному концу... Затянул я че-то
Последнюю неделю я допиливал систему, о которой рассказывал в прошлом посте. Сейчас расскажу вам коротко и по делу о проблемах, с которыми пришлось столкнуться.
🎁 Спавн кнопок подарков
Нужно было реализовать передачу подарков коту из мешка.
Я выбрал простой и понятный вариант — кнопки над котом, нажимая на которые подарок «передаётся» ему.
Звучит легко, но, как обычно, дьявол в деталях. Основная сложность была в корректном взаимодействии UI-кнопок с ECS-системой.
Перепробовал кучу вариантов, помучался знатно, но в итоге пришёл к рабочему решению:
сделал шаблон кнопки,
при спавне задавал каждой нужные значения.
Кстати, систему настроения котов реализовал похожим образом, единственное что вместо кнопок спавнится шаблон эмоции котика.
Эти два момента не столько сложные, сколько "дурацкие".
Чтобы начать уровень, я сделал активацию кнопки перехода только после набора нужного количества подарков. Но, как оказалось, объект в условии я указал не тот.
Представте мое лицо в этот момент
С лишними подарками история интереснее.
Каждый подарок при попадании в мешок отправляет событие в систему, где происходит вся логика. Но из-за особенностей триггеров юнити один и тот же подарок мог войти в мешок дважды и отправить несколько ивентов.
Заметил я это только на этапе вывода подарков над котом,
так что пришлось лезть глубже и аккуратно всё фиксить
Ну и, конечно, финал уровня. На него ушло более пяти часов, в основном из-за того, что я сам же наплодил ошибок и слегка запутался в логике.
Из хороших новостей это то, что уровень теперь полностью готов
Для финала игры осталось:
накатить красивый интерфейс,
добавить анимации и визуальные эффекты,
и главное музыку.
В прикреплённом видео видно, как всё выглядит сейчас: визуал сырой, но это временно. Завтра всё будет отполировано.
Что ж надеюсь завтра уже будут подведены итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤4
Как вы считаете, какой из них подходит больше всего?
Anonymous Poll
24%
Первый
12%
Второй
12%
Третий
24%
Четвертый
60%
Пятый
❤2
nerds
Google выпустили нейросеть, которая умеет генерировать целые миры
В с ё ?
Мне карьеру заканчивать прямо сейчас или всё-таки окончить рабочий день?
Мне карьеру заканчивать прямо сейчас или всё-таки окончить рабочий день?
😁6🥰2