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

Зв’язок: @DevAndrew

Анти-скам бот: @IndieSafeBot
Download Telegram
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
📱 Локалізація через CSV

Всім привіт. Всі ж пам'ятають ось цей от асет? Якщо ні — раджу зазирнути, штука справді зручна 👀

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

Звучить доволі круто, правда? 🔥

Про що взагалі мова?

Мова йде про просту систему локалізації в Unity на базі CSV, яка підходить насамперед для інді-проєктів. Так, у Unity вже є офіційний Localization Package, який покриває майже всі кейси. Але інколи він здається надто важким або перевантаженим, особливо для невеликих ігор. Тому тут показано лайт-альтернативу з власними плюсами.

⚙️ Як це влаштовано під капотом:

🔹 CSV-таблиця з перекладами
Всі тексти гри зберігаються в одній CSV:

• перший рядок — назви мов;

• кожен рядок — один і той самий текст різними мовами.

0 | Ukr    | Eng       | Jap
1 | текст | text | 文章
2 | меню | settings | 設定
3 | ПКМ | RMB | 右クリック
4 | гей | hello | こんにちは


🔹 ScriptableObject як “посередник”

Вся логіка локалізації зосереджена в одному ScriptableObject, який зберігає CSV як TextAsset, один раз парсить таблицю на старті гри, пам’ятає поточну мову, віддає локалізовані рядки іншим скриптам і кешує текстові обʼєкти для автоматичного оновлення. Також це можна викликати з інших скриптів:

InitializeLocalizator(); // На старті сесії один раз парсить CSV, згадує поточну мову, нехай "Ukr"

GetStringText(2); // Повертає string з рядку 2 і стовпчику поточної мови = "меню"

FillTextObject(2, textObj); // Передає в textObj.text = "меню"; кешує textObj і рядок

ChangeLanguage("Jap"); // Перезаписує поточну мову
|
--> TranslateAllTexts(); // Усім кешованим об'єктам замінює текст (той же рядок, інша колонка).
//Те, що текстові об'єкти в кеші, дозволяє тут же міняти і їх шрифт, наприклад, якщо потрібні ієрогліфи*

*А тут згадаємо ще один пост: як бути, якщо CJK шрифти не відображаються

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

1. Заповнити таблицю своїми текстами і перекладами

2. Де Start() > дописати виклик InitializeLocalizator

3. Підв'язати метод ChangeLanguage до кнопок, що міняють мову

4. При спавні тексту > викликати для нього FillTextObject, щоб він далі сам перекладався і міняв шрифт

5. Якщо потрібно просто брати значення > викликати GetStringText

Надійніше вести стовпець в таблиці з текстовими ключами, щоб звертатись до рядків по ним, а не по індексам:
using LocalizationSystemMini;

[SerializeField] private InputStringsScriptableObject textStrings;

var hi = textStrings.GetStringTextByKey("hi_key");
var userName = "..."; // Ім`я гравця

textObj.text = $"{hi}, {userName}!";

// За потреби можна оновити шрифт вручну. Актуальний береться зі списку мова-шрифт, який розробник складає в скриптабл об'єкті
textObj.font = textStrings.GetCurrentFont();

Таким чином код буде мати доступ до локалізованого тексту, і виводити його на сцену.

Щоб додати мову й відредагувати переклади, достатньо відкрити CSV. Так можна перекласти цілий стовпець, пропустивши його через перекладач (або наш любимий ШІ). Або працювати з локалізаторами, у яких немає доступу/пристрасті до інспектора)

🎁 В джерелі можна завантажити .unitypackage, взяти собі в проект готову структуру таблиці + скриптабла, одразу додати щось в CSV і спробувати викликати в коді. Система вже передбачає збреження мови між сесіями, підтримку шрифтів для різних мов і ще деякі цікаві фічі.Наприклад, переклади з плейсхолдерами {var}, розкиданими по тексту залежно від порядку слів у мові.

А що ви думаєте про такого роду підхід? Або якому ви би надали перевагу?

✈️ Gamedev | [Забрати] | #корисне #локалізація #переклад #localization
Please open Telegram to view this post
VIEW IN TELEGRAM
9🔥4❤‍🔥3
Ого, нас уже 600! 🎉
Вітаю всіх і дякую кожному з вас. Я справді дуже ціную нашу з вами спільноту.

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

Дякую, що ви тут 💙
🎉27👏5🔥4👍3
📱 Unity знову може змінити правила гри

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

Unity МОЖЕ запровадити нове щорічне мінімальне фінансове зобов’язання для клієнтів рівня Enterprise. Йдеться про суму від $250 000 до $2 000 000 на рік, яка буде прив’язана до валового доходу компанії за останні 12 місяців.

Згідно з листом, який Unity розіслала клієнтам цього тижня, нововведення працюватиме в межах Unity Enterprise Minimum Commitment Program. Компанії, які за умовами ліцензії зобов’язані використовувати Enterprise, мають сплачувати мінімальну суму зобов’язання на початку кожного підписного року. Ці кошти зараховуватимуться в рахунок ліцензій та сервісів підтримки Unity.

⚠️ За інформацією джерел, Unity також пригрозила відкликанням ліцензій у разі відмови від участі в програмі.
«Ми готові платити більше за ліцензію, але прив’язка плати до нашого доходу — це вже занадто. Це виглядає як шантаж», — коментує один із розробників.


📈 Нагадаємо, що з 12 січня 2026 року:

• ціни на Unity Pro та Enterprise зростуть на 5%;

• Havok Physics for Unity більше не входитиме до планів Pro, Enterprise та Industry.

Після скандалу з Runtime Fee Unity обіцяла повернути довіру спільноти, однак нові кроки знову викликають питання: чи не перетворюється рушій на “податок з доходу” для розробників?

✈️ Gamedev | #новини #Unity #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
👀17🤬4🙏1
This media is not supported in your browser
VIEW IN TELEGRAM
🚦 Рендер 3D-моделей з 2D-сортуванням і 2D-освітленням

Чомусь згадав одну гру... Не можу згадати назву 🤔

✈️ Gamedev | #туторіал #3D #2DRendering #2DLighting
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1042👏1
Маленька дискусія на кінець робочого тижня 🤔

Привіт
, народ! 👋

Пам’ятаю, вже була невелика дискусія на цю тему, але цікаво почути вашу думку безпосередньо зараз.

Чи можна вважати ігри мистецтвом?

Думка автора — так.

Так, можливо, є різниця між грою, створеною суто для заробітку, і грою, в яку автор вкладає ідею. Але питання — чи заробіток є головною ціллю?

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

Цікаво почути вашу думку 👇

#запитання
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍2🤔2🥰1
Всім привіт 👋

Трохи пізно, але стало цікаво чи буде більше активу, якщо кидати перед сном, коли більшість зараз грають якусь Civilization V і в теорії можуть кинути якийсь скрін))

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

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

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

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

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

📱 Локалізація через CSV

🚦 Рендер 3D-моделей з 2D-сортуванням і 2D-освітленням

📱 Unity знову може змінити правила гри

🤔 Маленька дискусія на кінець робочого тижня

🌄 Камені та валуни з варіаціями

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

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

✈️ Gamedev | [Підтримати канал тут]
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9🤣3👍211
This media is not supported in your browser
VIEW IN TELEGRAM
🔫 Як зробити так, щоб зброя НЕ проходила крізь стіни

✈️ Gamedev | #туторіал #3d #Render #NoClipFix #Raycast
Please open Telegram to view this post
VIEW IN TELEGRAM
20❤‍🔥6👍4🔥2👨‍💻1
This media is not supported in your browser
VIEW IN TELEGRAM
📹 Як FOV камери сцени в Unity допомагає створювати кращу перспективу

✈️ Gamedev | [Джерело] | #натхнення
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥18🔥52👍1
Так, народ. Я тільки що програв у покер. І пів дня не було світла.

Тому без поста сьогодні.

Єдиний момент: сходимося на тому моменті, що ігри це мистецтво?)
😁26🔥83
🧐 Корутини & Task в C#

Так. Почнемо з простого: чи всі взагалі знають різницю?

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

Давайте поясню:

📱 Таски (Task) у C#:  це асинхронні операції переважно реалізовані в рамках Task-based Asynchronous Pattern (TAP). Центральним класом є System.Threading.Tasks.Task, який «представляє одну операцію, що не повертає значення і зазвичай виконується асинхронно».

Що це означає? Це спосіб запустити якусь роботу так, щоб програма не зависала і могла займатись іншими справами, поки ця робота виконується. Задачі (Tasks) зазвичай використовуються для виконання асинхронної роботи поза основним (UI) потоком, зокрема через пул потоків .NET.

При використанні ключового слова async/await компілятор C# «перетворює ваш код у станoву машину». Це означає, що метод, який містить await, компілюється у спеціальний клас, що відстежує, де саме припинити виконання і як відновити його після завершення фонової операції.

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

📱 Coroutines в Unity використовують механізм yield return для очікування різних подій (наступного кадру, затримки через WaitForSeconds тощо).

Unity щокадру перевіряє список активних корутин: якщо відбулася подія очікування (наприклад, минув час WaitForSeconds або настало наступне оновлення кадру після yield return null), відповідна корутина відновлює виконання.

Таким чином корутина «розбиває» завдання на частини по кадрах, але завжди в межах основного потоку рушія.

Не переживайте. Лінки на які не які документації я залишу 😅

Якщо підсумувати основні відміності:

Потоковий контекст: Задачі C# зазвичай працюють у фонових потоках, звільняючи основний потік для інших операцій. А Unity-корутини навпаки виконуються виключно на основному потоці рушія (ігровому циклі).

Механізм виконання: У C# асинхронний метод з await компілюється в станoву машину, яка «відслідковує виконання на await та продовжує його після завершення фонового завдання». Корутина ж реалізована через ітератор IEnumerator і генерує схожий механізм: під час компіляції C# утворюється клас, що зберігає поточний стан методу між yield-блоками.

Синхронізація та очікування: У TAP-методі C# очікування завершується подією/сигналом: коли фонове завдання виконується, воно «оповіщає» про свій стан, і тоді викликаються методи-продовжувачі (continuations). Це не вимагає постійного опитування як в Unity-корутинах, де перевірка відбувається щокадру.

Призначення та використання: а тут самі подумайте: хто з Вас використовував таски для якихось анімацій (чи для чого там ще потрібні корутини))?. Task призначені для будь-якого асинхронного програмування (мережевих запитів, паралельних обчислень тощо).

ℹ️ Джерела: [Task.class] / [Asynchronous] / [await] / [Coroutines]

Не знаю чи заходить вам такого роду контент, але сподіваюся, що так.

Наступного разу, можливо, розкажу "що це за потоки" / Threads трішки детальніше
🔥

✈️ Gamedev | #уроки #csharp #tasks #coroutines #unity #async #gamedev
Please open Telegram to view this post
VIEW IN TELEGRAM
13🔥62
🚨 Steam лежить: користувачі масово не можуть підключитися

Спокійніше. Просто автор любить клікбейтні заголовки 😉

Багато гравців повідомляють, що Steam не запускається або зависає на “Connecting”. Не працює вхід, Store та Community — проблема підтверджена моніторингом (SteamDB, Downdetector), зачеплені авторизація та веб-сервіси.

🔎 Що робити, якщо Steam не підключається


Спочатку перевірте, чи це глобальний збій Steam (SteamDB або Downdetector). Якщо були залогінені раніше, спробуйте Offline Mode для синглплею, як в старі, добрі 10-ті роки.

Якщо проблема лише у вас, спробуйте:
• перезапустити Steam і ПК;
• вимкнути VPN / проксі;
• перевірити фаєрвол або антивірус;
• очистити кеш (steam://flushconfig);
• вийти зі Steam Beta або запустити з -tcp.

ℹ️ Чому так?
Steam обслуговує понад 30 млн онлайн-користувачів, і під час пікових навантажень або техобслуговування (часто у вівторок) можливі збої.

📩 Якщо Steam не працює навіть після стабілізації сервісів, тоді варто звернутися в Steam Support.

✈️ Gamedev | [Джерело] | #новини #Steam #Downtime #Gaming #PC #SteamDown
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👀31🤔1
Всім привіт 👋

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

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

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

✈️ 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