Devlog без QA | Розробка ігор – Telegram
Devlog без QA | Розробка ігор
641 subscribers
204 photos
61 videos
402 links
Unity/Новини/Ідеї/Натхнення й інший якісний (а можливо і не дуже) контент тут!

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
💥 Unity-розробники тепер можуть продавати без комісії 30%! [Інфа]

Xsolla випустила новий SDK для Unity, який дозволяє приймати платежі та продавати контент напряму гравцям, минаючи Google Play та App Store.

📌 Різниця з Unity IAP:
Unity IAP → прив’язка до магазинів, комісія до 30%, обмеження правил платформ.
Xsolla SDK → ваш власний магазин, прямі платежі, повний контроль над цінами, офферами та даними гравців.

🔥 Що всередині:
• Кросплатформа: iOS, Android, ПК, веб.
• 1000+ способів оплати у 200+ країнах 🌍
• Підписки, бандли, персональні пропозиції.
• Автоматичні податки, захист від шахрайства, обробка повернень.

🎯 Ідеально для інді та студій, які хочуть заробляти більше та працювати на своїх умовах.

💻 | GAMEDEV UA | #новини #Unity #монетизація #Xsolla
🔥8👍61
🔥 Як рендерити 2 мільйони об’єктів на 120 FPS в Unity?

Один Update() замість сотень
Не використовуй тисячі MonoBehaviour з Update(). Один менеджер керує всім.

Кешуй transform

transform.position у кожному кадрі це дорого. Збережи посилання один раз. [Детальніше]

GPU Instancing
Один Draw Call для сотень моделей і FPS росте.

Jobs + Burst
Важкі обчислення переносяться в багатопотоковість. Burst робить код блискавичним.

ECS (Entity Component System)
Дані компактні та оновлюються пачками. Мінімальне навантаження на CPU.

DrawMeshInstancedIndirect + ComputeBuffers
Робота переноситься на GPU, CPU відпочиває, сцена літає.

Кешуй Camera.main
Camera.main кожного разу шукає об’єкт у сцені. Знайди один раз і збережи.

▶️ [Детальніше тут] 👈

💡 Як це працює разом:
ECS зберігає дані щільно в пам’яті → Jobs + Burst обчислюють оновлення у багатопотоковості → ComputeBuffers передають дані на GPUDrawMeshInstancedIndirect малює всі об’єкти одним викликом.

💻 | GAMEDEV UA | #оптимізація #рендер #render #GPU
🔥8❤‍🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Хочете рухатися по похилих поверхнях у 2D в Unity? 😍

Тепер це легко з Rigidbody2D.Slide() — обробляє кути, ковзання та визначення поверхонь!

💻 | GAMEDEV UA | #туторіал #Ковзання #Рух #RigidBody2D
👍14❤‍🔥1
4 підлі помилки в коді, які тихо вбивають твій проєкт ⚠️

Не кожен «поганий запах» коду відчутний одразу. Але потім вони перетворюють будь-яку фічу на кошмар. Дивись:

1. Temporary Field
public class Enemy : MonoBehaviour
{
private Path path; // Використовується лише в одному методі!

void Start() {
path = FindObjectOfType<Path>();
}

void UpdatePath() {
path.Recalculate();
}
}

Чому це сміття? Поле path потрібне лише в UpdatePath(), але займає пам'ять завжди.

Як виправити:
void UpdatePath() {
var path = FindObjectOfType<Path>();
path.Recalculate();
}

Або передавай залежності через параметри.

2. Switch Statements
switch (enemyType)
{
case EnemyType.Melee:
AttackMelee();
break;
case EnemyType.Range:
AttackRange();
break;
}

Чому це жах? Додав нового ворога то міняй код скрізь.

Використовуй поліморфізм:
public abstract class Enemy : MonoBehaviour
{
public abstract void Attack();
}

public class MeleeEnemy : Enemy
{
public override void Attack() { /* melee attack */ }
}

public class RangeEnemy : Enemy
{
public override void Attack() { /* range attack */ }
}


3. Shotgun Surgery
Що це? Ти змінив логіку підрахунку очок і мусиш лізти в Enemy, UIManager, GameManager, SaveSystem...

Використовуй C# Events:
public static event Action<int> OnScoreChanged;

Або ScriptableObject як Event Channel, він дозволяє від’єднати залежності між системами.

4. Refused Bequest
Ти зробив BaseEnemy з купою методів, але в BossEnemy більшість не потрібна. Він просто «успадкував за компанію».

Рішення:
• Забери зайву логіку в сервіси і додай через композицію.

Це означає, що замість спадкування базового класу з усім підряд, роби окремий клас для потрібної поведінки й використовуй його всередині.


📺 [Детальніше] ▶️

Зберігай, якщо цікаво 😉

💻 | GAMEDEV UA | #уроки #unity #CSharp
🔥8🥰1
🕹 Gamepad UI / Controller Prompts Pack

📦 Завантажити 👈

Там ще купа елементів у такому ж стилі. Як вам? 🔥

💻 | GAMEDEV UA | #корисне #UI #текстури
🔥9
📊 Чи стають ігри коротшими у 2024–2025?

Геймери дедалі частіше кажуть: “Нема часу на 100-годинні марафони”. А розробники справді скорочують проєкти. Чому так відбувається і що показують дані?

🔍 Факти та тренди [Інфа]
✔️ Менше часу на ігри: 66% геймерів проводять <10 годин на тиждень, а 36–40% усього 5 год.
✔️ Конкуренція за увагу: у 2024 лише 23% ігрового часу йшло на нові релізи. Решта на старі хіти.
✔️ Довгі ігри менше проходять: у багатьох AAA до фіналу доходять <50% гравців, у деяких лише 25%.

🎮 Як реагує індустрія?
Ubisoft зменшує масштаби: Assassin’s Creed Mirage 20–23 год, проти 80+ у Valhalla.
Hellblade II: 6–8 год сюжету за $50 викликало дискусії, але без «гри заради розтягування».
Stellar Blade: 20–25 год золота середина.
Avowed: два режими 15 год швидкого проходження або 40+ для фанатів глибини.

📈 Чому саме так?

Сьогодні гравці мають мало вільного часу: соцмережі, серіали й реальне життя постійно конкурують за їхню увагу. AAA-ігри залишаються дорогими у виробництві; інвестиції в роздутий контент рідко окуповуються, якщо користувачі навіть не доходять до фінальних титрів.

Скорочення тривалості проєктів дозволяє зменшити виробничі витрати, зробити продукт більш доступним і підвищити шанси на його проходження.

💬 Що каже спільнота?
«Хочу гру на 7–10 годин, щоб пройти за вихідні» або «100 годин у світі Elden Ring? Дайте дві!»

А чого хочете особисто ви? До якого формату ви тяжієте? Діліться у коментарях 👇

💻 | GAMEDEV UA | #запитання #ShortGames #ГеймТренди #GamingTrends
🔥10🥰1
🚀 Unity 6.2 — новий стабільний реліз!

Unity 6.2 тепер підтримується для продакшну і готовий до використання в ваших проєктах.

🧠 Unity AI Beta
Вбудований прямо в редактор. Допомагає прискорити робочий процес, автоматизувати задачі та генерувати контент.

Unity Points безкоштовні та без обмежень під час бета.

📱 Android XR Updates
Пакет Android XR тепер верифікований та готовий для продакшну.

• Підтримка hand mesh
• Динамічна частота оновлення
• Visibility mesh occlusion (краща продуктивність URP на мобільному XR)

🖼 Graph Toolkit
Створення кастомних графових інструментів у редакторі. [Детальніше]

🧱 Mesh LOD
Автоматичне генерування LOD при імпорті моделей. [Детальніше]

🌐 World Space UI для UI Toolkit
Рендер UI прямо у 3D-просторі. [Детальніше]

🔐 Developer Data Framework
Більше прозорості та контролю над даними. [Детальніше]

🩺 Нові Diagnostics
Покращені звіти про креші та ANR, реальний час продуктивності. [Детальніше]

Unity 6.2 — Supported release, тож отримує повну LTS-підтримку. Можна апгрейдитися без ризику для стабільності.

💻 | GAMEDEV UA | #новини #unity #unityrelease
8👍21🥰1
Фінальний мем тижня!

Зв'язок з автором: @DevAndrew 👈

Бот з блек-лістом: @IndieSafeBot
(Бот тимчасово не працює. Переставляємо на інший сервер)

📌 І пам'ятаємо про #теги, що вони тут не просто так (детальніше в самому першому закріпі)

✈️ Gamedev | #меми
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15🥰1
📌 Підсумок публікацій за тиждень:

Почнемо з основного - @IndieSafeBot припинив свою роботу на декілька днів.

🔔З навчальних матеріалів:
Різниця між Awake, OnEnable i Start
🤑 Як рендерити велику кі-сть обєктів
🆘 4 помилки в коді, які гублять твій проєкт

🗞 Новини:
💵 Unity-розробники тепер можуть продавати без комісії 30%!
🚀 Unity 6.2 — новий стабільний реліз!

🗣 Цікаві обговорення:
📉 Чи стають ігри коротшими у 2024–2025?
🤖 Чи готові ми до світу, де все створює ШІ?

⚒️Ну і просто корисне:
🖌 Harmony Palette (Aseprite)
🛹 Рух на похилих поверхностях
📌 Gamepad UI / Controller Prompts Pack

📋 Для вашої зручності ми це все зібрали в один пост, повертайтеся та надолужуйтесь, якщо щось пропустили 😉

💻 | GAMEDEV UA | [Підтримка каналу тут]
🔥12👍2
🚦Як працюють LayerMask у Unity?

Уяви, що у тебе 100 об'єктів на сцені. Але Raycast має влучити тільки у ворогів, а не в усе підряд. Як це зробити? 🤔

👉 Тут в гру вступає LayerMask, спосіб сказати Unity: “шукати тільки на цих шарах”.

📦 Що таке LayerMask?
LayerMask - це бітова маска, яка дозволяє обирати які саме шари враховувати, коли ти викликаєш Raycast тощо.

У Unity кожен Layer це число від 0 до 31, а LayerMask зберігає інформацію про те, які шари включені, у вигляді 32-бітного числа.
✔️ Кожен біт у цьому числі відповідає одному Layer.
✔️ Якщо біт = 1 → шар активний для перевірки.
✔️ Якщо біт = 0 → шар ігнорується.

🧪 Приклад:
int layerMask = LayerMask.GetMask("Enemy");

if (Physics.Raycast(transform.position, transform.forward, out RaycastHit hit, 100f, layerMask))
{
Debug.Log("Enemy hit!");
}

👆 GetMask("Enemy") повертає маску, яка дозволяє влучити тільки в об'єкти на шарі “Enemy”.

🧠 Хак:
Можна комбінувати шари:
int mask = LayerMask.GetMask("Enemy", "Obstacle");

Або навіть вручну:
int mask = (1 << LayerMask.NameToLayer("Enemy")) | (1 << LayerMask.NameToLayer("Obstacle"));


⚡️ Керування колізіями між шарами

У Unity можна налаштувати, які шари можуть фізично контактувати, а які проходять повз один одного:

1. Меню: Edit → Project Settings → Physics (3D) або Physics2D (2D).
2. Прокрути вниз до Layer Collision Matrix.
3. Галочка = шари взаємодіють, знята = шари ігнорують один одного.

Приклад:
• Знімаємо галочку Player ↔️ Enemy → гравець і вороги не стикаються.
• Галочка Player ↔️ Ground залишена → гравець продовжує ходити по землі.

▶️ Як працює LayerMask у Unity
👈

🛠 Навіщо це знати?
• Оптимізація: Raycast не перевіряє зайве
• Фільтрація: Вибіркові взаємодії
• Безпека: обробка тільки тих шарів, які потрібні


💻 | GAMEDEV UA |#уроки #layermask #шари
🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Add Inbetween Frames - твоя анімація без зайвої рутини!

Втомився вручну малювати кожен кадр для плавної анімації? 😅

Скрипт Add Inbetween Frames з NxPA Studio робить це за тебе!

Що він робить:
• Автоматично додає проміжні кадри між існуючими
• Працює з групами шарів та зберігає їхню структуру
• Можна обирати, де і скільки кадрів додати
• Ідеально підходить для walk cycles, рухів персонажів і ефектів

💡 Після встановлення скрипт буде в File → Scripts або через правий клік на таймлайні кадрів.

📥 [Завантажити: NxPA Studio на itch.io] 👈

⏱️ Економія часу + плавні переходи = круті анімації за секунди!

💻 | GAMEDEV UA | #інструменти #PixelArt #Aseprite #Animation
🔥652🥰1
🧠 Чи роблять відеоігри нас «розумнішими»?

Ви коли-небудь ловили себе на думці: «Я стільки годин граю. Це хоч якось корисно?» Виявляється, так! Дослідники стверджують, що ігри не тільки розважають, а й прокачують мозок. Але не все так однозначно.

Чому геймери кмітливіші? [Джерело]

Дослідження показують: гравці краще справляються із завданнями на пам’ять, увагу і швидкість реакції, ніж ті, хто не грає. Чому?

🔹 Екшн-ігри (шутери, MOBA)
Це марафон для мозку! Ви одночасно відстежуєте десятки об’єктів, ухвалюєте миттєві рішення і реагуєте на загрози за долі секунди. Результат швидша реакція та сильніша концентрація.

🔹 Стратегії та головоломки (RTS, Portal, tower defense)
Щоб перемогти, потрібно планувати, передбачати та мислити на кілька кроків уперед. Після кількох годин у таких іграх просторове мислення і логіка реально прокачуються.

📊 Що кажуть цифри? [Джерело]
• Геймери виконують тести на увагу і швидкість на 12–17% швидше, ніж ті, хто не грає.
• Діти, які грають 3+ години на день, показують кращі результати в завданнях на самоконтроль і робочу пам’ять.
• Навіть 8 годин у головоломці на кшталт Portal 2 можуть дати помітний ріст когнітивних навичок.

🤯 Але є й зворотний бік

Якщо ігри стають залежністю то мозок страждає.
🔸 Проблеми з концентрацією
🔸 Зниження навчальних навичок
🔸 Ризик тривожності та безсоння

А ти помічав, що ігри роблять тебе кмітливішим? Які ігри реально допомогли прокачати твою увагу чи пам’ять?

💻 | GAMEDEV UA | #запитання #відеоігри #геймери #когнітивнінавички
🔥6🤔3
🔥 Steam змінив систему відгуків

Тепер за замовчуванням показується рейтинг гри мовою вашого інтерфейсу, а не глобальний.

Valve пояснює:
«У різних регіонах досвід може відрізнятися через переклад, культурні нюанси або проблеми з підключенням».


Зміни стосуються ігор із 2000+ відгуків, де є щонайменше 200 відгуків певною мовою.
Глобальний рейтинг залишився; його можна увімкнути в налаштуваннях.

Що це означає? Рейтинги тепер можуть сильно різнитися між мовами. Наприклад:
• Англійська: «Дуже позитивні»
• Українська: «Змішані»

А для розробників

Тепер ще більше уваги потрібно приділяти локалізації та якості сервісів у різних країнах, інакше гра отримає низьку оцінку серед конкретної мовної спільноти.

💬 Як думаєте, це допоможе чи навпаки заплутає?

💻 | GAMEDEV UA | #новини #steam #rating #Valve
🔥14
🔍 Повний розбір Mesh LOD у Unity 6.2

Unity продовжує дивувати! У новій версії з’явилася система Mesh LOD, яка спрощує роботу з рівнями деталізації та оптимізацією моделей.

Що таке Mesh LOD?
✔️ Автоматично створює рівні деталізації під час імпорту моделі.
✔️ Не створює додаткових GameObject, як класичний LOD Group.
✔️ Зберігає всі LOD у оригінальному меші, використовуючи index buffer та той самий vertex buffer.

Чому це важливо?
🔹 Менший розмір у пам’яті.
🔹 Оптимізовані відстані для переключення LOD.
🔹 Плавні переходи (crossfade).
🔹 Підтримка експорту у FBX.

Як працює, та як налаштувати дивіться ось [тут] 👈

💻 | GAMEDEV UA | #оптимізація #MeshLOD #LOD
🔥1011
🤖 Хочеш створити власного AI-бота?

Уяви гру без ворогів, союзників чи NPC, які взаємодіють із гравцем — вона буде порожньою. Саме тут вступає в гру штучний інтелект.

🎯 Навіщо потрібні AI-боти:
– Вороги, що атакують або тікають
– NPC, які патрулюють, реагують на гравця або допомагають йому
– Сценарії з поведінкою в стилі "Stealth", "Shooter", "Survival" та інші

📌 Як їх реалізувати в 2D та 3D:
– Рух та переслідування
– Зони виявлення та реакції
– Системи станів (Idle, Chase, Attack, Flee)

Все з прикладами, простими поясненнями і на реальних кейсах. Підходить для Unity-проєктів будь-якого жанру.

🧠 Вчися робити ботів, які не просто рухаються, а намагаються тебе вбити👇
– 2D [Відео]
3D [Відео]

💻 | GAMEDEV UA | #туторіал #AI #ШІ #боти
🔥7👎1
Хочеш не витрачати години на налаштування 2D-анімацій? ⏱️

Зустрічай Aseprite Importer – ідеальний інструмент для імпорту твоїх .ase та .aseprite файлів прямо в Unity.

Імпорт кадрів, анімацій та слайсів без зайвих клопотів
Підтримка шарів та тегів з Aseprite
Працює з Unity 2021.3.15f1 та новішими

[Детальніше тут] 👈

Забудь про ручне різання та проблеми з спрайтами!

💻 | GAMEDEV UA | #Unity #Aseprite #2DAnimation #Animation
👍81
🔥 Чому часті виклики Instantiate та Destroy — зло

❗️ Уяви, що у грі постійно з'являються кулі, вороги або ефекти вибуху. Що найчастіше роблять новачки?

Instantiate(bulletPrefab, position, rotation);
Destroy(bullet, 2f);

Зручно, правда? Але є одна проблема…

Чому це погано

Instantiate створює новий об'єкт у пам’яті → відбувається виділення пам’яті на heap, що досить дорого по продуктивності.

Destroy знищує об'єкт → це запускає збірку сміття (Garbage Collector), яка “прибирає” об'єкти з пам’яті.

• А тепер уяви, що ти робиш це десятки, а то й сотні разів за секунду. Що відбувається?

🔹 Постійні алокації пам’яті.
🔹 GC працює частіше → гра робить фризи.
🔹 FPS падає → на мобільних це особливо болюче.

Коли це критично?
👉 Шутери, спавн ворогів, спецефекти. Будь-де, де багато об'єктів.

А як це виправити? Object Pooling!

Object Pooling — це техніка, при якій ти не створюєш і не видаляєш об’єкти постійно, а використовуєш вже готові (головне не переборщити).

Принцип простий:
• Створюєш пул (список) об’єктів на старті гри.
• Коли потрібно новий об'єкт — береш з пулу та активуєш.
• Коли об'єкт більше не потрібен — деактивуєш і повертаєш у пул, а не видаляєш.

Чому це круто?

✔️ Немає зайвих алокацій пам’яті → FPS стабільний.
✔️ Немає GC-фризів → гра не підлагує.
✔️ Швидше за Instantiate/Destroy → особливо помітно на мобільних і VR.

💡 Використовується у всіх великих іграх: кулі, вороги, ефекти, UI елементи, навіть партикли.


📌 А як реалізувати Object Pool правильно і без типових помилок? ДИВИСЬ ТУТ 👈

💻 | GAMEDEV UA | #оптимізація #уроки #objectpooling #виклики
🔥6👍2
Фінальний мем тижня!

Зв'язок з автором: @DevAndrew 👈

Зараз в дорозі, тому вчора не було постів. Вибачайте 😅

📌 І пам'ятаємо про #теги, що вони тут не просто так (детальніше в самому першому закріпі)

💻 | GAMEDEV UA | #меми
😁14🥰1
📌 Підсумок публікацій за тиждень:

Одразу вибачаюся, що постів не було декілька днів. Не мав можливості, але надалі продовжуватиму працювати за "графіком" 😁

🏫 З навчальних матеріалів:
🚦Як працюють LayerMask у Unity?
🔥 Чому часті виклики Instantiate та Destroy — зло
🤖 Як зробити ШІ ворога

🔨Корисні матеріали:
🖍 Add Inbetween Frames - твоя анімація без зайвої рутини!
☑️ Повний розбір Mesh LOD у Unity 6.2
🎨 Миттєвий імпорт анімацій

📰 Новини та цікаві теми:
🧠 Чи роблять відеоігри нас «розумнішими»?
🔥 Steam змінив систему відгуків

📋 Зібрали для вас все в одному пості! Переглядайте, зберігайте і надолужуйте згаяне!

💻 | GAMEDEV UA | [Підтримка каналу тут]
9👍1
📈 Як зрозуміти, скільки має коштувати твоя гра?

Ти розробив гру і стоїш перед вибором: яку ціну поставити? Ось кілька принципів:

⭕️ Досліди ринок
Перевір свій жанр у Google Play або App Store.
🔸 Якщо топові ігри безкоштовні – конкурувати з платною буде складно.
🔸 Якщо жанр вузький і має фанатів (наприклад, ретро-аркади) – є шанс продати навіть за $2–5.

⭕️ Модель монетизації
🔸 Free-to-play з рекламою та донатом – найпопулярніший варіант.
🔸 Платна гра ($0.99–$4.99 відносно) – підходить, якщо у тебе унікальний геймплей або без реклами.
🔸 Гібрид: безкоштовна з базовим контентом + преміум за $1.99 чи $2.99.

⭕️ Контент = Ціна
🔸 Маленька казуалка → $0.99
🔸 Середня аркада з кількома режимами → $1.99
🔸 Велика гра з кампанією, локалізаціями, кастомізаціями → $4.99 і вище.

⭕️ Локальні ціни
У різних країнах різна платоспроможність. Для Індії чи Бразилії $0.99 – це ок, а $4.99 уже занадто.

🎯 Золоте правило:
Ціна = Стільки, скільки користувач готовий заплатити за емоції, а не за твої години розробки.


📌 Реальність 2025:
90% мобільних ігор заробляють не на стартовій ціні, а на рекламі та донаті. Якщо робиш платну гру – роби її унікальною, щоб гравець сказав: «Варто кожного цента».

А ти за яку модель: Free-to-play з донатом чи одноразова оплата?

💻 | GAMEDEV UA | #запитання #маркетинг #ціна #ринок
🔥91🥰1
🔥 Геймери знову атакують Unreal Engine 5

Після виходу Mafia: The Old Country, ремастера Oblivion та ремейку Metal Gear Solid 3 частина гравців розкритикувала UE5 за погану продуктивність у нових проєктах.

💬 Блогер SynthPotato написав у Х:
«Я страшенно стомився від того, що ігри на Unreal Engine 5 працюють як лайно. Mafia, Oblivion, MGS3... Як це можливо, що нормальна робота стала винятком, а не правилом?»


Його пост набрав 12 тисяч лайків, а в коментарях розгорілась дискусія:
Одні вважають, що винен рушій.
Інші — що проблема в розробниках, які використовують застарілі версії UE5 або економлять на оптимізації.

📌 Нагадаємо, CDPR не вважає це проблемою рушія: перехід на UE5 вони назвали правильним рішенням, а технічне демо The Witcher 4 це підтвердило.

💻 | GAMEDEV UA | #новини #UE5 #mafia
🔥72