🔥6❤2 1
Игра подписчика @avetrill4real
Канал: https://t.me/ventadynamics
Присылайте свои игры сюда
Akrus Games | Unity
Самое крупное и долгожданное обновление. Речь идёт о мультиплеере.
Эмоции при первых тестах, проведённых не локально, а дистанционно на разных устройствах, просто не передать словами. Это было круто!
Почти вся архитектура механик была переписана под сетевое взаимодействие, реализовано подключение по принципу «клиент-сервер» (P2P) через Steam Lobby, прикручены всякие технические мелочи в виде корректного сохранения и передачи мира при перезаходе в комнату, а также визуальные, например, уведомление о входе игрока в комнату (система уведомлений о ачивках, тратах и т.д. в целом), курсор другого игрока.
Большая работа также была проделана над отловом и фиксом багов с сетевой экономикой, которые целиком и полностью ломали начисление средств, и любой игрок становился миллиардером за секунды. Это было сложно, но задача выполнена!
На текущий момент это самая большая итерация разработки, которая затронула почти все элементы проекта.
Канал: https://t.me/ventadynamics
Присылайте свои игры сюда
Akrus Games | Unity
🔥4❤1
Привет, маи чуваки!
Я сделал еще один обучающий канал, на этот раз по питону!
https://t.me/PYTH0N_PR0
В нем также будут обучающие гайды и фишки питона, НО поскольку я сильно шарю в питоне, я буду все писать сам от руки.
Так что подписывайтесь чтобы стать настоящим ПРО!
https://t.me/PYTH0N_PR0
Я сделал еще один обучающий канал, на этот раз по питону!
https://t.me/PYTH0N_PR0
В нем также будут обучающие гайды и фишки питона, НО поскольку я сильно шарю в питоне, я буду все писать сам от руки.
Так что подписывайтесь чтобы стать настоящим ПРО!
https://t.me/PYTH0N_PR0
❤7🔥1
Media is too big
VIEW IN TELEGRAM
С новым годом, маи чуваки!
Участники этого видео: https://t.me/addlist/gUG24bKxIdg3ZTIy
Участники этого видео: https://t.me/addlist/gUG24bKxIdg3ZTIy
❤11
Что вам подарили на новый год? Присылайте в комментарии!
Мне подарили механическую клавиатуру(она на видео)
Мне подарили механическую клавиатуру(она на видео)
This media is not supported in your browser
VIEW IN TELEGRAM
❤13🔥6 1
1😁10❤1
⚡️ Количество задаваемых вопросов на StackOverflow близится к нулю.
Спад начался еще пару лет назад с появлением ИИ, но сейчас достиг рекордно низких значений.
👆 Так, за весь декабрь поступило всего 3800 вопросов, а за первые дни января ~300.
Спад начался еще пару лет назад с появлением ИИ, но сейчас достиг рекордно низких значений.
👆 Так, за весь декабрь поступило всего 3800 вопросов, а за первые дни января ~300.
😱13 1
Какое у вас разрешение монитора? укажите ближайшее
Anonymous Poll
63%
1920 × 1080 (Full HD)
9%
3840 × 2160 (4к)
30%
2560 × 1440 (2к)
3%
1366 × 768 (HD)
9%
3440 × 1440 (Ultra Wide)
❤6🔥2
⚡️ SOLID в Unity: пиши код, который не сломается через месяц
Сохрани — эти 5 принципов спасут твой проект от бардака, когда ты начнёшь добавлять новую фичу в старую игру.
S — Единая ответственность (Single Responsibility)
Класс должен делать что-то одно. Не создавай монстров вроде
✅ Правильно:
O — Открытость/закрытость (Open/Closed)
Код должен быть открыт для расширения, но закрыт для изменений.
Допустим, у тебя система урона. Не пиши
✅ Правильно: создай базовый класс
L — Подстановка Лисков (Liskov Substitution)
Наследник должен уметь всё то же, что и родитель. Если твой
✅ Правильно: не переопределяй методы базового класса так, чтобы они ломали логику (например,
I — Разделение интерфейсов (Interface Segregation)
Не заставляй класс реализовывать то, что ему не нужно. Не создавай монстро-интерфейс
✅ Правильно: сделай узкие интерфейсы
D — Инверсия зависимостей (Dependency Inversion)
Завись от абстракций (интерфейсов), а не от конкретных классов.
Не пиши в коде
✅ Правильно:
💎 Итог: SOLID — это про то, чтобы добавлять фичи быстро, а не разгребать баги неделями. Начни с принципов S и O — они дают самый заметный эффект.
💬 Какой принцип для тебя самый полезный?
📌 Сохрани шпаргалку.
🔔 Подпишись — дальше будем разбирать паттерны в геймдеве.
👉Akrus Games | Unity
Сохрани — эти 5 принципов спасут твой проект от бардака, когда ты начнёшь добавлять новую фичу в старую игру.
S — Единая ответственность (Single Responsibility)
Класс должен делать что-то одно. Не создавай монстров вроде
PlayerController, который и двигается, и стреляет, и UI обновляет.✅ Правильно:
PlayerMovement, PlayerShooter, PlayerHealth — отдельные скрипты. Меняешь движение — не трогаешь логику выстрела.O — Открытость/закрытость (Open/Closed)
Код должен быть открыт для расширения, но закрыт для изменений.
Допустим, у тебя система урона. Не пиши
if (enemy is Goblin) {...} else if (enemy is Dragon) {...}.✅ Правильно: создай базовый класс
Enemy с виртуальным методом TakeDamage(). Для нового типа врага просто создай новый класс — старый код менять не придётся.L — Подстановка Лисков (Liskov Substitution)
Наследник должен уметь всё то же, что и родитель. Если твой
FlyingEnemy наследуется от Enemy, он должен корректно работать во всех сценариях, где используется Enemy.✅ Правильно: не переопределяй методы базового класса так, чтобы они ломали логику (например,
Move() в наследнике не должен телепортировать объект, если в базовом классе это плавное движение).I — Разделение интерфейсов (Interface Segregation)
Не заставляй класс реализовывать то, что ему не нужно. Не создавай монстро-интерфейс
IUnit с методами Move(), Shoot(), Build().✅ Правильно: сделай узкие интерфейсы
IMovable, IAttackable, IBuilder. Класс Turret реализует только IAttackable, а Worker — IMovable и IBuilder.D — Инверсия зависимостей (Dependency Inversion)
Завись от абстракций (интерфейсов), а не от конкретных классов.
Не пиши в коде
public Rifle currentWeapon;.✅ Правильно:
public IWeapon currentWeapon;. Теперь можно подсунуть любое оружие — пистолет, меч, гранату — и система будет работать. Идеально для быстрого прототипирования и тестов.💎 Итог: SOLID — это про то, чтобы добавлять фичи быстро, а не разгребать баги неделями. Начни с принципов S и O — они дают самый заметный эффект.
💬 Какой принцип для тебя самый полезный?
📌 Сохрани шпаргалку.
🔔 Подпишись — дальше будем разбирать паттерны в геймдеве.
👉Akrus Games | Unity
🔥13❤4 2
⚡️ Unity: Классы, Наследование — Базовый Арсенет для Логичной Архитектуры
Сохрани — эти два подхода разложат архитектуру твоей игры по полочкам. Понял их — избежишь спагетти-кода, когда игра растёт.
🧱 Классы в Unity — это чертежи твоих объектов
Они описывают, что объект может делать и какие данные хранить. Всё в C# построено на классах. В Unity каждый твой скрипт — по умолчанию класс.
🔄 Наследование — Когда «Враг» и «Босс» имеют общее
Зачем копировать один и тот же код? Создай базовый класс и унаследуй от него.
🎯 Вариант 1: Классическое наследование (Иерархия «is-a»)
Идеально, когда у объектов общая логика, но есть специфика.
➡️ Когда использовать: Чёткая иерархия (например,
🎯 Вариант 2: Композиция + ScriptableObject (Гибкость «has-a»)
Чаще используется в современных подходах. Разделяй данные и поведение.
➡️ Когда использовать: Нужна быстрая настройка и вариативность (10 типов врагов с разными HP/уроном). Легко балансить игру без изменения кода.
💎 Итог:
• Наследование — строй иерархию «от общего к частному».
• Композиция (использование отдельных классов/данных) — чаще практичнее в геймдеве.
• В Unity MonoBehaviour — уже базовый класс. Твои скрипты наследуются от него.
📌 Правило для инди: Начинай с простого наследования для 2-3 типов врагов. Когда появится 10+ типов с кучей параметров — выноси данные в ScriptableObject.
💬 Твой код больше похож на первый или второй вариант? Делись в комментах!
🔔 Подпишись — дальше разберём интерфейсы и абстрактные классы на реальных примерах из игр.
👉Akrus Games | Unity
Сохрани — эти два подхода разложат архитектуру твоей игры по полочкам. Понял их — избежишь спагетти-кода, когда игра растёт.
🧱 Классы в Unity — это чертежи твоих объектов
Они описывают, что объект может делать и какие данные хранить. Всё в C# построено на классах. В Unity каждый твой скрипт — по умолчанию класс.
public class Enemy
{
public int health = 100;
public void Attack() { /* Логика атаки */ }
}
🔄 Наследование — Когда «Враг» и «Босс» имеют общее
Зачем копировать один и тот же код? Создай базовый класс и унаследуй от него.
🎯 Вариант 1: Классическое наследование (Иерархия «is-a»)
Идеально, когда у объектов общая логика, но есть специфика.
// Базовый класс для ВСЕХ врагов
public class Enemy : MonoBehaviour
{
[SerializeField] protected int health; // protected — видно в наследниках
public virtual void TakeDamage(int damage)
{
health -= damage;
Debug.Log($"Enemy health: {health}");
}
}
// Конкретный тип врага
public class FlyingEnemy : Enemy
{
public override void TakeDamage(int damage)
{
base.TakeDamage(damage); // Вызов метода из родителя
// Уникальное поведение для летающего врага
if (health < 30) FlyAway();
}
}
➡️ Когда использовать: Чёткая иерархия (например,
Enemy → MeleeEnemy / RangedEnemy). Логика общая, но дополняется.🎯 Вариант 2: Композиция + ScriptableObject (Гибкость «has-a»)
Чаще используется в современных подходах. Разделяй данные и поведение.
// Данные врага вынесены в отдельный объект
[CreateAssetMenu]
public class EnemyData : ScriptableObject
{
public int health;
public int damage;
public GameObject prefab;
}
// Основной класс врага использует данные
public class Enemy : MonoBehaviour
{
public EnemyData data;
private int currentHealth;
void Start()
{
currentHealth = data.health; // Берём данные из ScriptableObject
}
}
➡️ Когда использовать: Нужна быстрая настройка и вариативность (10 типов врагов с разными HP/уроном). Легко балансить игру без изменения кода.
💎 Итог:
• Наследование — строй иерархию «от общего к частному».
• Композиция (использование отдельных классов/данных) — чаще практичнее в геймдеве.
• В Unity MonoBehaviour — уже базовый класс. Твои скрипты наследуются от него.
📌 Правило для инди: Начинай с простого наследования для 2-3 типов врагов. Когда появится 10+ типов с кучей параметров — выноси данные в ScriptableObject.
💬 Твой код больше похож на первый или второй вариант? Делись в комментах!
🔔 Подпишись — дальше разберём интерфейсы и абстрактные классы на реальных примерах из игр.
👉Akrus Games | Unity
🔥7❤4👍1 1
БЕСПЛАТНЫЙ ассет GIZMO MONSTER
Этот набор содержит 6 монстров с анимацией
Используйте размер 32x32, подходит для фэнтези, данженов и игр на выживание, и он будет продолжать обновляться!
Ссылка
Этот набор содержит 6 монстров с анимацией
Используйте размер 32x32, подходит для фэнтези, данженов и игр на выживание, и он будет продолжать обновляться!
Ссылка
🔥5❤1👎1 1
Как создавать собственные классы и наследовать их в C# Unity
Классы — это шаблоны для объектов. Наследование помогает экономить время.
Представь, что ты строишь домики из кубиков. Класс — это набор инструкций, как сложить кубики. Наследование — когда ты берёшь готовый домик и добавляешь к нему крышу или окно, не перестраивая всё заново. В Unity так можно делать с объектами: взять базовый класс (например, «Персонаж») и создать на его основе «Воина» или «Мага», добавив особые умения.
Шаг 1. Создаём базовый класс
Открой Unity, создай новый C#‑скрипт (через контекстное меню в Assets → Create → C# Script). Назови его, например,
Отредактируй скрипт:
Что тут есть:
-
-
-
Шаг 2. Создаём класс‑наследник
Создай ещё один скрипт, назови его
Отредактируй скрипт:
Что изменилось:
-
-
-
Шаг 3. Проверяем в Unity
1. Создай пустой GameObject на сцене (правый клик в иерархии → Create Empty).
2. Прицепи к нему скрипт
3. Запусти игру и посмотри в Console — при вызове
Важные моменты
Наследуй, чтобы не писать код заново.
Классы — это шаблоны для объектов. Наследование помогает экономить время.
Представь, что ты строишь домики из кубиков. Класс — это набор инструкций, как сложить кубики. Наследование — когда ты берёшь готовый домик и добавляешь к нему крышу или окно, не перестраивая всё заново. В Unity так можно делать с объектами: взять базовый класс (например, «Персонаж») и создать на его основе «Воина» или «Мага», добавив особые умения.
Шаг 1. Создаём базовый класс
Открой Unity, создай новый C#‑скрипт (через контекстное меню в Assets → Create → C# Script). Назови его, например,
Character.Отредактируй скрипт:
using UnityEngine;
public class Character : MonoBehaviour
{
public int health = 100;
public float speed = 5f;
public virtual void TakeDamage(int damage)
{
health -= damage;
Debug.Log("Урон получен! Здоровье: " + health);
}
}
Что тут есть:
-
public int health = 100 — здоровье персонажа (число).-
public float speed = 5f — скорость движения (дробное число).-
TakeDamage — метод, который уменьшает здоровье при получении урона.Шаг 2. Создаём класс‑наследник
Создай ещё один скрипт, назови его
Warrior.Отредактируй скрипт:
using UnityEngine;
public class Warrior : Character
{
public int shield = 20;
public override void TakeDamage(int damage)
{
int finalDamage = damage - shield;
if (finalDamage > 0)
{
health -= finalDamage;
}
Debug.Log("Воин получил урон! Здоровье: " + health + ", щит: " + shield);
}
}
Что изменилось:
-
public class Warrior : Character — говорим, что Warrior наследует Character.-
public int shield = 20 — добавили щит (новое свойство).-
override void TakeDamage — переопределили метод, чтобы учитывать щит.Шаг 3. Проверяем в Unity
1. Создай пустой GameObject на сцене (правый клик в иерархии → Create Empty).
2. Прицепи к нему скрипт
Warrior (перетащи скрипт на объект в инспекторе).3. Запусти игру и посмотри в Console — при вызове
TakeDamage ты увидишь логи с учётом щита.Важные моменты
Наследуй, чтобы не писать код заново.
🔥6👎3❤1
Forwarded from Baxx Studio | Unity GameDev
Возможно, у кого-то есть старый аккаунт Google Play Разработчика (до 2023 года). Есть возможность хорошо заработать на этом.
Закрытые за неактив аккаунты тоже принимаются(их можно восстановить)
По любым вопросам в ЛС @Ilya01s.
Закрытые за неактив аккаунты тоже принимаются(их можно восстановить)
По любым вопросам в ЛС @Ilya01s.
❤9🔥3 1
Akrus Games | Unity pinned «Возможно, у кого-то есть старый аккаунт Google Play Разработчика (до 2023 года). Есть возможность хорошо заработать на этом. Закрытые за неактив аккаунты тоже принимаются(их можно восстановить) По любым вопросам в ЛС @Ilya01s.»
Как вам новый формат постов?
Я решил сделать акцент на доступность новичкам.
Я решил сделать акцент на доступность новичкам.
Anonymous Poll
40%
Имба
21%
Верни старый формат
19%
Пойдет
19%
тык
❤2
Присылайте свои работы в комментарии!👊
Лучшие выложу здесь!
Присылайте лучше видео. Хороший компрессор https://tools.rotato.app/compress
#работыПодписчиков
🎧Akrus Games | Unity
Лучшие выложу здесь!
#работыПодписчиков
🎧Akrus Games | Unity
👍3