Akrus Games | Unity
2.95K subscribers
408 photos
89 videos
11 files
351 links
Самые годные лайфхаки по unity c#

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Знаешь, когда два дня чинишь одну строку кода, а игра всё равно ломается? У меня так было с машинкой, которая кувыркалась на поворотах.

Я потратил 48 часов на поиск бага в физике. Проверил всё. А оказалось, что я использовал ForceMode.Impulse в FixedUpdate, и силы накапливались, создавая «толчки великана». Два дня — на одну строку. Когда нашёл, смеялся и плакал.

Так вот, что здесь важно:
1. ForceMode в Unity — способ приложения силы. Impulse мгновенно добавляет импульс, а в FixedUpdate он может вызываться слишком часто.
2. Физику считают в FixedUpdate, но осторожно.
3. Дебаг начинай с простого. Я лез в дебри, не проверив базовое.

Как не сгореть? Чек-лист:

🔹 Таймер для перерывов. 25 минут работы, 5 минут отдыха.
🔹 Версия 0.1 должна быть уродливой, но работающей. Не гонись за идеалом сразу.
🔹 Геймдиз-док на одной странице. Если не объяснишь игру в трёх предложениях — утонешь.
🔹 Не создавай 1000 ScriptableObject’ов в одной папке. Группируй данные, иначе проект станет свалкой.
🔹 Ищи баг с конца. Начни с последнего изменения. Git — твой друг.
🔹 День без кода — это нормально. Решение часто приходит во время отдыха.
🔹 Показывай игру другу, даже сырую. Со стороны баги виднее.

Ошибки — это не «я плохой», а «я расту». Каждый найденный баг — новый уровень.

Было похожее? 💬 Напиши — разберём. Если тема зашла, сделаю серию про частые косяки. Держись! 🚀
18🔥43🎄1
Фото игры
9🔥22
Akrus Games | Unity
Photo
Игра подписчика @MounSword_Gtima
╭˚༓─━━┉Артефакт НОВА / Artifact NOVA┉━━─༓˚╮
(Игра от Mountain Sword Studio)

Артефакт НОВА, сюжетная игра в жанре 👁‍🗨 Психологического хоррора приключения 👁‍🗨, довольно короткая, но интересная история о неизвестности и таинственном артефакте. Среднее прохождение которой займёт у вас от 15 до 30мин.

📖Предыстория:
⌛️Пару лет назад Корпорацией НОВА обнаружен загадочный артефакт на дне [ЗАСЕКРЕЧЕННО] впадины, происхождение которого неизвестно, но предположительно он был создан древней расой. По некоторым причинам артефакт не удалось поднять на сушу, поэтому пришлось разворачивать базу вокруг артефакта. На данный момент последний отчёт который обещал что следующий отчёт откроет все тайны этого артефакта был отправлен 2 месяца назад, а станция перестала выходить на связь, но при этом подаёт знаки функционирования.
🔹Группа снабжения и проверки под вашим руководством будет отправлена на базу, дабы вы установили что случилось с базой и с группой учёных. Для дальнейших указаний свяжитесь с нами через консоль связи на базе...
Стили игры переплетаются с 2д и 3д. Так же в игре есть пару очень простых мини игр - головоломок.


Поиграть в игру можно на данных платформах:

👁‍🗨 Yandex Games - телефон и PC
👁‍🗨 Itch,io - только PC (сайт заблокирован в России)

˚༓─━━┉Всем хорошего дня!┉━━─༓˚
🔥832
Что вы думаете о казуальных играх, с точки зрения игроков?
Anonymous Poll
21%
Лучшие игры 😍
21%
Игры для деградантов👎
57%
Иногда играю, но не высокого мнения о них 😐
1🔥1😁1
Привет! Ты когда-нибудь зависал на стадии выбора графики на две недели, а в итоге всё равно скачивал первые попавшиеся ассеты с itch.io? 😅

У меня так и было с моим первым «серьёзным» проектом — рпг про воина-путешественника. Я два дня гуглил «pixel art tutorial», скачал три разных набора спрайтов (все в разном стиле!), пытался их склеить в одном уровне. Получилась жуткая мешанина: воин-путешественник был из мультика, враги — мрачные пиксельные тени, а фон — вообще векторные горы. Смотрелось так, будто игра собрана из обрезков трёх разных игр. И самое обидное — я потратил кучу времени на поиск «той самой» графики, а на сам геймплей сил уже не осталось.

Я злился на себя. Казалось, вот выберу идеальные спрайты — и игра сразу станет крутой. Но на деле я просто топтался на месте, терял мотивацию и в итоге забросил проект. Потому что играть в это было стыдно даже самому.

В чём была ошибка? Я поставил телегу впереди лошади. Графика — это обёртка, а не конфета. Сначала нужно понять, что за игра у тебя под капотом.

Вот несколько простых правил, которые теперь спасают мои проекты:

1. Прототайп на квадратах и кружках. Пока твой геймплей не станет увлекательным с примитивными фигурами — к графике даже не прикасайся. Если игра с квадратиком не заходит, со спрайтом котика не зайдёт.
2. Стиль = твои навыки × сроки. Не замахивайся на сложную отрисовку от руки, если ты не художник и у тебя два месяца. Чистый пиксель-арт, минимализм, геометрические фигуры — твои друзья. Консистентность важнее сложности.
3. Укради! Не буквально, конечно. Собери референс-борд (коллаж) из игр и арта, который тебе нравится. Видишь общее? Может, это палитра, толщина контура или чувство юмора? Это и будет твоей отправной точкой.
4. Один источник — один стиль. Бери весь пак ассетов (персонаж, враги, предметы, фон) у одного автора. Если не хватает — ищи у других с максимально похожим стилем или доделывай сам, подражая.
5. Графика — это геймдизайн. Размер спрайта, его читаемость на фоне, понятная анимация атаки — это часть игрового процесса. Хорошая графика делает игру понятнее, а не просто красивее.

История с котом научила меня главному: совершенство в деталях на старте убивает проекты. Лучше корявая, но законченная игра, чем папка с идеальными, но разрозненными спрайтами в стиле «как бы красиво».

Ошибки и недели топтания — это не провал. Это самый честный способ понять, как делать надо. Просто в следующий раз начинай не с картинки, а с чувства. С той фишки, от которой сам не можешь оторваться.

А у тебя был проект, который утонул в поисках идеальной графики? Поделись в комментах, дай мне знать, что я не один такой! Если тема зашла, могу разобрать конкретные стили и где их искать. Удачи в разработке! 🚀
13🔥8🤯1😱1111
2д или 3д?
Anonymous Poll
30%
48%
22%
2.5д
🔥105🎄3🤯1
Media is too big
VIEW IN TELEGRAM
Недавно я проводил опрос в одном из чатов по моей любимой игре Hollow knight(метроидвания).

Вкратце объяснить чудо этой игры не получится, поэтому прикреплю релизный трейлер.

Вопрос был такой: "Из-за чего вам нравится hollow knight?"
И варианты ответа:
1. Графика
2. Музыка
3. Сюжет
4. Хардкорный геймплей
5. Карта
6. Что-то еще?


Спустя день большинство проголосовали за хардкорный геймплей и музыку(81%), и не много отстает графика(75%).
Меньше было у карты(т.е. мира игры)(57%) и сюжет(66%).

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

В итоге: сделайте самым лучшим, то что увидит игрок первый раз и то, что он будет видеть чаще всего. Т.е. графика и музыка - складывают впечатление об игре.

В комментах пришлю несколько саундтреков из игры.
12😁4🔥3🎄1
Сегодня активчик!
Пришлите в комментарии свою мышку и клавиатуру.
Посмотрим какие девайсы у программистов.

На фото моя мышка(bloody a70) и клава(китайская за 300 руб).

Akrus Games
11🔥3
C# Атрибуты в Unity: мета-инструкции для кода

Что это?
Специальные метки для классов, переменных или методов. Они дают подсказки движку и редактору Unity, как с ними работать.

Зачем?
- Делать переменные видимыми в Инспекторе без ключевого слова public
- Задавать диапазоны значений для ползунка
- Добавлять в контекстное меню кнопки для вызова методов
- Скрывать ненужные поля в Инспекторе

Как использовать?
Просто напиши имя атрибута в квадратных скобках [] перед элементом.

Популярные атрибуты:

[SerializeField]
Показывает private поле в Инспекторе.
[SerializeField] private int _health;


[Range(min, max)]
Создает ползунок для значения.
[Range(0f, 10f)] public float speed;


[Header("Название")]
Добавляет заголовок в Инспектор.
[Header("Player Settings")]
public int playerScore;


[Tooltip("Подсказка")]
Показывает текст при наведении курсора.
[Tooltip("Сила прыжка в ньютонах")] 
public float jumpForce;


[HideInInspector]
Прячет public поле из Инспектора.
[HideInInspector] public bool isGrounded;


Важно!
Атрибуты не меняют логику кода, а только управляют его отображением и поведением в редакторе Unity. Еще в поля можно писать только константы, не переменные!

💡 Используй, чтобы сделать процесс настройки объектов интуитивным и удобным.

Пост попросил @Cheeeeeeeb
#Unity #Unity3D #CSharp #Атрибуты #Gamedevelopment
11🔥5
⚡️ 5 C# фишек, которые прокачают твой Unity-код

Сохрани — используешь каждый день, если хочешь писать чисто и современно.

1️⃣ ?? и ??=

playerName = inputName ?? "Без имени";
list ??= new List<int>();


📌 ?? — дефолт при null, ??= — инициализация, если объект ещё не создан.

В Unity:
• Подходит для ленивой инициализации компонентов
• Отлично работает с GetComponent() и кастомными системами DI

2️⃣ switch expression

string label = state switch {
GameState.Menu => "В меню",
GameState.Playing => "Играем",
_ => "?"
};


📌 Читается лучше, чем громоздкий switch { case }, особенно в UI-слоях и инспекторных тулзах.

В Unity:
• Используй в кастомных инспекторах, отображении состояний, локализации

3️⃣ Интерполяция строк $""

Debug.Log($"Игрок: {playerName}, Очки: {score}");

📌 Быстрее и безопаснее, чем +. Упрощает логи на этапе разработки.

В Unity:
• Используй для логирования, UI-отладчика, вывода инфы в EditorWindow

4️⃣ using var (C# 8+)

using var stream = File.OpenRead(path);


📌 Безопасное использование ресурсов — автоматически закроется, даже при исключении.

В Unity:
• Полезно при работе с файлами, AssetBundle, StreamingAssets
• Работает только в .NET 4.x / Unity с C# 8+

5️⃣ readonly struct и in параметры (бонус)

readonly struct DamageInfo {
public readonly int amount;
public readonly Vector3 direction;
}

void ApplyDamage(in DamageInfo info) { ... }


📌 Меньше копий, больше производительности. Актуально в ECS и при передаче больших структур.

💬 Какие из этих ты уже используешь в Unity?
🔔 Подписывайся — будет ещё про Span<T>, LINQ и новые C# фичи в Unity

👉Akrus Games | Unity
🔥1321
Какая у вас ос на пк/ноуте?
Anonymous Poll
84%
Windows
7%
Linux
7%
Macos
2%
Что-то еще?
🔥41
Эти мемы будут всегда актуальны
🔥26😁7🎄42
Возможно, у кого-то есть старый аккаунт Google Play Разработчика (до 2023 года). Есть возможность хорошо заработать на этом.

Закрытые за неактив аккаунты тоже принимаются(их можно восстановить)


Подробнее в ЛС @Ilya01s.
12
Сразу две игры из России попали в список самых играемых игр в Steam во всем мире за 2025 год.

В топе оказались:
Escape from Tarkov — в среднем играли 31 час;
Стратегия Broken Arrow — 32 часа на игрока;

Российский геймдев развивается!
3🔥132
⚡️ Unity: 5 вещей, которые убивают оптимизацию

Твой проект лагает даже на сцене с кубиками? Скорее всего, причина в одной из этих 5 ошибок. Устрани их — и производительность сразу вырастет.

1️⃣ Бесконечный поток новых объектов (Instantiate/Destroy)

Это хаос в памяти! Создание и удаление объекта — тяжёлые операции для Garbage Collector (GC).

📌 Что делать: Используй пул объектов (Object Pooling). Создай заранее 10 пуль, 20 врагов или 100 эффектов. Переиспользуй их, а не создавай заново.

💡 Создай один раз, спрячь (SetActive(false)), доставай когда нужно.

2️⃣ Полноценный Update() там, где можно обойтись

Проверка условия в Update() 60 раз в секунду — дикая нагрузка, если это не требуется.

📌 Что делать: Вместо if (isReady) в Update() используй корутину с WaitForSeconds или InvokeRepeating. Для физики — FixedUpdate. Для событий — подписки (event/delegate).

💡 Замени void Update() на IEnumerator MyTimer() везде, где это возможно.

3️⃣ Слишком много объектов на сцене с коллайдерами

Каждый коллайдер — нагрузка на физику (Physics Engine). 100 активных Rigidbody и BoxCollider = гарантированные тормоза.

📌 Что делать: Отключай (enabled = false) коллайдеры у далёких или неактивных объектов. Для статичной декорации используй один Mesh Collider вместо сотни примитивных.

💡 Ставь Static Flag для неподвижных объектов — физический движок их оптимизирует.

4️⃣ Сырые текстуры и модели

Загрузил в проект 4K текстуру для кнопки? Модель с 100к полигонов для камня? Память съедена, а FPS упал.

📌 Что делать: Всегда сжимай текстуры (Format: ASTC, ETC2). Оптимизируй полигоны моделей. Используй спрайт-атласы для 2D.

💡 В окне Import Settings задавай максимальный размер текстуры (Max Size 1024 для фона — уже много).

5️⃣ Глобальные переменные в скриптах


Постоянные обращения типа FindObjectOfType<GameManager>() или GetComponent<>() в Update — это вызовы каждый кадр.

📌 Что делать: Кэшируй ссылки! Выполни поиск в Start() или Awake() и сохрани в приватную переменную. Обращайся уже к ней.

💡 Вместо GetComponent<Renderer>().material.color в цикле — сохрани Renderer _myRenderer один раз.

🔥 Проверь свой проект по этим пунктам прямо сейчас. Чаще всего проблема в первых трёх!

📌 Сохрани этот чек-лист перед каждым билдом.
🔔 Подписывайся — дальше будет про оптимизацию UI, Shader'ов и памяти на мобилках.

💬 А с какой проблемой сталкивался ты? Пиши в комментах!

👉Akrus Games | Unity
17🔥921
Вот мои итоги года!(канал был создан в мае, поэтому не целый год)
Статистика в целом не плохая. Просмотром, реакций, комментариев оооооооочень много. Пересылок правда мало :(
5🔥2
Где скачать музыку?
Я рекомендую сайт hitmotop. Сам пользуюсь, можно скачивать быстро и без вирусов.

if (Я.НашелСайтЛучше)
{
Напечатать.вКомментарии();
}
6🔥11
🧪 5 реальных проектов, которые прокачают твои навыки в Unity

Создай эти проекты, и твой портфолио + уровень разработки резко вырастет. Никаких “Hello World” — только рабочие механики, которые реально встречаются в инди-играх.

---

1️⃣ Arcade Runner (бесконечный раннер)

🎯 Чему научишься:
- Основы геймплейных циклов и состояния игры
- Работа с Procedural Object Placement (бесконечная генерация уровня)
- Создание базового ИИ для препятствий и врагов
- Настройка рекордов и простого UI

🔥 Ключевые технологии:
- Object Pooling для оптимизации
- Сохранение данных через PlayerPrefs
- Адаптивная генерация сложности

---

2️⃣ Roguelike Dungeon Crawler (процедурный подземелье)

🎯 Чему научишься:
- Генерация процедурных уровней (Dungeon Generation)
- Система инвентаря и пикапов
- Система жизней, урона, оружия
- Переход между комнатами и сценами

🔥 Ключевые технологии:
- Grid-система или tilemaps
- Scriptable Objects для предметов и врагов
- Финальный босс + система прогресса

---

3️⃣ 2D Tower Defense (баланс и волны)

🎯 Чему научишься:
- Работа с волнами врагов (Wave System)
- Балансировка характеристик юнитов и башен
- Построение путей для ИИ (Pathfinding)
- Экономика в игре: золото, апгрейды, стоимость

🔥 Ключевые технологии:
- A* Pathfinding или встроенный NavMesh (для 2D/3D)
- Scriptable Objects для хранения данных волн
- Event-driven архитектура для обновления UI

---

4️⃣ Физический пазл (как Angry Birds / Cut the Rope)

🎯 Чему научишься:
- Работа с физикой Unity (Rigidbody, Joints, Colliders)
- Создание интерактивных элементов (перетаскивание, разрезание, запуск)
- Уровневая система с звёздами за выполнение условий
- Сохранение прогресса по уровням

🔥 Ключевые технологии:
- Кастомизация Physics Material 2D/3D
- Реализация механики “натяжения” или “разрезания”
- Система подсчёта очков за сложность

---

5️⃣ Диалоговая RPG (в стиле детектива или визуальной новеллы)

🎯 Чему научишься:
- Диалоговая система с ветвлением (Dialogue System)
- Интеграция квестов и отслеживание выполнения
- Управление инвентарём и предметами для квестов
- Состояния персонажей и влияние выбора на сюжет

🔥 Ключевые технологии:
- Использование Scriptable Objects для диалогов и квестов
- Система событий (UnityEvents или C# events)
- Сохранение выбора игрока и загрузка сцены

---

📌 Зачем это делать?
Каждый проект закрывает конкретные скиллы, которые нужны в 90% инди-игр. Собери все 5 — и тебе будет намного проще взяться за собственную игру мечты. Главное — не копировать туториал, а добавлять свои механики и фичи.

💬 Над каким проектом работаешь сейчас? Делись в комментариях!
🔔 Подписывайся — дальше будет разбор конкретных механик для каждого типа игр.
🔥16🎄321
Присылайте свои работы в комментарии!👊
Лучшие выложу здесь!


#работыПодписчиков

🎧Akrus Games | Unity
7🔥1