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

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Игра подписчика @pingalinux
Моя игра марбл судоку💎
Выпустила 2 недели назад и радуюсь
Уже более 3к скачиваний и несколько сотен активных игроков в день
В игре множество режимов, а также есть ачивки, лидерборд и ивенты🐈
Сейчас тружусь над уведомлениями

Канал: @LumaPlayUG
Игра: Плей маркет игры
Присылайте свои игры сюда
Akrus Games | Unity
🔥73👍2
Возможно, у кого-то есть старый аккаунт Google Play Разработчика (любого года).

Есть возможность хорошо заработать на этом.

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

По любым вопросам в ЛС @Ilya01s.
🔥5
Media is too big
VIEW IN TELEGRAM
Игра подписчика @blackdragon3129
Мой проект: Wall Walker - головоломка, где изменение гравитации стало ключевой механикой. В нём тебя ждёт:
⚙️ Множество разнообразных механик (помимо изменения гравитации)
🎨 Приятный глазу визуальный стиль
🗺 Куча уникальных уровней


Игра уже на финишной прямой, скоро релиз.

Канал: t.me/dragodev3129
Присылайте свои игры сюда
Akrus Games | Unity
🔥6
ART DOGS

Мы оформляем Steam-страницы для инди-проектов. Помогаем с капсулой, визуалом и упаковкой, чтобы игра выглядела профессионально с первого взгляда.


Что делаем:
— Полный комплект капсул для магазина и библиотеки Steam;
— Оформление фона страницы;
— Разработка логотипов;
— Геймплейные трейлеры;
— Короткие видео (Shorts, Reels, TikTok);
— Текстовое описание, гифки, скриншоты для страницы;
— Ачивки и трейд-карточки;
— Консультации по стилю, геймплею, позиционированию и оформлению;
— Тестирование проектов;
— Любое промо по договорённости;

Формат работы:
Можем выполнить задачи сдельно (по договору) или стать частью команды в формате внутренней студии.

📁 Канал с работами: https://t.me/ART_DOGS_STEAM_DESIGN

📁 Канал с отзывами: https://t.me/OTZIVARTDOGS
8👍2🔥2
⚡️ Два подхода к организации кода в Unity

Сохрани, чтобы не наступить на грабли новичка и не запутаться в собственном проекте.

Плюсы разделения скриптов:

🔹 Переиспользуемость кода
PlayerMovement, EnemyAI, Inventory — каждый скрипт делает одно дело. Можно брать готовый Movement и использовать в разных объектах.

🔹 Проще тестировать и исправлять
Нашел баг в прыжке? Открываешь только PlayerJump.cs. Не нужно копаться в 1000+ строках монолита.

🔹 Чистая архитектура
Легче расширять: добавил новый скрипт — новая механика готова. Не ломаешь существующий код.

Минусы чрезмерного разделения:

🔸 Сложность управления
10+ скриптов на одном объекте? Придется настраивать связи между ними через GetComponent<> или события.

🔸 Потеря производительности
Частые вызовы GetComponent<> и межскриптовые события могут тормозить, особенно на мобильных устройствах.

🔸 "Ад зависимостей"
Скрипт А зависит от Б, Б от В, В от А... Запутал сам себя.

💡 Золотая середина:

1️⃣ Разделяй по ответственности
Движение → отдельный скрипт
Стрельба → отдельный скрипт
Здоровье → отдельный скрипт

2️⃣ Но не дроби без нужды
Не создавай 10 скриптов для 10 кнопок. Логика UI может жить в одном скрипте.

3️⃣ Используй компонентный подход Unity
Это его философия! Каждый скрипт — компонент с конкретной задачей.

📌 Вывод: разделяй логично, но не фанатично. 3-5 скриптов лучше 15 и лучше 1 монстра на 2000 строк.

💬 А как ты организуешь код? Пиши в комментах!
🔔 Подпишись — еще больше про архитектуру, C# и юнити-лайфхаки.

👉Akrus Games | Unity
🔥101👍1
⚡️ Unity: Интерфейсы в C# — сила контрактов

Интерфейс — это контракт, который гарантирует, что класс умеет делать определённые действия. Неважно, кто его подписал — игрок, враг или бочка. Главное — они все могут выполнить условия контракта.
В интерфейсах в c# не принято делать реализацию функций, свойств, только объявление.

🔥 Зачем это в играх?

Допустим, у тебя есть меч, который может бить врагов и ломать бочки. Без интерфейсов — это ад из if (collider.GetComponent<Enemy>() != null)... С интерфейсами — чисто и гибко.

Можно наследовать от любого количества интерфейсов, в отличии от наследования от классов.

Если мы хотим сделать приватное свойство для реализующего интерфейс класса, мы можем не указывать set в свойстве интерфейса

🎯 Реальный пример: взаимодействие с объектами

public class Bullet : MonoBehaviour
{
private const int _damage = 10;

private void CheckHit()
{
//проверка столкновений с IHealth
hitObj.TakeDamage(_damage);
}
}

public class Player : MonoBehaviour, IHealth
{
// Реализация свойства
public int Health { get; private set; }
// Прочие поля
// Прочии свойства
// Прочии функции

// Реализация функции
public void TakeDamage(int damage) =>
Health -= damage;
}

public interface IHealth
{
// Обьявление свойства Health
int Health { get; }
// Обьявление функции TakeDamage
void TakeDamage(int damage);
}


💡 Два главных плюса:

🔸 Гибкость — добавляй новые разрушаемые объекты без изменения кода меча
🔸 Чистота — избавляешься от гигантских цепочек проверок через GetComponent

🚀 Где ещё использовать?

IInteractable для взаимодействия с NPC, дверями, предметами
ICollectable для сбора монет, аптечек, боеприпасов
ISaveable для системы сохранений

💬 Используешь интерфейсы в своих проектах? Делися в комментах!

🔔 Подпишись — ещё больше C# фишек для геймдева

Пост помог написать @Nokskiy
👉Akrus Games | Unity
🔥76👍1
⚡️ 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
🔥7👍21
Forwarded from REPUBLIC78
Открыта регистрация на участие в 9-ом сезоне федеральной программы развития молодежного предпринимательства "Я В ДЕЛЕ" в Санкт-Петербурге.

Наша команда основала проект Republic для того чтобы помочь командам в сфере креативных индустрий развить свой продукт.

💬 Из основного, что мы предоставляем всем желающим:
🟢Предпринимательский курс для разработчиков игр, состоящий из 8 блоков.
🟢Практика выступления перед экспертами в бизнесе.
🟢Личный наставник, который будет вам помогать.
🟢Призовой фонд "Я В ДЕЛЕ" — 1 000 000 рублей.
🟢Летний интенсив по работе с издательствами.
🟢Шоу-кейсы на региональном уровне.

🤩 Для кого?
🟢Для студентов от 18 лет проживающих в Петербурге/ЛО.
🟢Для тех, кто ищет команду или нет проекта.
🟢Для инди-команд с техно-демкой или полноценным проектом.

⌚️ Таймлайн
🟢21 марта — Открытие
🟢Апрель — Хакатон (аккредитация проекта) и шоу-кейсы.
🟢Май — финальная защита перед жюри и закрытие 9 сезона.
🟢Июнь-Август — Летний интенсив по работе с издательствами.


➡️ Для участия в конкурсе хватит идеи проекта, так что ждем всех желающих. Оставляйте заявку в форме

❗️РЕГИСТРАЦИЯ ДО 20 МАРТА.

По всем вопросам пишите: @Oleg_Leyfman
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
Forwarded from Akrus Games | Unity (卂Ҝ尺ㄩ丂)
⚡️ Unity: шпаргалка по библиотекам в C#

Сохрани эту шпаргалку! Библиотеки — это как суперспособности для твоего кода. Не пиши велосипеды, используй готовые и проверенные решения.

1️⃣ LINQ (Language Integrated Query)

🎯 Для чего: Упрощает работу с коллекциями (массивы, списки). Фильтрация, сортировка, поиск — в одну строку.

💡 Простой пример:
// Найти всех врагов с здоровьем > 50
var strongEnemies = enemiesList.Where(e => e.health > 50);

// Получить список только имён
var names = enemiesList.Select(e => e.name);

📌 using System.Linq; — не забудь эту директиву!

2️⃣ Newtonsoft.Json (JSON.NET)

🎯 Для чего: Самый популярный инструмент для работы с JSON. Сохранение данных настроек, загрузка конфигов с сервера.

💡 Простой пример:
// Сериализация объекта в JSON-строку
string json = JsonConvert.SerializeObject(playerData);

// Обратно из строки в объект
PlayerData loadedData = JsonConvert.DeserializeObject<PlayerData>(json);

📌 Ставь через Package Manager (NuGet) или из Asset Store.

Итог: Освой LINQ — будешь быстро управлять данными. Подключи Newtonsoft.Json — легко работать с сохранениями и API.

📌 Сохрани, чтобы не забыть синтаксис!
💬 Какие библиотеки используешь ты? Делись в комментариях!
🔔 Подпишись — каждый день полезности по C# и Unity!

👉Akrus Games | Unity
7🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Собираем GAMEDEV-комьюнити 🚨 +бонус

Настоящие результаты приходят, когда сильное комьюнити объединяется, делится опытом и помогает друг другу расти.


APOLLO MONETIZATION прямое тому подтверждение: всего за полгода доход наших клиентов вырос в 2 раза.

Именно поэтому мы решили построить экосистему для разработчиков.

Эксклюзивно
для участников чата мы регулярно проводим:
➡️ Мастер-классы с ведущими экспертами индустрии с интерактивом с аудиторией.
➡️ Q&A сессии по вашим самым актуальным запросам, где каждый вопрос найдет исчерпывающий ответ.
➡️ Бесплатные марафоны по масштабированию проектов.

Спойлер: прямо сейчас готовим коллаб с одной крупной мобильной площадкой, на днях анонс 🤫

Если ты создаешь игры или мобильные приложения — это твой левел-ап в монетизации.

🎁БОНУС: для всех участников чата БЕСПЛАТНЫЙ индивидуальный аудит проекта от экспертов (подробности в закрепе чата)!

🅰️ Присоединяйся к комьюнити: t.me/gamedev_monetization
🔥41
Присылайте свои работы в комментарии!👊
Лучшие выложу здесь через 24 часа!


Присылайте лучше видео. Хороший компрессор https://tools.rotato.app/compress, если не грузит используйте https://github.com/codeforreal1/compressO

Для новеньких поясняю: по сути это бесплатная реклама вашей игры и канала, только если у вас реально крутая игра)


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

🎧Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
41🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Игра подписчика @sollner
Продолжаю делать десктоп-айдлер игру. Закончил с шейдером, наконец выглядит именно так, я хотел. Начал делать машину состояний. В скором времени будут появляться путники и приносить свои истории.
Сейчас проект переехал на годот, так как он лучше работает с рабочим столом и "виджет"-стилем

Канал: а где
Присылайте свои игры сюда
Akrus Games | Unity
👍74🔥3
Игра работа подписчика @ryadevn
лопата самая убогая
а топор уже немного получше
ух, последний раз кидал свои работы год назад

Канал: а где
Присылайте свои игры сюда
Akrus Games | Unity
65🎄3
Игра работа подписчика @MounSword_Gtima
Внешне я конечно шут, но в душе король!
Терентий @Автор: Акрус

🏵 ОБ ИВЕНТЕ 🏵

Всем хорошей и приятной недели!

Канал: https://t.me/MSwordStudio
Присылайте свои игры сюда
Akrus Games | Unity
6😁3👍2🔥1