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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
Всім привіт 👋

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

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

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

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

Трішки мало постів, бо я на канікулах. Але скоро буде більше активності. Тому не переживайте 😉

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

📹 Як FOV камери сцени в Unity допомагає створювати кращу перспективу

🔫 Як зробити так, щоб зброя НЕ проходила крізь стіни

🧐 Корутини & Task в C#

🚨 Steam лежить: користувачі масово не можуть підключитися

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

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

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1043❤‍🔥1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
🧱 Чому кулі пролітають крізь обʼєкти і як це виправити

✈️ Gamedev | #туторіал #UnityPhysics #CollisionDetection #Raycast
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥134🔥1
Сьогодні без поста. Тримайте декілька фото з Львіварні!

Було дуже круто! Сподобалось - все. Особливо дегустація 😋
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰195🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ Доволі нестандартний UI))

Можливо хтось надихнеться 🤔

✈️ Gamedev | #натхнення
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥246😍52👀1
Ну що? Побачимося наступного року 👋
🎉18👍32🤩2🥰1
📱 А чи знали ви, що в Unity 6.3 LTS тулбар повністю переробили?

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

Саме через цю зміну багато старих тулзів з Asset Store (наприклад, Time Scale слайдери) перестали працювати — вони покладалися на reflection і внутрішню структуру тулбара.

Можливо кому треба / [Відеоролик] 👈

✔️ Правильний сучасний підхід — використовувати UnityEditor.Toolbars і UI Toolkit для створення нативних кнопок та слайдерів без reflection і хаків, що гарантує повну сумісність з новою архітектурою Unity та стабільну роботу editor tools у майбутніх версіях 🚀

✈️ Gamedev | #факти #новини #корисне #туторіал #Unity #LTS
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥10🔥4👍2
Так народ. Сьогодні без поста. Захворів на новий рік. Дуже романтично...

Температура 39, цілий день паршиво. Тому сорі
😢22🫡8🙏32😨2
Всім привіт 👋

Ну що? Перший ScreenshotSaturday у 2026 році)

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

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

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

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

Ну що? Потрібно трішки активніше робити пости і розвивати канал 🚀

А поки ось підсумок! 😁

🧱 Чому кулі пролітають крізь обʼєкти і як це виправити

📱 А чи знали ви, що в Unity 6.3 LTS тулбар повністю переробили?

❤️ Доволі нестандартний UI))

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

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

(P.s: Увага на другий пост 👇)

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
1😁5❤‍🔥2🤣2🥰1
Всім привіт, народ 👋

Канікули закінчуються, новий рік настав, я навіть встиг захворіти (вже ніби все норм) і варто знову брати себе в руки. Пости будуть частіше, явно більше 3 на тиждень)) Не переживайте, усе в міру 😉

Мушу подякувати всім хто тут є. Нас, поки, рівно 600! Я дуже радий, що вам тут цікаво, можливо, моментами навіть корисно. А особливо за активність. ДЯКУЮ!!!

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

Пишіть сюди:
@DevAndrew 👈

⚠️ І ще маленьке прохання: рідко таке прошу, але якщо можете допомогти каналу — запросити друзів або поширити — будь ласка. Це дуже заохочує рухатися далі в цьому ж напрямку.
Please open Telegram to view this post
VIEW IN TELEGRAM
115👍3🥰21
📱 Потоки в C#: базові поняття та цілі

Геніальна фотка, правда?) 😋

Всі ж пам'ятають ось цей от пост, де ми говорили про Task і Coroutines? Якщо ні - прочитайте. А якщо так, то там ви точно мали читати щось про потоки і т.п. Що таке ці "потоки" і чому вони такі важливі?

Давайте розберемося трішки детальніше:

Потік (thread) – це незалежна лінія виконання всередині програми. В одному процесі може працювати кілька потоків одночасно, і вони ділять одну й ту ж пам’ять.

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

⚙️ Основні API: Thread, ThreadPool, Task і async/await

Не буду забивати вам голову знову одним і тим самим, тому лише про основні моменти.

Клас Thread (System.Threading.Thread): дозволяє створити новий потік.
Thread th = new Thread(() => {
// Код, що виконується в новому потоці
Console.WriteLine("Потік виконується");
Thread.Sleep(1000);
});
th.Start(); // Запуск нового потоку


Thread.Sleep
блокує конкретний потік, а не весь додаток.

Thread
– це низькорівневий ОС-потік, який створює реальний паралельний потік виконання; ти сам контролюєш його старт, завершення, пріоритет і синхронізацію.

А Task – це високорівнева абстракція для асинхронної або паралельної роботи, яка не обов’язково створює новий потік, а зазвичай використовує потоки з пулу (ThreadPool); Task зручний для отримання результатів, обробки винятків та інтеграції з async/await (про них читаємо у вищезгаданому пості).

Про практичне використання теж можете прочитати у тому пості. Або ж у загальному:

UI-додатки (Windows Forms, WPF, Unity): не блокувати інтерфейс користувача під час тривалих операцій (завантаження файлів, мережеві запити).

Мережеві операції та I/O: Task + async/await дозволяють чекати на завершення запиту без блокування потоків.

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

ℹ️ Джерела: [Thread?] / [Thread]

✈️ Gamedev | #уроки #csharp #tasks #async #thread
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤‍🔥932🔥2🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
😮 Візуальний дебаг AI ворогів за допомогою OnDrawGizmos()

✈️ Gamedev | #туторіал #AI #EnemyAI #OnDrawGizmos #Debugging
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥143👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Не знаю, що це. Але виглядає круто 🤔

✈️ Gamedev | [Джерело] | #натхнення
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥17❤‍🔥21
📱 Що таке UniTask?

Під ось цим от постом просили - роблю.

UniTask інтегрується у цикл PlayerLoop*, завдяки чому асинхронні операції  (мережеві запити, події, корутини тощо) можна просто «await’ити» без зайвих звернень до потоків.

🚀 Технічні особливості

PlayerLoop-орієнтованість: як вже булл сказано - UniTask інтегрується у PlayerLoop. Завдяки цьому він коректно працює в середовищах без потоків (WebGL, WASM).

Структурний AsyncMethodBuilder: UniTask використовує власний механізм async/await на основі value-типів, завдяки чому не створюються об’єкти Task у памʼяті. Це зменшує GC-алокації й краще підходить для однопотокової архітектури Unity.

Pooling об’єктів: UniTask агресивно кешує «promise»-об’єкти та внутрішні структури стану, щоб мінімізувати GC. До речі розробник може встановити максимальний розмір кешу через TaskPool.SetMaxPoolSize. Не знаю для чого це вам, але ви можете 😎

Async LINQ та стріми: якщо коротко — UniTask v2 дозволяє працювати з асинхронними послідовностями і використовувати знайомі LINQ-операції (Where, SelectAwait, ForEachAsync) без блокування Unity. Але про це краще читати в документації...

⚙️ Основні API та способи використання

• Методи UniTask.Delay, DelayFrame, Yield, WaitUntil, WaitForEndOfFrame, WaitForFixedUpdate працюють так само, як звичні yield return у корутинах або Task.Delay/Task.Yield.

UniTask.WhenAll, WhenAny, WhenEach дозволяють запускати кілька завдань одночасно, а потім отримати результати відразу всіх або першого завершеного.

UniTask.RunOnThreadPool дозволяє запускати роботу у фоновому потоці, як Task.Run (але не на WebGL).

• Якщо у тебе є колбек, який повертає результат пізніше, його можна обгорнути через UniTaskCompletionSource<T>, щоб можна було робити await.

Приклад:
// Функція повертає UniTask<int>, тобто асинхронну задачу, яка рано чи пізно дасть число
public UniTask<int> WrapByUniTaskCompletionSource() {

// Створюємо «обіцянку» (порожній UniTask), яку можна буде заповнити результатом пізніше
var utcs = new UniTaskCompletionSource<int>();

// Коли результат буде готовий (наприклад, після завершення колбеку чи події),
// викликаємо utcs.TrySetResult(value), і тоді await отримає цей результат
// Приклад: utcs.TrySetResult(100);

// Повертаємо сам UniTask, на який можна зробити await
// Код, який викликає цю функцію, буде чекати, поки результат не буде встановлено
return utcs.Task;
}


🔎 Порівняння з Task та Coroutine

Coroutine: Дає можливість «yield» вікон без багатопоточності, але обмежена: не підтримує повертання значень чи природну обробку виключень, не має try/catch (через обмеження синтаксису yield), виділяє пам’ять для ламбд і самої корутини, складно робити узгоджені відміни або запуск декількох корутин синхронно.

Task/ValueTask (.NET): Працює поза контекстом Unity (через потокове виконання, SynchronizationContext, ExecutionContext), часто викликає значні алокації (Task об’єктів), і на WebGL недоступний (немає потоків).

UniTask: Поєднує переваги async/await без недоліків: працює в одному потоковому циклі Unity, підтримує await для всіх Unity-операцій (AsyncOperation, ресурси, мережеві запити, події), а також усіх асинхронних конструкцій (LINQ, канали тощо). При цьому UniTask має мінімальні витрати на пам’ять (значно менше GC, ніж Task)

Також ось ще моменти про які варто згадати:

1️⃣ Скасування і життєвий цикл

UniTask підтримує CancellationToken, що дозволяє відміняти асинхронні завдання при знищенні об’єктів або за таймаутом.

2️⃣ Fire-and-forget

Якщо потрібно просто запустити асинхронний код без очікування результату, використовують async UniTaskVoid або метод .Forget().

3️⃣ Інтеграція з популярними пакетами

UniTask дозволяє просто «await» будь-яку UnityAsyncOperation (AssetBundle, UnityWebRequest, анімації DOTween, звантаження адресабл тощо) без додаткової обгортки.

ℹ️ Джерела: [UniTask] / [PlayerLoop] / [Table of Contents]

✈️ Gamedev | #інструменти #уроки #csharp #tasks #async #UniTask #Task

* PlayerLoop - внутрішній головний цикл Unity, який кожен кадр виконує всю логіку гри в чітко визначеному порядку
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍3🔥3
🇺🇦 Українська мова в Steam зростає

Просто приємна новина вам під вечір 😁

Станом на грудень 2025 року українську мову інтерфейсу в Steam використовують 0,99% користувачів.

Для порівняння: у 2021 році цей показник був лише 0,18% !

За 4 роки українська:


• обігнала чеську та нідерландську

• увійшла в топ-15 мов Steam

• показала одне з найдинамічніших зростань

Дані взяті зі Steam Hardware Survey, а тренд активно обговорюють у спільнотах та на Reddit.

💡 Це особливо важливо, бо з серпня 2025 Steam почав рахувати окремі рейтинги ігор за мовою інтерфейсу, щоб краще враховувати регіональні відмінності.

➡️ Висновок очевидний: українська локалізація впевнено набирає обертів!

✈️ Gamedev | #новини #Steam #gamedev #локалізація
Please open Telegram to view this post
VIEW IN TELEGRAM
28🔥5👍3🥰31
💀 Найтрешовіші фейли на співбесідах

Випадок №1:
Одного разу я проводив тренувальну технічну співбесіду в місцевому коледжі й чекав, поки зберуться всі студенти. Коли всі нарешті прийшли, я сказав:
«Добре, давайте починати, хлопці».

Один зі студентів одразу відповів:
«Я думаю, нам варто почекати, поки прийде інтерв’юер».

Я подивився на нього своїм найкращим “смертельним поглядом” і сказав:
«ІНТЕРВ’ЮЕР — ЦЕ Я».


Випадок №2:
(Розповідає та ж особа) Іншого разу я проводив співбесіду з кандидатом на позицію у відеоігровій компанії. Ми запитали його, які стратегії він би використовував для оптимізації eCommerce-сайту.

Його відповідь була:
«Я б мінімізував for-цикли».


Це стало нашим внутрішнім жартом на наступні 4 роки.

Мораль історії: Не робіть припущень і не відповідайте п’ятьма словами на відкрите питання.

А які треш-випадки на співбесідах траплялися у вас?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁163🥰2🤣1
Всім привіт 👋

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

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

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

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

Ще один тиждень. А ось і підсумок:

📱 Потоки в C#: базові поняття та цілі

📱 Що таке UniTask?

😮 Візуальний дебаг AI ворогів за допомогою OnDrawGizmos()

🤔 Не знаю, що це. Але виглядає круто

🇺🇦 Українська мова в Steam зростає

💀 Найтрешовіші фейли на співбесідах

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

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

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🥰4🤣2😁1