Історія створення Silver Cats
- Silver Cats

- 31 бер. 2022 р.
- Читати 7 хв
Оновлено: 15 трав.

Розробку RPG я розпочав у 2017 році, коли створив новий проект у Unity та розпочав роботу над кодом системи. Проте світ гри був вигаданий набагато раніше – у 2014 році, і з цього року я хотів би розпочати.
У 2014 році про розробку ігор я навіть не мріяв – мені здавалося, це надто складна справа, з якою у мене нічого не вийде. Тоді я писав оріджинал фанфіки, і у 2014 році світ гри народився як невелика пригодницька історія, яку я потім закинув та видалив.
Однак тодішній інтерес про те, як створюються комп'ютерні ігри, привів мене до відповідних запитів у Гуглі, а згодом до статті про ігрові рушії та 3D моделювання. Так я дізнався про те, що ігровий рушій – це не таємнича технологія, а цілком звичайна програма, де в залежності від навичок розробника можна робити різні ігри. Наступний мій гугловський запит «що таке рушій» привів на статтю про Unity, я встановив версію Unity 4 і почав з цікавістю в ній копатися.
У мене залишилося мало скринів з того часу, та й виглядають вони не презентабельно, і все ж з історії слів не викинути.
На той час Unity вважався «тільки для мобільних ігор», і все ж в інтернеті я знаходив час від часу туторіали для ігор на ПК, що дуже тішило. Скачав різні ассети з плагінами і почав розбиратися – це мені допомогло поступово опанувати рушій. У той час не було планів на майбутнє, я знаходив якусь функцію рушія і просто про неї гуглив. Тоді я вже точно знав, які ігри хотів би робити, тому шукав гайди для комп'ютерної розробки та, по можливості, для фентезійних RPG.

(Моє перше меню в Unity, 2014 рік)
Багато відеоуроків з того часу я вже не знайду, до того ж, вони давно не актуальні. Я тоді просто дивився відео і повторював все, що там відбувалося, у тому числі переписував код і намагався зрозуміти, як він працює. Багато чого було незрозуміло через незнання англійської, але деякі «патерни» написання коду я засвоїв. Наскільки пам'ятаю, ці гайди були застарілими навіть на той час, і мені доводилося шукати на форумах інформацію про помилки, які розмножувалися в консолі, як гриби після дощу.
Я захоплювався жанром MMORPG, особливо азіатськими іграми, і вирішив розпочати самонавчання у цьому напрямі. Було зрозуміло, що створення MMORPG мені не світить, а для того, щоб створити звичайну RPG, безкоштовного контенту з Asset Store було недостатньо. Через деякий час самонавчання стало зрозуміло, що без знання програмування неможливо створити ту гру, яку я хотів. У мене були крихти знань Java, які залишилися після роботи над модом для Майнкрафта, але C# виявився зрозумілішим і, скажімо так, душевно ближче, тому почав шукати уроки з C#. Так я знайшов старі відеогайди і почав самонавчання.
Через деякий час мені якось вдалося освоїти ази Blender, і я змоделював свою першу локацію – невелику печерку. Я розділив модель печери на шматки, і у кожного шматка була своя текстура 2048х2048 пікселів.

(Скріншот печери в Blender, 2014 рік)
Вовтузився з цим дуже довго, що не дивно, адже такий спосіб створення локації дещо збочений. Результат мене влаштував, я експортував все це в fbx, імпортував у рушій і призначив кожному шматку печери свій матеріал з текстурою. Також використав персонажа зі Standard Assets і міг вільно ним бігати, змоделював паркан, каміння, ліхтарі, і розмістив це все всередині печери.

(Печера в Unity, 2014 рік)
Потім зробив мобів-слимаків, які спавнілись при старті, і ніби навіть була простенька система бою. Але мені цього було мало, я хотів повноцінну гру, а не одну локацію.
Через два роки такого самонавчання я створив перший «варіант» майбутньої гри. На той час я вже мав якісь базові знання C# і Blender, плюс під рукою були хороші туторіали, і в результаті я зміг зробити більш-менш готову локацію.

(Перший закинутий проект, 2016 рік)
У цьому проекті народилися зародки майбутньої системи. Найскладнішим для мене було створити комірчатий реманент – здається, тоді ще не було UI і весь інтерфейс був написаний кодом за допомогою GUILayout. Хоч на реманент я витратив чотири місяці, деякі баги виправити все одно не міг. Плюс у GUILayout були проблеми з масштабуванням на різній роздільній здатності екрану, та й взаємодія з інтерфейсом була незручною.
Також важко мені далася система навичок, які можна було вивчати та прокачувати. У наступних проектах довелося видалити її: я просто не вмів робити анімації, а така система потребує багато унікальних анімацій. У результаті залишилися лише пасивні скіли, які вивчалися один раз і без прокачування.

(Перший закинутий проект, 2016 рік)
Якість мене не влаштовувала, до того ж на той момент я дізнавався багато нового як про рушій, так і про програмування, вже частіше заглядав у довідку Microsoft, а не на форуми, і в принципі деякі речі міг робити сам. Було вирішено видалити цей проект і створити новий. Так, у 2017 році я створив другий «варіант» майбутньої гри. Чим більше я вивчав C#, тим менше мені подобався мій код, тому новий проект я створив з нуля і повністю переписав ігрову систему.

(Другий закинутий проект, 2017 рік)
Графіку вирішив робити у реалізмі, що мене тоді влаштовувало. У цій версії я довго порався зі скриптом кастомізації, який підвантажував модельки броні на персонажа. Не пам'ятаю, скільки на це пішло часу – здається, місяці два – і все ж таки за допомогою купи прогорнутих форумів вдалося знайти рішення. Але це все одно була не та гра, в яку я хотів грати. Тому я кинув цей проект та створив третій «варіант» майбутньої гри. Було вирішено робити його повністю в hand-painted стилі, до того ж у мене залишалася робоча система з попереднього проекту. Виглядав він так:

(Третій закинутий проект, 2017 рік)

(Третій закинутий проект, 2018 рік)
Система гри поступово розвивалася. Довелося відмовитись від реманенту, написаного з GUILayout, і переробити його з нуля, використовуючи UI. Також я додав торгівлю з NPC та систему квестів. Через деякий час була навіть готова невелика сюжетка із вбивством боса наприкінці, але після довгих роздумів я дійшов висновку, що це все одно не та гра, в яку я хочу грати. У результаті кинув її та створив останній проект, над яким працював з 2018 по 2020 рік – Silver Cats.
Набуваючи нових навичок я розумів, що якщо серйозно цим займуся, то через якийсь час зможу довести роботу до кінця. Планувалося робити гру один рік, і я не підозрював, що розробка затягнеться на три роки. Я переніс систему гри в новий проект, трохи переписавши код, після чого почав робити початкову локацію.

(Початок роботи над локацією «Долина шахтарів», Silver Cats, 2018 рік)
Було вирішено робити оточення у hand-painted стилі, а персонажів у реалізмі. Болванки персонажів, створені в Makehuman, були досить гарної якості для інді гри, а робити персонажів з нуля було б надто довго.
З кожним місяцем гра розросталася дедалі більше. Я написав систему крафту, бартеру, загострення, інкрустації, гравіювання, а також переробив інтерфейс. Коли кількість AI на локації перевалила за 500, я на подив помітив, що гра може виснути не тільки від графіки, а й від коду. Довелося навчитися використовувати профайлер, де було видно, скільки пам'яті забирає той чи інший процес – мої скрипти завантажували оперативку майже повністю. Довелося довго думати, як оптимізувати AI, але це дало свої плоди. На старому ноутбуці, де я тестував гру, раніше можна було грати лише на мінімалках, але після оптимізації скриптів він почав тягнути її на середніх. З того моменту я враховував це під час написання коду.

(Долина шахтарів, Silver Cats, 2020 рік)
Unity, Krita та Blender на той час вже мали всі необхідні для роботи функції. Моделювати, програмувати та малювати текстури я вмів, тільки з анімацією та партиклами були проблеми. Болванки персонажів робив у Makehuman, потім редагував їх у Blender, моделював одяг та робив LOD меші для оптимізації. Asset Store здорово допоміг з анімаціями та партиклами, які я робити не вмів: там я знайшов майже всі анімації, які були потрібні. Але деякі анімації все одно довелося робити самому.

(Гільдійський ліс, Silver Cats, 2020 рік)
У серпні 2020 року я закінчив розробку гри, а 18.12.2020 вона вийшла в реліз.
Після року відпочинку я довго думав, чи варто починати новий проект. При низьких продажах радять починати новий проект і забути про старий, але в мене ще на початку розробки Silver Cats не було особливих очікувань щодо популярності гри. До того ж я зайнявся геймдевом виключно для того, щоб робити RPG від третьої особи в сеттінгу темного фентезі, інші жанри мене не сильно цікавлять. З кожним роком технології спрощують розробку, багато речей вже не потрібно робити вручну, тому постало питання: витратити 3+ років на нову RPG, результат продажів якої буде схожий, або осучаснити вже готовий проект, маючи за плечима потрібну експертизу і трохи більший бюджет.
Після вагань вирішив оновити старий проект. У 2021 році я переніс гру на Unity 2020.3, придбав асети оточення і почав потроху замінювати старі асети на нові. Коли в 2022 росія почала повномасштабне вторгнення, я на місяць виїхав з Києва, маючи з собою мінімум речей. Трохи згодом родичі надіслали старий ноутбук, який не тягнув проект з новою графікою. Я намагався продовжити на ньому роботу, але проект видавав лише 5 FPS, і це при тому, що дерева і трава ще не були розміщені. Приблизно в цей період я заблокував доступ до гри для росії і видалився з усіх російських соцмереж.

(Початок роботи над оновленням Silver Cats v1.3, 2022 рік)
Більшість роботи в Долині шахтарів було зроблено на старому ноутбуці. Я тоді міг розмістити на локації все, окрім трави – з нею ноутбук не тягнув проект зовсім. Я зміг нормально продовжити роботу лише через місяць, коли повернувся до Києва і переніс проект на більш сильний комп’ютер. З того часу за можливості оновлював графіку локацій, публікуючи скріншоти в Steam і на сайті гри.
Через постійні обстріли і відключення електрики процес оновлення сильно затягнувся. Деякі асети я брав безкоштовні, деякі купував, деякі оновлював сам. Більшість об’єктів типу ваз і фонтанів можна було знайти на Sketchfab у вигляді високополігональних сканів, які я оптимізував у Blender для нормальної роботи у грі. На графіці оточення вирішив не економити і придбав найкращі, як на мене, асети рослин і ландшафту, які тоді були в Asset Store. Для свого рівня графіки вони дуже старанно оптимізовані – мені не довелося робити це вручну, завдяки чому я заощадив багато часу.

(Скріншот локації «Долина шахтарів» після оновлення її графіки, 2022 рік)

(Скріншот локації «Сильфідські драговини» після оновлення її графіки, 2023 рік)

(Скріншот локації «Перевал душ» після оновлення її графіки, 2024 рік)
Першу стадію оновлення (графіку локацій) я зміг закінчити лише 2024 року, коли випустив ранню бету v1.3 в Steam. Хоча з релізу 2020 року гравців не сильно побільшало, деякі проходили гру кілька разів і навіть надсилали цілі документи зі знайденими помилками локалізації, відгуками про баланс та іншими проблемами, за що я їм дуже вдячний.

(Скріншот локації «Сховище Білого демона» з логотипом гри, Silver Cats v1.3 Early Beta, 2024 рік)
Після виходу ранньої бети я перейшов до другої стадії оновлення (графіка персонажів і монстрів), над якою працюю зараз. Гуманоїдних персонажів створюю у Character Creator 3, використовуючи безкоштовний одяг зі Sketchfab і платний з FAB. Увесь одяг спочатку проходить через Blender, де я правлю йому топологію і «надягаю» на болванку з Character Creator, після чого імпортую у сам редактор для налаштування матеріалів і переносу ваг. Коли одяг готовий для використання всередині редактора, я створюю самого персонажа з цим одягом. Негуманоїдних монстрів купую на Asset Store та іноді додатково редагую.

(Скріншот персонажів «Богиня Сапфір» і «Дружина перевертня» після оновлення їх графіки, Silver Cats v1.3 Early Beta, 2026 рік)
Заплановані стадії оновлення Silver Cats v1.3:
☑ Оточення (графіка рослин, об'єктів, локацій)
☐ Персонажі (графіка NPC, монстрів, босів, основного персонажа, екіпірування)
☐ Бойова система (нова нон-таргет система, анімації супротивників і основного персонажа)
☐ Оновлення інтерфейсу (дизайн і графіка)





