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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
🔍 Як тестити свої ігри?

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

🧪 1. Ручне тестування
Тестуй свою гру сам:
• проходь рівні, тисни кнопки, ламай механіки;
• експериментуй — спробуй грати «не по правилах» (гравці так часто роблять).

👥 2. Дай протестувати друзям
• Запроси друзів або знайомих, які не брали участі у розробці.
• Подивись, що їм незрозуміло, що дратує або навпаки подобається.
• Добре, якщо вони різного віку або не геймери — це дасть нову перспективу.

🌐 3. Злий пробну версію гри
Це можна зробити кількома способами:
• Android: залий .apk на Google Drive, Itch.io, або Google Play Console (Internal Test).
• Windows/WebGL: використай
Itch.io або Game Jolt — легко завантажити і отримати фідбек.

Можна поставити обмеження: наприклад, перші 2 рівні або 5 хвилин геймплею — це дозволить людям спробувати і дати чесний відгук.

💵 4. Найми професійного тестера
Якщо хочеш максимально серйозного підходу — заплати фрілансеру, який займається QA
• Такі люди знають, що і як ламати, і зазвичай дають звіт із багами.
• Їх можна знайти на сайтах типу Upwork, Fiverr або freelancehunt.


🎮 5. Запусти бета-тест
• Створи закрите бета-тестування через Google Play
• Надішли інвайт лише вибраним людям або всім охочим.


Це створює ефект “ексклюзивності” й водночас дозволяє виявити баги.

📱Тестуй на різних пристроях
Перевір гру на слабкому телефоні, планшеті, різних роздільних здатностях.
Важливо бачити, як гра поводиться на старих девайсах, при низькому FPS або з повільним інтернетом.

📋 Зроби чек-лист
Перш ніж викладати гру, переконайся в наступному:

• Все зберігається правильно?
• Кнопки не зникають?
• Немає глюків при зміні сцен?
• Інтерфейс адаптований під різні екрани?
• Немає помилок у консолі?


✍️ Від себе
Не недооцінюй силу зворотного зв’язку — іноді навіть один випадковий коментар може вказати на проблему, яку ти ніколи не помічав. Якщо робиш гру не тільки для себе — обов'язково слухай гравців. І не бійтеся показувати гру рано — краще помітити помилки на початку, ніж уже після релізу.

А який спосіб вам імпонує найбільше? Пишіть нижче 👇

💻 | GAMEDEV UA | #запитання #test #тест
👍3👀1
Процедурний рух ходьби 🦾

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

Це особливо корисно для:
🌍 Ігор з відкритим світом
🎮 Проєктів зі складною механікою пересування
🤖 Ситуацій, де стандартні анімації виглядають штучно

▶️ [Переглянути відео] 👈

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

💻 | GAMEDEV UA | #туторіал #ProceduralAnimation #ПроцедурнаАнімація
🔥42
🎯 10 корисних C# атрибутів для Unity-розробника

🔹 StructLayout, FieldOffset, Preserve
Контроль над розміщенням полів у памʼяті.
Корисно для серіалізації, нативних структур або оптимізації.
[StructLayout(LayoutKind.Explicit)] — задає точне розміщення.
[FieldOffset(n)] — визначає байтову позицію.
[Preserve] — не дає Unity прибрати код при збірці.

🔹 InspectorName, DefaultExecutionOrder
Покращення зручності в інспекторі та контролю порядку викликів скриптів.
[InspectorName("Гарна назва")] — замінює імʼя змінної в інспекторі.
[DefaultExecutionOrder(-50)] — ранній або пізній старт MonoBehaviour.

🔹 NotNull, CanBeNull, UsedImplicitly
Допомагає IDE видавати попередження.
[NotNull] — не можна залишити null.
[CanBeNull] — дозволено null, IDE врахує.
[UsedImplicitly] — навіть якщо не видно використання, не видаляти.

🔹 PreferBinarySerialization
Unity-атрибут, який змушує серіалізувати об'єкт у бінарному вигляді (замість YAML).
Актуально для ScriptableObject з великою кількістю даних.

🔹 SelectionBase
Коли клікаєш дочірній об’єкт у сцені, виділяється батьківський.
Зручно для редагування складних префабів.
[SelectionBase]

🔹 Child, Parent, Self, Anywhere (Zenject-фреймворк)
Атрибути для Dependency Injection вказують, де шукати залежність: серед дітей, батьків, самого обʼєкта або глобально.
[Inject(Id = "Camera", Source = InjectSources.Self)]


🎥 Відео, де це все показано з прикладами та деталями 👈

💻 | GAMEDEV UA | #уроки #атрибути #csharp
👍9
🌀 Як зробити плавну UI-карусель у Unity?

Хочеш, щоб гравець вибирав скіни чи персонажів через красиву, плавну карусель? Ось базовий варіант, який легко реалізувати у Unity — без додаткових плагінів!

👉 How to Create a UI Carousel in Unity

🔧 Використовуємо:
• UI → Scroll View з горизонтальною прокруткою
• Кожен елемент — окрема кнопка чи панель з контентом
• Snap-ефект: автоматичне прилипання до найближчого елемента після прокрутки

💡 Для чого це можна використати?
• Вибір персонажів або скінів
• Галереї предметів, зброї чи арту
• Меню рівнів або налаштувань
• Перегляд колекцій чи статистики

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

💻 | GAMEDEV UA | #туторіал #UI #UICarousel #карусель
👍5
💡 Як придумати щось нове, коли здається, що все вже придумали?

🔹 1. Новизна ≠ винахід
Справжні інновації — це рекомбінації.

🎮 Stardew Valley — це не нова ідея. Це любовна відповідь на Harvest Moon, але зроблена з душею і якістю.

💡 Порада: змішуй жанри, механіки, стилі. Навіть мінімальна зміна контексту = нове відчуття.

🔹 2. Візьми знайоме, але переверни
Що буде, якщо в Slay the Spire ти не герой, а монстр?
Що якщо Flappy Bird — це вертикальний шутер?

🌀 Трюк: «Що буде, якщо…?» — ідеальна вправа для мозку.

🔹 3. Почни не з механіки, а з емоції
Замість “що гравець буде робити?”, запитай:

“Що гравець має відчувати?”
• Напруга?
• Радість?
• Самотність?

🎮 Journey чи Limbo — приклади, де емоція важлива, як геймплей.


🔹 4. Проблема — джерело інновацій
Багато інновацій — відповідь на обмеження.

🎮 Thomas Was Alone створив унікальні характери з… квадратів. Без бюджету на арти — автор зосередився на історії та наративах.

💡 Порада: подивись на свої обмеження не як на мінус, а як на рамки для креативу.

🔹 5. Геймджеми = ковдра ідей
48 годин. Тема. Обмеження.
Саме там народжуються шедеври!

🎯 Спробуй: щотижня сам собі ставити тему і робити 1 екран або прототип.


А що ви думаєте про це? Поділіться своїм досвідом в коментарях 👇

💻 | GAMEDEV UA | #запитання #ідеї
🔥2👍1👀1
🔍 6 маловідомих фіч C#, які зроблять твій код кращим

Якщо ти все ще логуєш Debug.Log("SomeMessage") вручну — є простіший спосіб.

Якщо твої інтерфейси лише набір сигнатур без реалізації - саме час переглянути підхід.

Якщо ти не знаєш, що yield return можна використовувати не тільки для корутин - пора це змінити.

І якщо масиви для тебе - просто [] без можливості нарізати як шматки то тебе чекає приємне відкриття.

У цьому відео розглядаються такі теми:
🔹 Автоматичне логування — не потрібно вручну вписувати назви методів у Debug.Log, компілятор зробить це за тебе.
🔹 Методи в інтерфейсах — тепер інтерфейси можуть містити базову реалізацію, що дає більше гнучкості без ламання всього коду.
🔹 Форматування чисел — легко виводь значення з потрібною точністю, відступами або символами, не пишучи зайвого коду.
🔹 Ледача ітерація (yield return) — створюй оптимальні колекції, які обробляються по елементу, тільки коли потрібно.
🔹 Явні/неявні оператори — перетворюй власні структури (наприклад, Health) у числа або назад, але без втрати безпеки типів.
🔹 Зручна робота з масивами — нарізай, звертайся з кінця, виділяй діапазони — усе просто та читабельно.

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

💡 Ці прийоми легко додати в свій проєкт – вони не про "синтаксичний цукор", а про контроль і якість.


💻 | GAMEDEV UA | #уроки #код #csharp
🔥71
🎭 Ілюзія вибору в іграх — маніпуляція чи майстерність?

У багатьох сюжетних іграх тобі дають вибір. Інколи — драматичний:
– Захистити персонажа чи зрадити?
– Напасти чи втекти?
– Вбити чи пощадити?

Але потім — все одно та ж сцена, той самий результат.
"Це не справжній вибір!" — думає гравець.
Але тут є нюанс 👀

💡 Приклад: Detroit: Become Human
Гра вся про вибір. Але:
– Багато гілок зливаються в одну
– Деякі рішення змінюють лише репліки
– Інколи є "емоційні" наслідки, але не геймплейні

І все ж: гра відчувається гнучкою. Бо ілюзія працює 💫

🤔 То як створити цю ілюзію вибору?
Ось кілька конкретних прийомів, які можна застосувати навіть у простій грі:

1. Контекстуальна реакція
Дай персонажам реагувати на вибір хоча б словами або мімікою.
🗨 “Я не очікував цього…” — і гравець вже відчуває, що щось змінив.

2. Вибір → ставлення, не події
Навіть якщо сюжет іде по рейках, ти можеш змінити відношення NPC.
🤝 Хтось тобі більше довіряє, хтось — боїться.

3. Варіативний діалог
Кілька різних реплік → та сама дія.
Але емоційно — інша мотивація, інша роль.

4. Затриманий наслідок
Нехай вибір вплине пізніше, не одразу.
Це створює ефект: “Це точно було через той вибір?”
🧠 Гравець сам додумує зв’язки — і це працює краще за пряме пояснення.

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

💻 | GAMEDEV UA | #запитання #вибір #ілюзіявибору
👍4😁1
Seven Swords V2 - 7 FREE PBR Swords

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

Досить гарні модельки. А як вам? 👇

💻 | GAMEDEV UA | #корисне #текстури #модельки
🔥4
Імпорт проєктів із Blender в Unity — просто і швидко ⚡️

1. Підготовка моделі в Blender
• Оптимізуйте меш – уникайте зайвих полігонів.
• UV-розгортка – переконайтесь, що вона правильна, інакше текстури будуть некоректні.
• Назви об'єктів – давайте зрозумілі назви, це допоможе при імпорті в Unity.

2. Експорт з Blender
📁 Рекомендований формат – FBX (підтримує анімацію, матеріали, скелети).
Кроки:
• Виділіть потрібні об’єкти.
• Оберіть: File → Export → FBX (.fbx)
Увімкніть:
- Apply Modifiers (застосувати модифікатори)
- Embed Textures (якщо потрібні вбудовані текстури)
- Animation (якщо є анімації)

3. Імпорт в Unity
• Перетягніть .fbx файл у папку Assets.
• Unity автоматично імпортує модель.
• Якщо потрібно — вручну налаштуйте матеріали або текстури.

🎥 Відеоінструкція ▶️

💻 | GAMEDEV UA | #уроки #імпорт #blender
👍2🔥1
🧠 Unity Hierarchy Hack: Додавай іконки прямо в ієрархію

🎯 Хочеш бачити статус об'єктів одразу в інспекторі?
Додавай кастомні індикатори прямо в Hierarchy — помилки, стани, попередження або будь-яку потрібну інформацію.

🛠 Через Unity Editor Events можна виводити значки, кольорові мітки, чи навіть текст біля GameObject — миттєво, зручно і наочно.

🔍 Ідеально для великих сцен, AI логіки, індикації багів або технічної інформації.

▶️ Дивись приклад тут: Hierarchy Hack – відео

📌 Працює на рівні редактора. Один раз налаштував — і бачиш все без відкриття інспектора.

💻 | GAMEDEV UA | #туторіал #HierarchyIcons #інструменти #іконки
🔥5
🚀 Git Bash та GitHub — ключ до сучасної розробки

Git — це система контролю версій, яка дозволяє відстежувати зміни в коді, працювати над проєктами в команді, та повертатися до попередніх версій у разі помилок.

Git Bash — це консоль, яка надає зручний спосіб працювати з Git у Windows. Вона дозволяє виконувати ті ж команди, що й в Linux/Unix-середовищі: додавати зміни, створювати коміти, перемикатися між гілками, зливати код тощо. Навіть якщо ти використовуєш графічний інтерфейс (як GitHub Desktop), базові знання командної строки — обов’язкові.

GitHub — це онлайн-сервіс для зберігання репозиторіїв, який дозволяє зручно співпрацювати з іншими. Він надає інструменти для контролю версій, перегляду історії змін, створення запитів на злиття (pull requests), а також публікації свого коду для open-source чи приватних проєктів.


💡 Навіщо це знати?
1. Резервне копіювання коду — будь-які зміни зберігаються, і ти можеш повернутися до стабільної версії у разі помилки.
2. Командна розробка — кілька людей можуть працювати над одним проєктом без конфліктів, завдяки гілкам і pull request'ам.
3. Впевнене тестування нових фіч — створив гілку, перевірив — злив у основну. Це безпечно.
4. Портфоліо для роботодавця — репозиторії на GitHub — найкраще свідчення твоїх навичок.
5. Автоматизація — GitHub дозволяє налаштувати автозбірку, запуск тестів, навіть деплой на сервер.

🔧 Що вивчити спочатку?
• Як створити репозиторій (git init, git clone)
• Як додати зміни та зберегти їх
(git add, git commit)
• Як надіслати зміни на GitHub
(git push)
• Як оновити локальний репозиторій
(git pull)
• Як працювати з гілками
(git branch, git checkout, git merge)

Це невелика кількість команд, які швидко запам’ятовуються і дозволяють тобі стати повноцінним учасником будь-якої розробки 🗂

📺 Для кращого старту рекомендую:
Git Bash – Simplest command line program for Windows — зрозумілий огляд Git Bash.
GitHub для початківців — коротко про гілки, коміти, PR.

🔁 Збережи цей пост, щоб не загубити

💻 | GAMEDEV UA | #уроки #git #github #gitbush
🔥4
🔁 Що таке merge-конфлікт і як його укникнути?

Коли кілька людей працюють над одним репозиторієм, Git зазвичай справляється зі злиттям змін. Але буває момент, коли Git каже: "Я не знаю, які зміни зберегти". Це і є merge-конфлікт.

🧩 Що відбувається?
Конфлікт виникає, якщо в одному й тому ж файлі, в одному й тому ж місці — різні зміни. Git вставляє спеціальні маркери конфлікту у файл:
<<<<<<< HEAD
ваша версія
=======
інша версія
>>>>>>> feature-branch

— частина між <<<<<<< і ======= — зміни з вашої гілки; після ======= — з цільової гілки .

🔙 Помилився? Скасовуй!
Якщо хочеш скасувати весь процес мерджу — введи
git merge --abort


🚫 Як уникнути merge-конфліктів:
•Частіше оновлюй свою гілку:
git pull або git fetch && git rebase.
• Не працюй над одним файлом з кількома людьми одночасно.
• Пиши менші, короткі гілки — не тримай їх довго
• Перед створенням pull request — онови свою гілку з main або develop
• І не забувай про .gitignore, щоб не конфліктували тимчасові файли

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

🔚 Merge-конфлікти — це не баг, а фіча.
Git чесно просить тебе обрати: що залишити, а що — ні. Спокійно, крок за кроком — і все буде добре 👨‍💻

💻 | GAMEDEV UA | #уроки #git #github #gitbush #mergeconflicts
2
🚶‍♀️ 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