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

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Привет! Ты когда-нибудь зависал на стадии выбора графики на две недели, а в итоге всё равно скачивал первые попавшиеся ассеты с 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
Игра подписчика @Cheeeeeeeb
Переделал модель винтовки, но не знаю нафига подходит ли она стилистически в игру

Канал: https://t.me/WoADev
Присылайте свои игры сюда
Akrus Games | Unity
8🎄3🔥1
Игра подписчика @sollner
Выбор - такое простое слово. Но что ты будешь делать, оказавшись на необитаемом острове? Подружишься с обитателями или отвергнешь их и сам будешь искать выход?

Продержись 3 дня и не дай умереть лисичке.

Канал: а где
Ссылка на игру: https://aliery.itch.io/the-choice
Присылайте свои игры сюда
Akrus Games | Unity
7🔥2
Игра подписчика @Frutonyana
срочно в канал меня!!!
Игра про путешествия по планете на парусно-моторном судне, можно управлять направлением движения судна через рубку. На материки можно выходить . Есть механика штормов .
срочно в канал меня!!🥹🥹😎😭😁😁😝😱😢😌😌😂

Канал: а где
Присылайте свои игры сюда
Akrus Games | Unity
🔥632