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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
📱 Майбутнє Unity!

У свіжому виступі The Unity Engine Roadmap | Unite 2025 розповіли, куди рухається рушій:

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

Ну що, коли вже Unity 7? 😉

✈️ Gamedev | #новини #unity #unityengine
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤‍🔥221😁1
🔁 Перестань мучити свій фреймрейт: переходь на Object Pooling

Як думаєте, коли ви граєте в шутери чи патрони кожен раз спавняться з нуля? Ха-ха, звичайно що ні! Якщо тільки розробники не забули про оптимізацію :)

У реальних проєктах майже ніхто не буде щоразу викликати Instantiate для кожної кулі. І ось чому:

Чому Instantiate і Destroy — це погана ідея, коли об’єктів багато?

1) Instantiate — це важка операція

Створення нового об’єкта — це робота з пам’яттю, алокація, ініціалізація компонентів, виклик Awake/Start і всякі інші розумні слова. Це НЕ безкоштовно.

А тепер уявіть, що таких об’єктів сотні за секунду. Привіт мікрофрізи 🤯

2) Destroy — не знищує відразу

Destroy() ставить GameObject у чергу на видалення. Destroy сам по собі не обов’язково одразу запускає .NET GC, але постійні створення/видалення роблять більше сміття і підвищують ймовірність запуску збірки сміття.

Коли GC таки спрацьовує гра може на мить «зависнути», і ви отримаєте мікрофризи. (Здається це так працює)

🔧 То що ж робить Object Pooling?

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

Замість того, щоб створювати та видаляти об'єкти, ви створюєте їх один раз, а потім просто вмикаєте та вимикаєте, коли потрібно.

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

• Не можна створювати надто багато об’єктів у пулі, інакше ви просто перевантажите пам’ять (але зазвичай це не проблема)

• Об’єкти потрібно “обнуляти” перед поверненням у пул. Після використання приводьте об’єкт до початкового стану: очистіть змінні, зупиніть корутини, відпишіть від подій, скиньте Rigidbody.velocity/rotation, вимкніть таймери та ефекти.

Інакше старі стани «перетечуть» у наступні спавни та створять важкоуловимі баги.

До речі, підготував для вас вже готовий проєкт. Тому кому треба - користуйтесь
😉

✈️ Gamedev | [Проєкт] | #оптимізація #уроки #objectpooling #память
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13👍3🔥3😁21
EA купили а грошей більше нема? PIF Саудівської Аравії на межі кризи!

Всі пам'ятають цю новину? Якщо ні, то мені варто задуматись чи не на зря я роблю пости 🧐

А якщо серйозно, то відносно недавно Electronic Arts продали інвесторському консорціуму, до складу якого входять Державний інвестиційний фонд Саудівської Аравії і ще декілька компаній.

В межах цієї угоди EA оцінили приблизно у $55 млрд. Однак зараз з’ясувалося, що у PIF проблеми — спадковий принц Мухаммед бін Салман останнім часом використовував фонд не дуже ефективно.

За даними The New York Times:
"...фонд після «десятиліття дорогих і не завжди успішних інвестицій» фактично втратив вільні кошти для нових проєктів"

Причина?
Амбітні, але фінансово провальні, забаганки принца.

👇 Серед таких:

• мережа кав’ярень, яка планує експортувати каву в Австрію;

• круїзна компанія з одним кораблем;

• стартап електромобілів, який за три роки не випустив жодного авто.

Ну і як у ситуації з багатьма мільярдерами, усі активи зазвичай - у "неліквідних та проблемних (а можливо і не дуже) активах."

Офіційно речник фонду каже інше: мовляв, $60 млрд кешу є, все під контролем. Але закулісно відбувається масштабна реструктуризація, і все це під особистим наглядом наслідного принца.

І тут найцікавіше:
У репортажі згадується, що принц Мухаммед"затятий геймер", і покупка EA може бути не лише інвестицією, а й… ну, скажімо так, дуже дорогим апґрейдом бібліотеки 😂

Фонд каже, що це стратегічний вклад і що він «подвоїть свою вартість у майбутньому». Але джерела всередині фонду натякають: таймінг покупки виглядає дуже дивно на фоні фінансових проблем.

Хоча вже були дискусії на цю тему, але що ви думаєте про цю ситуацію?

✈️ Gamedev | #новини #EA #Gaming #EAFC26 #Saudi #news
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣15👍3😁21
Всім привіт 👋

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

Можете кидати і старі проєкти)

Ну що, хто покаже перший скрін? 🔥

✈️ Gamedev | #ScreenshotSaturday
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🎉42👍2
📌 Підсумок публікацій за тиждень:

Ще один тиждень пролетів. І ось підсумок!😁

🎓 Навчальні матеріали:
👁 Проблема з перешкодами для камери?
🔁 Перестань мучити свій фреймрейт: переходь на Object Pooling

📰 Новини та цікавe:
📱 Що ви думаєте про перенасичення ринку?
📱 Майбутнє Unity!
EA купили а грошей більше нема? PIF Саудівської Аравії на межі кризи!

🔨Корисне:
😎 Мультшейдинг (Toon Shading): три підходи для рендера
🔥 Шикраний бар'єр

Не забуваємо, що у першому закріпленому повідомленні є вся потрібна інформація. Що # тут не просто так!

Та також, переглядайте та діліться своїми результатами у SCREENSHOT SATURDAY!

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍4🔥21❤‍🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Всім привіт, народ. Думали я забув про вас?) А ні!

Тиждень почався доволі насичено, тому вчора не було поста. Сильно перепрошую 😅

Тому тримайте прикольну реалізацію прямої взаємодії з ігровим світом, без HUD і без «Натисни X, щоб взаємодіяти». Уся інформація та управління заховані в оточення, завдяки чому сцена відчувається максимально живою.

Можливо такий варіант реалізації може бути проблематичним (безпосередньо для гравця), але виглядає суперово! 🔥

✈️ Gamedev | #натхнення
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥17👍421🔥1
📱 Ці інді-жанри приносять сотні мільйонів...

За даними з VGI, інді-ігри з січня по вересень 2024 року принесли на Steam близько $4 млрд.

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

Виживання (Survival)

Наприклад, гра Rust (Facepunch Studios, які починали свій шлях як інді-студія) розійшлася накладом понад 20 мільйонів копій та принесла понад $2 мільярди доходу з моменту релізу

Подібним успіхом славляться інші проєкти: Valheim (Iron Gate) досягла ~12 млн продажів у перші два роки, а Palworld (Pocketpair) продала ті ж 12 млн копій на Steam за два тижні з моменту релізу, ставши одночасно найпопулярнішою грою 2024 року.

Рольові та Action-RPG-ігри

На вершині жанру рольових/екшн-RPG – великі хіти, що починалися як інді-проєкти. Black Myth: Wukong (Game Science) – пригодницьке екшн-RPG, що за два тижні зібрало понад $852 млн виручки на Steam (17.8 млн проданих копій).

Також Dead Cells (Motion Twin) – інді-рогалайк з елементами екшну, розійшовся 10 млн копіями до 2023 року.

Жахи (Horror)

Тут мали бути кооперативні ігри, але я не хотів, щоб пост був занадто великим, а враховуючи, що я ще і дуже люблю хоррори то гріх не згадати 😅

Phasmophobia (Kinetic Games) – кооперативний хорор про полювання на привидів – розійшовся майже 22 млн копій на PC і консолях, забезпечивши приблизно $300–330 млн доходу (за $15 за копію). У 2024 році він п’ять тижнів поспіль очолював чарти Steam за кількістю гравців.

Інші інді-хорори (наприклад, багатокористувацька Survival-Horror The Blackout Club, Content Warning тощо) також демонструють помітні продажі.

‼️ Ну і цей список можна продовжувати ще доволі довго... (P.S: деякі дані можуть бути застарілими. Самі розумієте чому)

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

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

✈️ Gamedev | #факти #HitGames #GamingTrends #IndieHit #індідев
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥11🔥4🤪2👍1😍1
This media is not supported in your browser
VIEW IN TELEGRAM
🎆 Швидко генеруйте VFX-текстури за допомогою EffectTextureMaker

✈️ Gamedev | [Посилання] | #туторіал #VFX #ефекти #інструменти
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥14🔥42👍1
📱 Unity 6.3 LTS. Що нас чекає?

Я настільки люблю Unity, що мені ніколи не набридне робити пости по типу цього 😀

Unity випустили перший LTS-реліз після 6.0 і він заряджений продуктивністю, стабільністю та крутим функціоналом (кожен раз одне й те саме. Здається я це вже десь чув)

Якщо говорити за нові оновлення:

• Platform Toolkit
Єдиний API для роботи з акаунтами, сейвами, досягненнями та контролерами на всіх платформах:
Android, iOS, Windows (GDK/Steam), Xbox One/Series, PS5, Nintendo Switch і Nintendo Switch 2.

• Android XR
Нові можливості: Face Tracking, Object Trackables, Dynamic Resolution.

• Доступність
Нативна підтримка screen reader на Windows, macOS, Android та iOS.

⚙️ Продуктивність, стабільність і всяке таке

Unity 6.3 пройшла Production Verification (тестування нової версії на реальних комерційних іграх, а не на демосценах) на реальних іграх.

Говорять, що результати видно одразу: -30% регресій (щоб це не означало), -22% багів від користувачів, швидкий імпорт, Play Mode та збірка.

ТАКОЖ AssetBundle TypeTrees отримали серйозні оптимізації, які різко зменшують використання пам’яті та пришвидшують збірки. Реальні проєкти показали до −99% споживання памʼяті та скорочення часу збірки в кілька разів (Це справжні цифри?)

Ще без змін не залишився і PROFILER: Новий Highlights-модуль - швидке резюме продуктивності в один клік. Це означає, що Profiler тепер сам виділяє ключові показники й проблемні місця в проєкті — без потреби копатися в сотнях графіків.

🛠 Графіка, аудіо та редактор

У графіці теж чимало апдейтів: оптимізований Bloom для мобільних, щільніші лайтмапи через xAtlas, новий Sprite Atlas Analyzer та можливість рендерити 3D як 2D.

Shader Graph отримав кастомне освітлення, терайн-шейдери та новий Template Browser.

• В аудіо з’явився Scriptable Audio Pipeline для гнучкого й продуктивного оброблення звуку.

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

Ну і найцікавіше...

Multiplayer та мережеві оновлення: Unity 6.3 LTS додає підтримку HTTP/2 за замовчуванням, що знижує навантаження на сервер і економить ресурси CPU на пристроях гравців.

Крім того, у Netcode for Entities з’явилася Host Migration через Unity Gaming Services (UGS), яка дозволяє продовжувати гру навіть після втрати хоста, забезпечуючи більш стабільний мультиплеєрний досвід.

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

✈️ Gamedev | [Джерело] | #новини #Unity #Unity3D #UnityLTS #Release #Реліз
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥10🔥421👍1
🗿 Як "забрати" об’єкти з Post Processing

Короче, згадав одну ситуацію, з якою стикнувся відносно недавно і вирішив з вами поділитися.

Треба було відділити (напевно це слово буде найбільш влучним?) деякі об'єкти від пост-обробки. На жаль у Unity немає цієї магічної і класної функції як “Exclude From Post Processing”.

Тому потрібно використовувати неординарні методи.

Чому так?

Постобробка застосовується до всього, що намалювала камера. Якщо об’єкт з’явився в кадрі ефект впливає на нього, хочеш ти того чи ні.

Тому на допомогу приходить друга камера!

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

Насправді не обов'язково робити вашу гру занадто важкою для оптимізації, адже у камері є таке чудове налаштування як: Culling Mask. Але все по порядку.

📋 Реалізація

1. Створюєш новий Layer, наприклад: NoPostProcess

Переносиш туди всі об’єкти, які не мають бути під постобробкою (UI, 3D-моделі, світло — що завгодно).

2. Налаштовуєш головну камеру (Camera_Main)

Render Type: Base

Culling Mask: усе крім NoPostProcess

Post-processing: ON

У Base камері → вкладка Stacking → додати Overlay камеру (другорядну). Ця камера малює основну сцену та накладає постобробку.

3. Параметри Overlay Camera

• Render Type: Overlay

Culling Mask: тільки ті об’єкти, які не повинні проходити постобробку

• Post-processing: OFF

Ставите цю камеру як дочірню в головну і позицію 0 0 0

Готово! Тепер Unity малює спочатку Base Camera з постобробкою, а потім Overlay Camera без ефектів, тому ваші об’єкти залишаються “чистими”.

❗️Маленьке уточнення. Якщо не помиляюсь, це працює так з URP, але трохи інакше, ніж у Built-in Render Pipeline: у Built-in не треба додавати другу камеру у Stack, порядок рендера контролюється лише через Depth і Culling Mask.

✈️ Gamedev | #уроки #PostProcessing #ПостОбробка #URP
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥4👍2🥰1
Всім привіт 👋

Ніч була тяжка.. Сподіваюсь у всіх все добре!

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

Можете кидати і старі проєкти)

Ну що, хто покаже перший скрін? 🔥

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

Ще один тиждень пролетів. І ось підсумок!😁

🎓 Навчальні матеріали:
🗿 Як "забрати" об’єкти з Post Processing

📰 Новини та цікавe:
🔥 Прекрасна реалізація взаємодії гравця без HUD і лишнього!
📱 Ці інді-жанри приносять сотні мільйонів...
📱 Unity 6.3 LTS. Що нас чекає?

🔨Корисне:
🎆 Швидко генеруйте VFX-текстури

Не забуваємо, що у першому закріпленому повідомленні є вся потрібна інформація. Що # тут не просто так!

Та також, переглядайте та діліться своїми результатами у SCREENSHOT SATURDAY!

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9😁6🔥2🥰1
👀 Рубрика: Питання для аудиторії

Багато з нас працюють в Unity, хтось в Unreal, хтось на інших рушіях.

За яким критерієм саме ви обрали свій рушій?

Чи це була зручність роботи, документація, візуальна складність, продуктивність, графіка, чи, можливо, звичка або порада знайомих?

І САМЕ ЦІКАВЕ: Що би ви порадили людині, яка тільки починає свій шлях (Порада стосовно рушія, але якщо бажаєте, то можете і в загальному сприйняти це питання 😉)

Цікаво почути вашу думку в коментарях 👇
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9🔥5🤔5🥰1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍531
📱 Generics у C# (та Unity)

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

Generics у C# – це можливість оголошувати класи, методи, інтерфейси тощо з узагальненими параметрами типу. Замість конкретного типу (наприклад int чи string) ви вказуєте параметр T, який задасться під час використання.

Наприклад, .NET забезпечує багато generic-класів для колекцій (List<T>, Dictionary<TKey,TValue> тощо), адже вони можуть зберігати будь-який тип без втрати безпеки типів* (гарантія, що змінні та об’єкти у програмі працюють тільки з тими типами даних, для яких вони призначені, і не можуть бути випадково використані неправильно).

📍 Синтаксис та створення власних generic-типів

Щоб оголосити узагальнений клас або метод, використовують синтаксис з кутовими дужками <T>. Наприклад, узагальнений клас може виглядати так:

public class GenericList<T>
{
private List<T> innerList = new List<T>();
public void Add(T item) { innerList.Add(item); }
public T Get(int index) { return innerList[index]; }
}


У цьому прикладі T – параметр типу, він може бути будь-яким (вкладений у клас GenericList<T>). Коли ви створюєте список, передаєте конкретний тип: var intList = new GenericList<int>(); intList.Add(5);.

Аналогічно можна писати generic-методи:

public void Swap<T>(ref T a, ref T b) 
{
T temp = a; a = b; b = temp;
}


Тут метод Swap<T> може поміняти місцями будь-які два об’єкти одного типу. Виклик: Swap<int>(ref x, ref y).

Якщо коротко то використовувати можна багато як. У тих же інтерфейсах і т.п. Але є ще одна цікава деталь!

⛔️ Обмеження типів (where)

Параметру T можна встановлювати обмеження (where-умови), щоб звузити, яким типом він може бути. Найпоширеніші обмеження:

where T : class T повинен бути "посилальним" типом (неможна передати int тощо).

where T : struct T повинен бути типом-значення (не клас).

where T : notnull – у контексті nullable вимоги – обмежує ненульовані типи (C# 8+).

Думаю, логіка зрозуміла.

Але якщо це канал про розробку ігор, то чому б і не згадати за практичне використання у нашому любимому Unity 😅

📱 Використання generics у Unity

Unity Scripting API містить багато generic-методів у своїй бібліотеці. Наприклад, GetComponent<T>() – це generic-метод у GameObject/Component, який повертає компонент типу T (де T : Component)

Використання:

Rigidbody rb = gameObject.GetComponent<Rigidbody>();


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

Ще один прикладAddComponent<T>() – generic-метод GameObject.AddComponent<T>(), який додає компонент типу T до ігрового об’єкта. Сигнатура: public T AddComponent<T>()

SphereCollider sc = gameObject.AddComponent<SphereCollider>();


Також гріх не згадати: UnityEvent<T> та Системи Entities (ECS).

Ну і базові методи по типу FindObjectOfType<T>() / FindObjectsOfType<T>(), GetComponentInChildren<T>(), GetComponentInParent<T>().

Тобто, якщо ви не знали точно, що таке Generic, то ви 100% з ним стикались.

⚠️ Звісно, хоча існують і нюанси, але краще прочитати самому, якщо це вам настільки цікаво.

[Джерело 1] / [Джерело 2] / [Джерело 3].

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

✈️ Gamedev | #уроки #Generic #csharp #unity
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥15👍51👎1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
⛓️‍💥 Прискорте гру за допомогою об’єднання мешів

Якщо ви збираєте сцени з модульних асетів, підвищити продуктивність можна, об’єднавши їх в один меш за допомогою Mesh.CombineMeshes

✈️ Gamedev | [Документація] | #оптимізація #mesh #GameOptimization
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥82❤‍🔥1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🤯 Редактор ландшафтів на основі сплайнів. Як вам таке?

✈️ Gamedev | [Джерело] | #натхнення
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥184👍3❤‍🔥2🥰1
📱 Valve заборонила рекламу скінами, кейсами та гемблінг‑сайтів на турнірах!

Цього тижня гучних новин не було, або я не побачив, тому тримайте приємно-чілову (сподіваюсь) новину:

Valve оновила правила проведення турнірів та ліцензію для використання своїх ігор у кіберспорті і тепер на всіх офіційних подіях (як рейтингових, так і нерейтингових):

заборонена реклама сайтів з відкриттям кейсів, торгівлею скінами та скін‑гемблінгом,

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

організатори не можуть приймати спонсорів, чиї доходи базуються на порушенні угод Valve/Steam.

Це велике оновлення для CS2‑сцени: багато команд вже прибрали подібні спонсорські логотипи перед останніми великими турнірами.

👉 Заборона має посилити контроль над використанням IP Valve та вплинути на фінансування турнірів і команд.

✈️ Gamedev | #новини #Valve #CS2 #кіберспорт #гемблінг #скіни
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍2😁1👀1🤝1
Всім привіт 👋

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

Можете кидати і старі проєкти)

Ну що, хто покаже перший скрін? 🔥

✈️ Gamedev | #ScreenshotSaturday
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥7🔥21👍1
📌 Підсумок публікацій за тиждень:

Ще один тиждень пролетів. І ось підсумок!😁

🧊 Проблеми з фізикою? Physics Debugger допоможе!

📱 Generics у C# (та Unity)

👀 За яким критерієм саме ви обрали свій рушій?

🤯 Редактор ландшафтів на основі сплайнів

📱 Valve заборонила рекламу скінами, кейсами та гемблінг‑сайтів на турнірах!

⛓️‍💥 Прискорте гру за допомогою об’єднання мешів

Не забуваємо, що у першому закріпленому повідомленні є вся потрібна інформація. Що # тут не просто так!

Та також, переглядайте та діліться своїми результатами у SCREENSHOT SATURDAY!

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11❤‍🔥2🔥2🥰1
🌄 Камені та валуни з варіаціями

✈️ Gamedev | [Забрати] | #корисне #текстури #гори #матеріали
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥4🤝21