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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
🚶‍♀️ Unity Input System: 3 підходи, які варто знати

Unity надає три основні способи обробки вводу — кожен з них має свої плюси, і використовується залежно від задачі:

🔹 1. Using Actions (Input Actions Asset)
Створюється .inputactions файл, у якому описуються дії (наприклад, jump, move) та прив’язуються до кнопок або осей. Потім ці дії можна викликати в коді або використовувати разом із компонентом PlayerInput. Це найбільш гнучкий і рекомендований підхід.
playerInput.actions["Jump"].performed += ctx => Jump();


🔹 2. PlayerInput component
Цей компонент автоматично обробляє дії з Input Actions і дозволяє підключати callback-и (через Events або Send Messages). Також підтримує мультиплеєр — можна легко створювати кілька гравців із окремим вводом. Зручно для структурованої роботи зі сценами.
public void OnJump(InputAction.CallbackContext context)
{
if (context.performed) Jump();
}


🔹 3. Directly Read Device States
Найпростіший варіант — без Input Actions. Просто читаєш стан пристроїв напряму: Keyboard.current.spaceKey.isPressed, Gamepad.current.leftStick.ReadValue() тощо. Підходить для швидкого прототипування або дуже простих ігор.
if (Keyboard.current.spaceKey.wasPressedThisFrame)
{
Jump();
}


🔚 Кожен з цих підходів має своє місце.


📎 [Відеоролик на цю тему] 👈

💻 | GAMEDEV UA | #уроки #inputsystem
👍5
🧠 Чому найкращий геймдизайн — той, якого гравець не помічає?
Коли гра не пояснює, але ти все розумієш — це і є сила невидимого геймдизайну. Він непомітно веде тебе через рівні, вчить правилам, управляє емоціями, але ти відчуваєш, що все це — твій досвід, твій вибір, твоя історія.

Ось кілька прикладів цієї «магії»:

🎓 Навчання без слів
Super Mario Bros навчає стрибкам, небезпеці, бонусам — жодного тексту.
Portal поступово вводить складні концепти, не нав'язуючи туторіалів.
🔑 Інтуїтивно > інструкція.

👁 Керування увагою без HUD’у
The Last of Us спрямовує тебе світлом, композицією сцени, дизайном рівня.
Inside чи Limbo — жодного слова, але жодного разу ти не загублений.
🔑 Камера, світло і рух — головні навігатори.

⚙️ Механіки допомоги, які ніхто не помічає
Mario Kart підтягує відсталих гравців.
Celeste м'яко «прощає» мікропомилки у стрибках.
Assassin’s Creed магнітить тебе до платформ, щоб ти не зірвався.
🔑 Гравець думає, що крутий — а ти його страхуєш.

🎵 Звук і вібрації — твій компас
Dead Space лякає не лише монстрами, а звуковим дизайном.
Hollow Knight звучить саме так, як треба, щоб ти відчував імпакт.

📌 Висновок:
Ідеальний геймдизайн — як режисура в кіно: ти не маєш помічати, як тобою керують.
Гравець має відчувати, що все — його заслуга. І саме це робить гру по-справжньому живою.

А які приклади ви можете навести? Діліться у коментарях 👇

💻 | GAMEDEV UA | #запитання #геймдизайн
3👍1😁1
Привіт, народ!

Можливо, ще не настав той момент, коли прийнято говорити про таке, але якщо те, що з’являється на каналі, вам заходить, і є бажання підтримати розвиток або просто висловити вдячність — то вам сюди 👇

👉
send.monobank.ua/jar/2reZEm3K3T

Було створено спосіб подяки — добровільний і без будь-яких зобов’язань.
Більша частина коштів піде на рекламу каналу та розвиток 💡

Дякую всім, хто читає і підтримує ❤️
(Інформація та посилання завжди доступні в описі або навігації каналу)
👍3👀2
🌀 Що таке DeltaTime і чому без нього рух буде рваним?

Уяви, що твій персонаж має бігти з постійною швидкістю. Ти пишеш щось типу:
transform.position += Vector3.right * speed;

Але… гра починає лагати або, навпаки, летить ракетою 🚀 на потужному ПК.
Чому так? 🤔

🔧 Проблема в FPS (кількість кадрів на секунду):
• Якщо гра працює на 30 FPS — код виконується 30 разів на секунду.
• Якщо на 120 FPS — аж 120 разів.

🔁 Виходить, що рух стає залежним від швидкості гри, а не від часу.

💡 Рішення — Time.deltaTime
Це час (в секундах), що пройшов між двома кадрами.
Правильний варіант:
transform.position += Vector3.right * speed * Time.deltaTime;

🎯 Тепер персонаж буде рухатись з однаковою швидкістю на будь-якому пристрої.
Рух — плавний. Гравці — щасливі.

Підсумок:
Time.deltaTime = стабільний, передбачуваний, професійний рух.

💻 | GAMEDEV UA | #уроки #deltatime
6
🎮 🔧 Як зробити налаштування клавіш у грі на Unity

🔁 Тепер гравець сам може змінювати управління прямо в грі:
— W → стрілка вгору
— Space → Enter
і все це працює, зберігається і не злітає після перезапуску 💾

🛠 Як зробити:
1️⃣ Встанови Input System із Package Manager
2️⃣ Створи .inputactions файл → додай дії: Move, Jump
3️⃣ Додай PlayerInput на гравця
4️⃣ Виведи UI (текст + кнопка): "Натисни нову клавішу"
5️⃣ Під’єднай код:
inputActionReference.action
.PerformInteractiveRebinding()
.OnComplete(operation => {
PlayerPrefs.SetString("Move", action.bindings[0].effectivePath);
operation.Dispose();
})
.Start();

6️⃣ При запуску гри:
var saved = PlayerPrefs.GetString("Move");
action.ApplyBindingOverride(saved);


Готово! Гравець може переназначити будь-яку клавішу прямо в грі.


📺 Відео на YouTube👈

🧠 Підходить для 2D, 3D, платформерів, гонок, будь-чого!

💻 | GAMEDEV UA | #уроки #туторіал #rebinding
🔥5
Street Props - Prototype Collection

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

А як вам таке? Діліться у коментарях 👇

💻 | GAMEDEV UA | #корисне #модельки
3
🎨 Що таке Render Pipeline в Unity?

Це те, як Unity "малює" твою сцену. Кожен піксель на екрані — результат великого процесу: освітлення, текстури, тіні, постобробка.

За все це відповідає Render Pipeline — система, яка обробляє твою 3D-сцену і перетворює її в фінальне зображення.

Це не просто набір налаштувань, а архітектура рендерингу. Існує 3 основні пайплайни, плюс можливість створювати власні.

🏚 Built-in Render Pipeline
Built-in — це "стара школа". Він існував з перших версій Unity.

📌 Як працює:
• Unity сама вирішує, як рендерити світло, шейдери, обробку постефектів.
• Весь рендеринг — жорстко вшитий у рушій.
• Працює через стандартні OnRenderObject, Camera.Render, Forward/Deferred режими.

Плюси:
• Проста настройка
• Підтримка багатьох туторіалів і старих проєктів
• Все працює "з коробки"

⛔️ Мінуси:
• Важко оптимізувати
• Неможливо змінити логіку рендеру
• Відсутність сучасних фіч

Unity офіційно не розвиває Built-in. У 2024–2025 він уже не отримує оновлень.


🚀 Universal Render Pipeline (URP)

URP = легкий, швидкий, гнучкий

🔧 Його девіз: "Один пайплайн для всіх платформ"

📌 Як працює:
• Написаний на Scriptable Render Pipeline (SRP) — тобто вся логіка рендеру винесена в скрипти
• Має власний Shader Graph, постобробку, підтримку кастомних фіч
• Працює на мобілках, ПК, WebGL, VR

Плюси:
• Сучасна архітектура
• Гнучкий: можна змінювати послідовність рендеру (Renderer Features)
• Швидкий на мобілках і середніх ПК
• Підтримує 2D/3D у єдиній системі

⛔️ Мінуси:
• Деякі фічі з HDRP недоступні
• Перехід із Built-in вимагає перенесення шейдерів і постефектів

💎 High Definition Render Pipeline (HDRP)
HDRP — для AAA-графіки, максимальної реалістичності.

📌 Як працює:
• Все побудовано на PBR (фізично-коректний рендер)
• Має підтримку Volumetric Lighting, Screen Space Reflection, Decals, Caustics
• Підтримує Ray Tracing, DLSS, Path Tracing

Плюси:
• Дуже крута картинка
• Можливість робити реалізм
• Підтримка кінематографічних рендерів

⛔️ Мінуси:
• Високі вимоги до заліза
• Не працює на мобільних/веб
• Складніша структура, довше налаштовувати

🧪 А що таке власний Render Pipeline?
Unity дає розробнику повний контроль над тим, як відбувається рендер сцени.

Ти можеш створити свій Custom Render Pipeline — буквально написати свою графіку:
• Змінити порядок рендеру
• Вимкнути те, що не треба (наприклад, shadows на мобільних)
• Додати нестандартні ефекти: 2.5D стиль, outline, pixel-art постобробку

🧠 Приклади:
• Стилізований пайплайн для lowpoly-гри
• Pixelated pipeline для retro-графіки
• Рендер, що працює з нестандартним камерним фокусом (наприклад, top-down із глибокими шейдерами)

Render Pipeline — це не просто "графіка" в Unity. Це архітектура, яка визначає, як саме твоя сцена з’явиться на екрані.

💻 | GAMEDEV UA | #уроки #рендер #renderpipeline
👍21🤔1
Create Interactive 2D Water From Scratch

1️⃣ Створення сітки з нуля
2️⃣ Створення користувацьких скриптів редактора (для кнопок та спеціальних ручок для зміни розміру води)
3️⃣ Розробка шейдера спрайта для сітки — з краєвими лініями, єдністю, іскаженням та зміщенням вершин
4️⃣ Взаємодія з об’єктом — як створювати хвилі, коли гравець торкається краю води

▶️ [Переглянути туторіал] 📼

💻 | GAMEDEV UA | #туторіал #вода #interactivewater
5
📌 Чи можуть баги стати фішкою гри?

Більшість розробників бачать баг і відразу хочуть його прибрати. Але бувають моменти, коли баг не псує гру — він її робить.

Звучить парадоксально? А от прикладів таких достатньо, особливо серед культових ігор:

🔹 Street Fighter II
Під час розробки виник баг: гравець міг поєднувати удари без затримки — з’явились комбо.
Це не планувалось, але гравці були в захваті.
➡️ В результаті: комбо стали основною фішкою всієї серії.

🔹 Super Mario Bros.
"Wall jump" — стрибок від стін — був не запланованим, але став улюбленим трюком гравців.
➡️ Nintendo зробила це офіційною механікою в наступних іграх.

🔁 То коли баг — проблема, а коли — можливість?

💡 Все залежить від контексту і реакції гравців. Якщо баг:
• Дає новий спосіб проходити рівень;
• Додає відчуття "хаосу, але весело";
• Розширює межі геймплею;

…то, можливо, його не варто виправляти?

А ти коли-небудь залишав баг навмисно?
Або натрапляв на такий, що робив гру кращою?

🔽 Напиши в коментарях — цікаво зібрати приклади з власного досвіду.

💻 | GAMEDEV UA | #запитання #баги
4
Привіт, народ!

Сьогодні обіднього поста не буде, трохи переключаюсь, бо зараз на здачі дипломної роботи.

Побажайте удачі 🫡

Підтримати можете також і донатом за посиланням в закріпленому меседжі, або в описі каналу :))

Дякую за розіуміння 😎
🫡63💯1
🤖 Unity AI Context - інструмент, який допомагає штучному інтелекту краще розуміти проєкт на Unity.

🧠 Він аналізує C#-код і генерує XML-файли з метаданими про класи, методи та поля. Завдяки цьому AI отримує чіткий контекст структури проєкту.

Це значно покращує якість відповідей:
• точні архітектурні поради
• менше вигадок від AI
• гнучкість — завжди можна доповнити контекст

🔧 Якщо ти працюєш з AI в розробці ігор або автоматизуєш роботу з кодом — цей тул точно буде корисним.

🎥 Посилання на демонстрацію 👈

Також, це відео зробив український Unity-розробник, який ділиться корисними інструментами та фішками.
🎯 Можна підтримати його — підпискою на канал ;)

💻 | GAMEDEV UA | #AIcontext #інструменти
5
🚫 Чи варто довго обирати «ідеальний» патерн програмування?

Багато розробників застрягають у виборі між Factory, Pooling, Prototype та іншими патернами. Хочеться зробити все правильно з першого разу. Але чи завжди це корисно?

🔹 Analysis paralysis — коли ти занадто багато думаєш і в результаті стоїш на місці.

➡️ Натомість варто швидко обрати будь-який патерн і почати працювати. Це допомагає рухатися вперед і уникнути застою.

📌 Приклади реалізації патернів у Unity:

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

Pooling — повторне використання об’єктів із пулу замість постійного створення і знищення. Особливо корисно для часто створюваних об’єктів (кулі, вороги, ефекти).

Data-Driven підхід — відокремлення логіки гри від даних. Налаштування і параметри зберігаються у зовнішніх файлах або ScriptableObjects, що дає гнучкість і спрощує зміну балансу без перекомпіляції.

💡 Чому це працює:
• Ідеального рішення немає — є те, що працює саме зараз.
• Швидке рішення допомагає рухатись вперед, навіть якщо воно не ідеальне.
• Помилки — це нормально. Вони допомагають краще зрозуміти, що реально потрібно проєкту.

🔁 Тож замість довгих вагань — спробуй обрати патерн і реалізувати прототип.
Навіть якщо потім доведеться переписувати — це вже прогрес!

📼 [Відеоролик на цю тему] 👈

А ти коли-небудь застрягав у виборі між підходами? Як долав цей «параліч»? Ділись у коментарях — твій досвід може допомогти іншим 👇

💻 | GAMEDEV UA | #уроки #analysisparalysis #патерни
🔥6
💾 Чому 8-бітні ігри досі захоплюють?

Ностальгія як геймдизайн — більше, ніж просто стиль

У час, коли геймери очікують фотореалізму, гіперреалістичної фізики й AI-NPC, інді-гри в піксель-арті досі займають топи. Чому?

🔹 Бо 8-біт — це емоційний код. Не графіка визначає гру, а те, що вона викликає в гравця.

🧠 Ностальгія — це не слабкість. Це інструмент
Коли ми бачимо піксельну графіку, відчуваємо:
• Знайоме. Спокійне. Рідне.
• Ті самі емоції, що були з нами в дитинстві
• Відчуття часу, коли все було простіше: залипнути в Mario після школи, без інтернету, без оновлень.

🕹 Як геймдев використовує це у дизайні?

📌 Візуальний стиль
– Пікселі, спрайти, обмежена палітра — все навмисно "низькоякісне", але впізнаване
CRT-ефекти, шум, «мерехтіння» — імітація старих екранів додає шарму

📌 Аудіо
– Звуки у стилі GameBoy або NES — чіптюн, синтезовані ефекти
– 8-бітна музика одразу переносить в іншу епоху

📌 Геймплей
– Прості правила, але висока глибина
– Часто повна відсутність туторіалу. Розумієш механіку через спроби й помилки, як раніше

📌 UI/UX
– В стилі старих RPG, меню-іконки у формі піксельних кнопок
– Іноді навіть обмеження типу «4:3 екран» чи «затримка збереження» як данина минулому

📈 Приклади, які доводять — це працює
Undertale — мінімалістичний стиль, глибока емоційна історія
Stardew Valley — сільське життя у стилі SNES, в яке поринаєш на сотні годин
Katana ZERO — піксельна естетика + синтвейв + психологічний екшн
The Messenger — гра починається в 8-бітах, а потім несподівано переходить у 16-біт

Ці ігри не просто нагадують "як було", вони переосмислюють стиль, додаючи сучасні фішки

🧩 Тому якщо тобі здається, що 8-біт — це лише "старе" — подумай ще раз. Це стиль, який вміє чіпляти за серце.

А яка гра вперше пробудила у тобі відчуття «оце воно»? З якої гри почалась твоя історія?👇

💻 | GAMEDEV UA | #запитання #8bitgame #retro #ретро
5
This media is not supported in your browser
VIEW IN TELEGRAM
Ripple Shader Pack – Real-Time Water Ripples

💧 Водяна система ряби для Unity з чотирма типами хвиль 👇

➡️ Завантажити 🗂

💻 | GAMEDEV UA | #корисне #shader #water #ripple
5🐳1
🗃 Що таке Prefab в Unity?

📦 Префаб (Prefab) - це шаблон об'єкта.
Уяви, що ти зробив машину один раз, а тепер хочеш спавнити її сотні разів, а не копіювати вручну, просто "викликати" з шаблону.

🔧 Як працює префаб:
• Створюєш об'єкт у сцені (наприклад, ворога або кулю)
• Перетягуєш його в папку Prefabs - тепер це префаб
• Видаляєш зі сцени (або залишаєш)
• Використовуєш Instantiate(prefab) для створення копій у грі

📜 Приклад коду:
[SerializeField] GameObject enemyPrefab;

void SpawnEnemy() {
Instantiate(enemyPrefab, transform.position, Quaternion.identity);
}

⏱️ Переваги префабів:
Масове створення об’єктів
Легке редагування: змінюєш префаб, і зміни видно всюди
Використання з об’єктним пулом (для оптимізації)

🎯 Префаб = шаблон для тиражування об’єктів. Must have у кожній грі.

📼 [Відео з детальнішим поясненням] 👈

💻 | GAMEDEV UA | #уроки #prefab #префаб
5
🚀 R3 = Observer Pattern на стероїдах

Reactive Programming більше не тільки для "хардкорних" девелоперів. Зустрічайте R3 - сучасну та легку альтернативу UniRx, яка дозволяє працювати з подіями у вашій грі декларативно, реактивно і задоволенням!

Що таке R3?

🔄 Це реактивна бібліотека для C#, яка дозволяє:
– Працювати з Observable Streams
– Створювати Subjects для кастомних подій
– Використовувати Operators на кшталт .Select(), .Where() і багато інших
– Реагувати на події за допомогою підписок (subnoscriptions)

Навіщо це?
Замість того щоб писати купу Update і if-ів, ти просто:
InputStream
.Where(_ => Input.GetKeyDown(KeyCode.Space))
.Subscribe(_ => Jump());

🔥 Мінімум коду — максимум контролю над логікою.

У чому сила R3?
Простота. Якщо ти знаєш патерн Observer і extension-методи в C#, ти вже готовий працювати з R3
Заміна UniRx, без болю, без зайвого коду
Працює будь-де, де є C#

🧠 Хочеш спробувати? Почни з цього відео 👉 Observer Pattern on Steroids

💻 | GAMEDEV UA | #r3 #csharp #code #інструменти
6
Unity 6.2 Beta вже доступна! 🕹

Ми рухаємося до ще швидшого, стабільнішого та надійнішого рушія.

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

🛠 Нові діагностичні можливості:
• Покращене виявлення збоїв та аналітика продуктивності на мобільних і десктопних пристроях.
• Моніторинг ANR (Application Not Responding) з деталізацією по пристроях і сесіях для Android.
• Нова візуалізація даних — зручніше переглядати тренди та знаходити проблеми.
• Без потреби встановлювати додаткові пакети — усе вже інтегровано.
• Доступно безкоштовно всім розробникам.

🔐 Developer Data Framework — новий підхід Unity до збору та використання даних. Ви маєте повний контроль над тим, які дані збираються, як і де вони застосовуються. Unity не використовує вашу інформацію без вашої згоди. Усі налаштування доступні централізовано в Unity Dashboard і поширюються на всі проєкти. Framework також забезпечує прозорість і захист приватності, зокрема під час роботи з Unity AI.

🧪 Unity 6.2 Beta вже доступна через Unity Hub
Це чудова нагода спробувати нові функції раніше й залишити фідбек, який допоможе сформувати майбутнє Unity.

⚠️ Не рекомендується використовувати бета-версію для проєктів у продакшені. Обов’язково створіть резервну копію проєкту перед відкриттям у новій версії.


📣 Більше інформації, документація та обговорення — у Unity Discussions.

💻 | GAMEDEV UA | #новини #unity
6👍1
Привіт народ!

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

А якщо маєте бажання подякувати автору, то в закріпі або в описі каналу знайдете Monobank банку — будь-яка підтримка дуже цінна! 💛

І щоб це повідомлення не було повністю даремним тримайте крутий пак 👇

Завнтажити 👈

💻 | GAMEDEV UA | #корисне #аудіо
4