Архитектурные ошибки, которые мешают скейлиться
📌 Вот что часто делает мидл, когда ещё не думает как senior:
1️⃣ Всё в одном MonoBehaviour
📌 Разделяй по слоям:
• Model — данные (например, ScriptableObject, runtime state)
• View — отображение и UI (MonoBehaviour с UI-ссылками)
• Controller/Manager — логика и управление
🧠 Это основа MVC / MVVM / ECS — двигайся в сторону слабосвязной архитектуры.
2️⃣ Прямые ссылки между объектами
📌 Лучше через:
• Action и event-события
• интерфейсы (например, IDamageable)
• ScriptableObject-сигналы (EventChannel)
• Service Locator / Dependency Injection (Zenject, Extenject)
3️⃣ Нет централизованного GameManager или FSM
📌 Когда логика разбросана по сцене — сложно дебажить, сохранять и управлять состоянием игры.
🛠️ Сделай GameState-машину:
Добавь централизованную точку входа:
• UIManager
• SceneController
• AudioManager
4️⃣ Мешанина из public переменных
📌 Используй:
🧠 Это защищает от случайных изменений и делает код самодокументируемым.
5️⃣ Нет разделения Editor и Runtime
📌 Всё, что относится к редактору (например, EditorGUILayout, Handles, MenuItem) — в папку /Editor и под #if UNITY_EDITOR.
Если этого не сделать:
• код попадёт в билд (ошибка)
• появится ненужный вес
• сломается на мобильных/в WebGL
💡 Средний уровень — это уже мышление архитектора: ты создаёшь систему, которую другие смогут поддерживать, расширять и не бояться трогать.
💬 Хочешь пост про конкретные архитектурные подходы: EventBus, ScriptableSignals или Scene Flow?
🔔 Подписывайся — впереди про UI-архитектуру, async-менеджеры и паттерны уровня Senior
👉 Akrus Games | Unity
📌 Вот что часто делает мидл, когда ещё не думает как senior:
// И логика, и UI, и данные — всё в одном классе 😵
📌 Разделяй по слоям:
• Model — данные (например, ScriptableObject, runtime state)
• View — отображение и UI (MonoBehaviour с UI-ссылками)
• Controller/Manager — логика и управление
🧠 Это основа MVC / MVVM / ECS — двигайся в сторону слабосвязной архитектуры.
enemy.healthBar.SetValue(enemy.hp); // жёсткая связь
📌 Лучше через:
• Action и event-события
• интерфейсы (например, IDamageable)
• ScriptableObject-сигналы (EventChannel)
• Service Locator / Dependency Injection (Zenject, Extenject)
📌 Когда логика разбросана по сцене — сложно дебажить, сохранять и управлять состоянием игры.
🛠️ Сделай GameState-машину:
GameState.Menu → GameState.Playing → GameState.PausedДобавь централизованную точку входа:
• UIManager
• SceneController
• AudioManager
public int hp; // открыто для всех
📌 Используй:
[SerializeField] private int hp;
public int HP => hp;
🧠 Это защищает от случайных изменений и делает код самодокументируемым.
📌 Всё, что относится к редактору (например, EditorGUILayout, Handles, MenuItem) — в папку /Editor и под #if UNITY_EDITOR.
Если этого не сделать:
• код попадёт в билд (ошибка)
• появится ненужный вес
• сломается на мобильных/в WebGL
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤2 2 2 1 1
Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
✨Продаётся пак изображений: Автомобили для кликера.
В паке есть 9 автомобилей, 7 фонов
❗️Важно: Пак создавался долго с упором на качество: в каждой папке машина в PNG без фона. Также все фоны были подобранны в хорошем качестве.Соблюдены все авторские права, все картинки прошли модерацию яндекс игр. Достаточно сделать быстрый рескин на готовом шаблоне и можно заработать.
Стоимость пака: 150 ₽
Для покупки писать: @Akrus001
Движок: любой
Интеграция: Картинки полностью адаптированы под требования Яндекс Игр
В паке есть 9 автомобилей, 7 фонов
❗️Важно: Пак создавался долго с упором на качество: в каждой папке машина в PNG без фона. Также все фоны были подобранны в хорошем качестве.Соблюдены все авторские права, все картинки прошли модерацию яндекс игр. Достаточно сделать быстрый рескин на готовом шаблоне и можно заработать.
Стоимость пака: 150 ₽
Для покупки писать: @Akrus001
❤4😁4 1
public class TestScript : MonoBehaviour {
void Awake() {
Debug.Log("Awake");
enabled = false;
}
void Start() {
Debug.Log("Start");
}
void Update() {
Debug.Log("Update");
}
}Компонент TestScript находится на активном объекте в сцене.
Что выведет этот код?
Anonymous Quiz
49%
Awake Start Update
4%
Awake Update
40%
Awake
8%
Start Update
❤3🔥1 1
Копаем глубже в гениальность Hollow Knight на Unity. Сегодня — квинтэссенция: механика, стиль и звук. Что брать на вооружение?
⚙️ Программирование (Коротко):
• Контроль персонажа: кастомная физика (Rigidbody2D без физики Unity), State Machine для анимаций, Input Buffering для плавных и отзывчивых действий (например, прыжок с задержкой на краю платформы).
• Системы: модульные чары (по сути, набор компонентов с динамической активацией), Object Pool для пуль/врагов/эффектов, надёжная система сохранений по зонам.
• Камера: Cinemachine с ограничением по зонам (блоки-ограничители) + ручной контроль сглаживания.
🎨 Стилистика: Атмосфера через Технику
• Арт: ручная 2D-анимация (не пиксельарт, а именно hand-drawn) + шейдеры (мерцание Geo, свет, туман, подводные искажения).
• Свет и тень: 2D Lights (Universal RP), Ambient Occlusion (запечённый или фейковый), Color Grading через Volume-компоненты.
• Детали движений: Particle System — для шагов, пыли, частиц при разрушении — оживляют каждое действие.
• Параллакс: многослойные фоны с разной скоростью, управляемые скриптом или Cinemachine Parallax.
🎵 Музыка Кристофера Ларкина: Не Фон, а Инструмент Дизайна
• Лейтмотивы: у каждого района — своя тема. Узнаваемость через музыку. (Сравни “Город Слёз” и “Greenpath”).
• Интерактивность: музыка подстраивается под события. Скорее всего — FMOD или Wwise: middleware для динамического микширования в Unity.
• Звук = мир: шаги, капли, скрипы — вплетены в общий саундскейп. Не просто фоны, а слой геймдизайна.
• Точка покоя: скамейки и музыка — безопасные гавани. Эмоциональные якоря, как костры в Dark Souls.
💡 Вывод для Dev’а:
1. Атмосфера = Единство: арт, звук и механики говорят на одном языке. Код не просто работает — он служит художественной цели.
2. Звук — это дизайн, а не “последний штрих”. Интерактивность важна.
3. Детали = жизнь: пыль, свечения, лёгкие эхо — и мир оживает.
4. Оптимизация — путь к атмосфере: без Object Pool и правильной архитектуры, ты не вытянешь такую насыщенность.
🛠️ Hollow Knight — мастер-класс по созданию целостного мира в Unity, где нет разделения между кодом и искусством. Всё работает на ощущение.
🎧 P.S. Какой трек из Hollow Knight у тебя в голове до сих пор?
#HollowKnight #Unity #GameDev #GameAudio #Геймдизайн #ИндиИгры #PixelArt #Звук #Арт #AkrusGames
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
❓ Какую тему ты хочешь увидеть в следующем посте?
Я стараюсь делать практичные, чёткие и мощные материалы по Unity и C#, которые действительно помогают в работе.
Хочу сделать следующий пост именно под тебя👇
💬 Напиши в комменты, что тебе реально нужно — я сделаю пост не “в общем”, а именно под твой уровень и задачи.
Я стараюсь делать практичные, чёткие и мощные материалы по Unity и C#, которые действительно помогают в работе.
Хочу сделать следующий пост именно под тебя👇
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Сохрани — экономит куча времени:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🎄2 2
Сохрани, чтобы не потерять
Набираем 225 подписчиков и выкладываю шпаргалку по C#/Unity!
#программирование #IT #csharp #шпаргалка #VS #Unity #GameDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤2 2 1
Это удобная и наглядная платформа, идеально подходящая для новичков. Всё разбито по темам, объяснения простые.
Учись в своём темпе и практикуйся прямо на сайте!
#сишарп #программирование #IT #полезное #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤2😁2
Akrus Games | Unity
Понравился сайт?
🔥 - да
👎 - нет
🔥 - да
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12 5😁3 2
Все заходите в наш чат! Сделаем там опрос: какой следующий пост хотите? И может даже разберём тему подписчика, которую он не понимает.
https://t.me/chatAkrus001
Давайте сделаем 50 участников.
Распространите
https://t.me/chatAkrus001
Давайте сделаем 50 участников.
Распространите
Telegram
Unity чат
Правила: https://t.me/chatAkrus001/208
❤5 2 2🔥1
Нашли гигантскую базу пнг картинок без фона!
Подойдет для создание рескинов игр!
Тысячи картинок без фона, в хорошем качестве.
Все бесплатно, идеально для геймдева!
Подойдет для создание рескинов игр!
Тысячи картинок без фона, в хорошем качестве.
Все бесплатно, идеально для геймдева!
🌸Всем привет!
Я хотел бы порекомендовать вам интереснейший канал по разработке игр!
Здесь автор делится новостями и наработками в своих играх в жанре хоррор !
https://t.me/nezerGaymdev
https://t.me/nezerGaymdev
https://t.me/nezerGaymdev
🙌
Я хотел бы порекомендовать вам интереснейший канал по разработке игр!
Здесь автор делится новостями и наработками в своих играх в жанре хоррор !
https://t.me/nezerGaymdev
https://t.me/nezerGaymdev
https://t.me/nezerGaymdev
🙌
Если игра лагает, попробуй вот что:
Уменьши разрешение текстур (но без артефактов).
Включи LOD (Level of Detail) — чтобы на расстоянии рендерились упрощённые модели.
Вырежи ненужные эффекты — Bloom, SSAO, Motion Blur. Если без них можно обойтись — отключай.
Static/Dynamic Batching (в Edit → Project Settings → Graphics).
Sprite Atlas (2D) / Texture Atlas (3D) — собирай мелкие текстуры в одну большую.
Не используй FindObjectOfType и GetComponent в Update() — кешируй ссылки в Awake() или Start().
Пул объектов вместо Instantiate/Destroy — если часто создаёшь/удаляешь объекты (пули, враги).
Baked Lightmaps — если свет статичный, запеки его.
URP (Universal Render Pipeline) — лучше подходит для мобилок, чем стандартный рендер.
Смотри Profiler (Window → Analysis → Profiler) — ищи узкие места.
Избегай аллокаций в Update — сборщик мусора (GC) вызывает лаги.
Важно: Даже небольшие правки могут дать +20-30 FPS. Главное — тестируй изменения и смотри на результат.
У тебя были проблемы с производительностью? Что помогло? Пиши в комменты.
Please open Telegram to view this post
VIEW IN TELEGRAM