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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
🔍 Повний розбір 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
🔥 Безкоштовна Synthwave музика для монтажу, ігор чи просто кайфу 🎛🎵

Завнтажити 👈

💻 | GAMEDEV UA | #корисне #аудіо #synthwave
🔥53👍1🥰1
Rust Rides відкриває майстерню

Запускається Steam Workshop для Rust Rides і підготували унікальні інструменти для моддингу.
Тепер ви можете створювати власні моди, збірки та оригінальні елементи гри.

🔗 Деталі та форма для безкоштовної участі у закритій беті доступні в Steam-пості (Lets go to Steam).

💡 Також відкрито новий Discord-сервер (Discord-Rust-Rides) — місце для спілкування та обміну ідеями між першими учасниками.

Це не просто доступ — це шанс увійти в закриту бета-спільноту моддерів і стати серед перших творців нового контенту для Rust Rides.
👀32🥰1
🔍 Чи варто зменшувати частоту FixedUpdate для оптимізації?

FixedUpdate – це окремий цикл у Unity, який використовується для фізики. На відміну від Update, він викликається з фіксованим інтервалом, незалежно від FPS.

За замовчуванням Fixed Timestep = 0.02s (50 разів на секунду). І ось що важливо: кожен виклик = розрахунки фізики (Rigidbody, Colliders, Joint-и).

🔥 Чому це може гальмувати гру?
• Якщо у вас 100+ Rigidbody, фізика виконується 50 разів на секунду → величезне навантаження на CPU.

При 60 FPS гра робить:
• 60 Update викликів + 50 FixedUpdate викликів.
• На мобільних пристроях це відчутно.
Profiler показує: Physics може займати до 10–30% часу кадру!

Як оптимізувати?

Можна змінити Fixed Timestep у:
Edit → Project Settings → Time → Fixed Timestep


За замовчуванням: 0.02 (50 Гц). Можна поставити: 0.0333 (30 Гц) або навіть 0.05 (20 Гц), якщо фізика не критична!

⚠️ Але є нюанси і що з ними робити

FixedUpdate задає темп фізики. Якщо ви знижуєте частоту то фізика рахується рідше, а між цими «кроками» графіка малює кілька кадрів. Interpolation на Rigidbody зберігає попередню позу й під час рендеру плавно інтерполює трансформ між “минулою” і “поточною” фізичною позою. Рух виглядає рівним навіть при 30 Гц фізики.

Рішення:
Увімкніть Interpolation на Rigidbody:
Rigidbody → Interpolate = Interpolate або Extrapolate
Це згладжує рух між кроками фізики, роблячи його плавним навіть при 30 Гц.

Чи реально корисно знижувати FixedUpdate?
У більшості мобільних ігор (особливо казуалок, runner’ів, top-down ігор) це майже завжди дає профіт. Чому:

• Фізика займає 10–30% кадру на мобільних пристроях, якщо є сотні Rigidbody.
• Перехід із 50 Гц на 30 Гц зменшує кількість викликів фізики на 40% → це мінус сотні обчислень на секунду.
• Ефект майже лінійний: менше симуляційних кроків → менше часу на CPU.

Тести на типових мобільних пристроях показують:
• 300 Rigidbody → при 50 Гц: ~5–7 мс на фізику; при 30 Гц: ~3–4 мс.
• Якщо кадр має бюджет 16.6 мс (60 FPS), економія 2–3 мс — це +15–20% продуктивності.

⚠️ Та чому не завжди?
У гоночних іграх, шутерах або будь-де, де точність і стабільність фізики критична, низька частота = більше помилок (пенетрації, відриви джойнтів, нестійкі стеки).

Для високошвидкісних тіл може зростати ймовірність “проходження крізь” при discrete collision.

📌 Тому, якщо підсумувати: якщо у вашій грі фізика не є ключовим елементом (наприклад, ви робите казуалку або runner), зменшення частоти FixedUpdate з 50 Гц до 30 або навіть 20 Гц - один із найпростіших і найефективніших способів оптимізації.

Якщо це шутер/ранер (або любий інший проєкт де точність фізики важлива) - НІ!!!

💻 | GAMEDEV UA | #оптимізація #Unity #PhysicsOptimization #фізика
🔥9👍1
🎵 Хочеш, щоб твоя гра звучала як класика Nintendo?

Створити свої унікальні 8-bit звуки, які нагадають про часи Mario, Contra та Mega Man, завдяки цьому інструменту!

🎧 ChipTone – безкоштовний генератор ретро-звуків.

З його допомогою можна легко зробити:
Звуки стрибків і ударів
Постріли, вибухи
Ефекти для меню та UI

Простий інтерфейс + безліч налаштувань = ретро-саунд всього за кілька кліків.

▶️ [Переглянути] 👈

А які звуки з дитинства у тебе асоціюються з іграми? Напиши в коментарях!

💻 | GAMEDEV UA | #інструменти #retro #8bit #music #музика
🔥5👍4
🚏 Ієрархічна машина станів (HSM) у Unity

Основна ідея
Ієрархічна машина станів — це система керування станами, де один стан може містити інші як підстани. Такий підхід робить поведінку персонажа або об’єкта структурованою та зрозумілою.

Спільну логіку виносимо в «батьківський» стан.
Специфічну поведінку — у «дочірні» стани.

Приклад:
Стан Grounded (на землі) має підстани Idle та Run. Обидва отримують спільну логіку Grounded (наприклад, перевірка гравітації), але реалізують власні особливості.

Як це працює в коді?

Кожен стан окремий клас із методами:
Enter() – викликається при вході в стан
Exit() – при виході
UpdateLogic() – для оновлення логіки

🛠 Спрощений базовий клас:
public abstract class State {
protected StateMachine stateMachine;
protected State superState;
protected State subState;

public State(StateMachine machine) {
stateMachine = machine;
}

public virtual void Enter() { }
public virtual void Exit() { }

public virtual void UpdateLogic() {
subState?.UpdateLogic(); // оновлює підстан
}

protected void SetSubState(State newSubState) {
subState = newSubState;
subState.superState = this;
subState.Enter();
}
}


Що тут відбувається?
- superState – батьківський стан
- subState – дочірній
- SetSubState() робить переданий стан підстаном і викликає його Enter()

Переваги HSM:
✔️ Менше дублювання коду
✔️ Модульність і гнучкість - легко додавати нові стани
✔️ Чітка структура для складних поведінкових систем (наприклад, AI, керування гравцем)

📹 Хочете більше прикладів і розбір із практикою?

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

📌 HSM дає потужний і зрозумілий спосіб організувати складну поведінку персонажів, AI та геймплейних об’єктів. Вона робить код чистим, розширюваним і модульним.

💻 | GAMEDEV UA | #уроки #HSM #StateMachine #cSharp #Unity
5🔥4🥰2
Чи впливають досягнення (Achievements) на мотивацію гравця? 🎯

Сьогодні майже кожна гра має ачівки, від простих «пройди перший рівень» до хардкорних «пройди гру без урону». Але чи справді вони впливають на те, скільки гравець проводить часу в грі?

Чому Xbox Live та Steam додали систему ачивок?

У 2005 Microsoft запустила GamerScore для Xbox Live. Ідея була проста:
✔️ Створити систему прогресу поза грою.
✔️ Дати гравцям причину повернутися і виконати більше.
✔️ Створити елемент соціального змагання: у кого більше очок?

Valve підхопили ідею і у Steam з’явилися баджі, рівні, картки. Це стало не просто «нагородою», а частиною ідентичності гравця.

📈 Чи справді ачивки збільшують утримання гравців?


Так! Психологія проста:
✔️ FOMO (страх щось пропустити) — «Залишилося лише 2 ачивки, не можу кинути».
✔️ Дофамінові нагороди — маленька перемога = приємна емоція.
✔️ Соціальний фактор«Друзі бачать мої досягнення».

📌 Дослідження показують, що гравці, які полюють на досягнення, проводять у грі на 30–50% більше часу, ніж середній користувач. Ачивки ефективні як інструмент мотивації та утримання, особливо якщо вони пов’язані з видимою винагородою. [Інфа]

💬 А ви любите збирати ачивки? Чи це зайва фішка, яка не впливає на геймплей?


💻 | GAMEDEV UA | #запитання #досягнення #achievements
🔥6
🇺🇦 Ukrainian Games Festival 2025 встановив новий рекорд!

За тиждень сторінку фестивалю в Steam відвідали 2,4 млн користувачів що майже на мільйон більше, ніж минулого року.

🎮 Що показали:
• 23 нові проєкти
(The Road of Dust and Sorrow, DDoD, Valkyrie Iteration, «Чумаки» та інші)
• 24 нові демоверсії (Aliosso, Floralis, Whispers Among the Poppies)
• Загалом понад 120 демо + 6 релізів (Threads of War, Steampunk Idle Spinner, Submansion та ін.)

🔥 Цікаві факти:
• The Road of Dust and Sorrow → 30 000 додавань у «бажане» на Steam
• Valkyrie Iteration → 15 000 додавань
• Hollow Home знову з демкою — гра про війну, яку досі роблять без видавця

Фестиваль довів: українські ігри цікаві світу!

А ви вже тестили нові демки? Яка залітала найсильніше?


💻 | GAMEDEV UA | #новини #UkrainianGamesFestival #steam
🔥71🥰1
🔥 Факт із мобільного геймінгу 🔥

Subway Surfers стала першою мобільною грою, яка подолала планку в 1 МІЛЬЯРД завантажень у Google Play!

Це сталося у 2018 році, і з того часу гра продовжує залишатися однією з найпопулярніших у світі. Для порівняння: 1 мільярд — це більше, ніж населення всієї Європи!

І найцікавіше: Subway Surfers вийшла ще у 2012 році та досі утримує рекорд по завантаженнях. 🚀

👉 Хто пам’ятає, як ганяв по рейках і стрибав через поїзди? 🙌

💻 | GAMEDEV UA | #факти #game #gamedev #subwaysurfers
🔥9👍2💩2🥰1🤝1
Фінальний мем тижня!

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

Підтримати канал тут: [Клац] 🙈

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

✈️ Gamedev | #меми
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17
🎯 DontDestroyOnLoad твій друг чи ворог?

При завантаженні нової сцени видаляються всі об’єкти. Але що робити, якщо треба залишити музику або менеджер гри?

Тут на допомогу приходить:
DontDestroyOnLoad(gameObject);


Що він робить?
Об’єкт "переїжджає" у спеціальну сцену, яка не видаляється, і живе до кінця гри.

Але є нюанс: якщо ти знову завантажиш сцену - отримаєш дублікати об’єкта. Звідси класика: дві музики одночасно грають у меню 🎶🎶.

Як уникнути дублювання?
Використай Singleton-перевірку:
public class MusicManager : MonoBehaviour
{
private static MusicManager instance;

void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
}

Тепер менеджер буде один і ніяких багів із музикою.

✔️ Коли юзати: менеджер звуку, гейм-менеджер, аналітика.
✖️ Коли НЕ юзати: для всього підряд або UI, який має змінюватись між сценами.

📩 Передаємо дані між сценами через DontDestroyOnLoad

Створимо простий клас GameData, який зберігатиме інформацію, наприклад ім’я гравця та кількість очок.
using UnityEngine;

public class GameData : MonoBehaviour
{
public static GameData Instance;

[Header("Player Info")]
public string playerName;
public int playerScore;

private void Awake()
{
if (Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
}
else
{
Destroy(gameObject);
}
}
}


Як це працює?
При першому створенні GameData зберігається і не знищується при переході між сценами.
Доступ до даних із будь-якого скрипта:

GameData.Instance.playerName = "Your name";
GameData.Instance.playerScore += 10;


💡 Приклад використання:


Сцена 1 (Меню):
public class MenuController : MonoBehaviour
{
public void StartGame()
{
GameData.Instance.playerName = "Player_1";
UnityEngine.SceneManagement.SceneManager.LoadScene("GameScene");
}
}


Сцена 2 (Гра):
public class GameController : MonoBehaviour
{
private void Start()
{
Debug.Log("Hello, " + GameData.Instance.playerName);
}
}


‼️ Але будь уважний: при перезапуску гри або поверненні в меню ці дані залишаться, якщо їх не обнулити вручну ‼️

💻 | GAMEDEV UA | #уроки #csharp #Unity #DontDestroyOnLoad
🔥71
🎷 Free 1930s Cartoon Jazz Music Pack 🎶

Додайте атмосферу старих мультфільмів у свій проєкт!

У паку:
✔️ 6 треків у стилі Big Band, Ragtime та Bebop Jazz
✔️ Формат .wav, висока якість
✔️ Ідеально для бос-файтів, бійок, сцен у ретро-стилі

Використовуйте для ігор у стилі Cuphead, Bendy або будь-яких ретро-анімацій!

▶️ [Завантажити] 👈

📥 Скачайте безкоштовно та додайте справжній джаз у свій геймплей!

💻 | GAMEDEV UA | #корисне #музика #retromusic #music #аудіо
🔥8👍1
🔨 Український стартап Maval створює no-code платформу для ігор та інтерактивного контенту! [Детальніше]

Уяви собі конструктор для створення візуальних новел, коміксів, симуляторів і тестів без єдиного рядка коду. Просто drag-and-drop: додаєш сцени, персонажів, ефекти і за кілька годин готовий продукт.

💡 Фішки Maval:
AI-помічник підкаже, де є сюжетні дірки та допоможе з логікою історії.
Створюй історії на науковому каркасі — мотивації персонажів і сюжетні арки.
Планується озвучка, візуал і анімації через ШІ.

📌 Для кого: інді-розробники, студії, освітні проєкти, бренди.
📌 Де презентували: The Next Web 2025, Амстердам.
📌 Коли запуск: публічний тест SaaS у 2026 році.
📌 Платформа: Web + експорт у Unity та Godot.
📌 Мова: українська буде з першого дня.

💰 Вже вкладено 1,2 млн грн власних коштів. Попереду pre-seed та масштабування.

Це новий рівень інтерактивного сторітелінгу, доступного кожному.

А ти б оживив свою улюблену книгу чи створив гру без коду?

💻 | GAMEDEV UA | #новини #стартап #ігри #AI #noCode
10🔥3👎1🥰1😁1