Як я створив гру з нуля за 14 днів в бліндажі
Все, що описано у цьому блозі, зроблено в зоні бойових дій.
За 5 років в армії розумієш, що кожну вільну хвилину варто виділити на щось корисне для себе. Це може бути спорт, поезія, навчання — те, що допоможе тобі триматися за життя «до». Для мене це були настільні рольові ігри (Dungeons & Dragons та подібні), що з часом переросли у захоплення геймдевом. Останні кілька років, саме це було моєю віддушиною, чому я був радий приділяти кожну мить. Кілька пройдених курсів на SKVOT та портфоліо фрілансера зробили бажання зануритись у геймдев глибше. Це і призвело до теми рушіїв — якщо я хочу десь працювати, то зобовʼязаний вміти ними користуватися.
Одного дня, лежачи на деревʼяній полиці в бліндажі і слухаючи співи FPV-шок, мені прийшла в голову ідея:
«А якщо задати ChatGPT промпт бути моїм вчителем? Я міг би створити маленьку гру, на хвилин 15, такий собі vertical slice, який можна буде вставити в портфоліо!»
І саме для цієї задачі найкраще підходив Unity. Так все і почалося.
День 1

В першу чергу я почав з основ. Розібрав інтерфейс, як створювати сцени, де яка кнопка і що вона робить. ChatGPT у ролі вчителя працював чудово — він в деталях пояснював мені, що і як працює, а я робив йому скріншоти для перевірки своїх дій. В такому тандемі Unity переставав бути для мене темним лісом.
На певному етапі мені знадобилися скрипти для деяких функцій (наприклад, для взаємодії з предметом). Я далеко не програміст, тому тут мені вже допомагав «вайб-кодинг» з Cursor. Відповідно, дисклеймер: за час роботи над грою ШІ використовувався лише для написання скриптів, створення 8 зображень, та як мій вчитель Unity. Решта (окрім безкоштовних асетів з Unity Asset Store) була зроблена особисто мною.
День 3

Коли я вже опанував основи, треба було створити локацію для гри. Як наративнику, мені було цікаво створити невеличке місце, яке могло б розповісти історію. Тоді ж і сформувалася ідея сюжету The Final Shift.
Створив шахтарський табір на пустельній планеті — кілька будівель, кожна зі своїм інтерʼєром. Додав світло, яке б спрямовувало гравця або створювало атмосферу. Оскільки вже зʼявилася ідея квесту в цій зоні, додав відповідні скрипти та розкидав квестові предмети по локації.
Паралельно вивчав, як працюють текстури і матеріали та як їх видозмінювати. Наприклад, першим створеним мною матеріалом було червоне «світло» на верхівках антен, оскільки звичайне джерело світла (як у ліхтарях) не створювало бажаного ефекту. Фактично ж, це маленькі кульки з текстурою, що випромінює світло.
День 5
Цього ранку я прокинувся доволі рано — ворожа артилерія спрацювала непоганим будильником. Після ранкового «маккохфє» я повернувся до життя і далі сів за ноутбук.


Розташування будівель, квестових предметів та базові інтерʼєри були готові. Хоч все і було зроблено з кубів, циліндрів, та сфер — певна атмосфера вже почала вимальовуватись.
З цього моменту я почав детальніше працювати саме над атмосферою. Я почав вишукувати підходящі безкоштовні асети в Unity Asset Store і експериментувати з ними. Мій перфекціонізм працював на повну. Я перебрав десятки асетів, бо більшість не вписувалася у моє бачення атмосфери. Не буду навіть згадувати, скільки текстур для стін я забракував, бо вони передавали дух «занепаду протягом місяця», а мені треба «занепад протягом тижня». Звичайно, що безкоштовним асетам є межа, але я знайшов найкраще з доступного для себе.
Додав також:
1) малі інтерактивні предмети, які давали більше контексту історії
2) паркани з високими межами (collision boxes), які не давали вистрибнути за межі локації
3) скайбокс, ландшафт
4) додаткові скрипти, що зберігали логіку квесту та геймплею
День 9

Чотири дні я провів, розставляючи асети — деталі інтерʼєрів та екстерʼєрів. З кожною деталлю розвивався також і сюжет, оскільки я намагався пояснити причини, на кшталт: «чому цей предмет стоїть тут, а не там?»
Unity Asset Store все ж не міг задовольнити мої забаганки на 100%, тому я хотів створити щось своє. Тим паче, мені треба було щось дуже індивідуальне, щоб розповісти саме свій сюжет. На жаль, створювати асети я все ще вчуся, тому поклався на генерацію зображень (всього 8 штук). Так зʼявилися особисті фото, схеми та плакати в різних локаціях.
День 10

Нарешті, основна частина гри була готова. Тут я почав просто по колу запускати гру, проходити від А до Я, записуючи в нотатки, чого ще не вистачає. В результаті було додано більше дрібних деталей та тіло гравця. Це вже було більше схоже на фінальний продукт, з точки зору як системи, так і наративу.
День 11

Відійшовши від основної ігрової локації, час було взятися за супутні системи — інтерфейс та звук. Треба було створити трекер квесту, головне меню, екран прологу та епілогу. Не кажучи вже про саундтрек, ембіенс, звуки ходьби та натискання кнопок.
День 12

Тепер в гру можна було зіграти повноцінно від початку з меню, до фінального чорного екрану. Все ж лишалися дрібні деталі, які не давали мені спокійно завершити розробку. Наприклад, мене дратував шрифт UI — кілька годин пішло на пошуки підходящого.
Гра була готовою з технічної точки зору, але ігрові тексти потребували допрацювання. Я створив повноцінну ігрову біблію (так, для гри на 15 хвилин), з описом сюжету, лору, персонажів. Думаю, жага до «світобудови» передалася мені з Dungeons & Dragons, але цей процес пішов на користь створенню атмосфери.
Проблема, з якою я зіткнувся на цьому етапі — фінальний розмір файлу. Хоч гра і невелика, але важила занадто багато, через що я не міг завантажити її на Unity Play. Оптимізація вдалася завдяки видаленню непотрібних асетів та зменшенню якості текстур. Найважчою текстурою була самотня скляна мисочка на кухні, яка була зроблена в якості 4К.
День 14

Моя перша альфа.
Після двох тижнів роботи, гра була готова і завантажена на Unity Play. Я поділився нею з друзями, і впродовж дня збирав їхні відгуки. Це призвело також до впровадження чисельних змін та додаткових елементів, які допомогли зробити гру кращою. Версія гри доволі швидко змінилася з v1.0 до v1.7.
День 16

Пізніше я виклав гру в соцмережах, що дало більше відгуків. На їх основі вніс додаткові корективи: додавав щось нове, змінював вже існуюче. В результаті цих дружніх плейтестів випустив ще кілька оновлень.
- v1.8: дрібні хотфікси
- v1.9: додано міні-пазл, альтернативне завершення, додаткові інтерактивні предмети, зміни до ігрових текстів
- v1.10: додатковий квестовий триґер, зміни в UI
Епілог.
Щасливий я після завантаження свого першого білда на Unity Play
Буквально за день я відчув результат цієї роботи — такої активності в LinkedIn у мене не було від початку повномасштабного вторгнення. Приємних коментарів та дієвих порад у групових чатах та Threads було також багато, що лише мотивувало далі шліфувати гру.
З часом я вже міг подивитись на цю коротеньку гру і сказати собі: «досить». Ускладнювати цей маленький білд далі вже не мало сенсу, і це лише б нашкодило. Ти не менш, я зрозумів дещо дуже важливе — хоч я і не знаю рушій від А до Я, але я маю можливість його опанувати. Просто треба сісти, і почати це робити.
Пограти в браузері (з ПК) можна за цим посиланням.
Що далі?

Там вище я писав, що створив ігрову біблію. Це був той момент, коли я подивився на написаний мною світ і сказав: «вау, ось це ВОНО!» Я доволі сильно загорівся бажанням дати цьому світу життя за межами
Тому зараз я вичистив свій ноутбук, завантажив Unreal Engine 5, і працюю над продовженням. Уявляю невеличку RPG зі спрощеними механіками, в стилі «Star Wars: Knights of the Old Republic», на
Тому моє побажання читачам, чи то військовим, чи цивільним: попри будь-які умови, ваші амбіції завжди знайдуть ресурс для розвитку. Бажаю кожному та кожній знайти в собі ці приховані сили та реалізувати те, що ви давно відкладали «на потім».
Досягайте висот та дотримуйтеся мір безпеки.
Слава Україні!
Читайте також інтервʼю з Річардом Герцом за цим посиланням.
49 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівКоментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Коментар порушує правила спільноти і видалений модераторами.
Ви молодець. Знаходити час на саморозвиток в таких умовах — треба мати залізну волю.
Дякую за службу!
Вельми вдячний!)
Річ, дякую за цікавий пост. Почитав, покайфував, і навіть згадав трохи свого минулого. Я сам мусив стати гейм девом, але проект, на який мене брали 11 років тому і також на юніті, закрили за 4 дні перед моїм першим робочим днем ))) Тобі бажаю крутої і цікавої стежинки у розробці ігор. Красава!
Привіт від Тарена
Блін, оце обідно) Впевнений, ти знайдеш своє місце! :)
Вже знайшов. Збираюся статтю накатати ближчим часом))
Сказати, що це надихає, це нічого не сказати. Дякую
Дякую за підтримку! Радий, що надихає! :)
На таких треба рівнятись, дякую за історію!
Дякую за підтримку!)
А ви пане талант 😎💪 дуже круто, як для першого проекту і на такий короткий час
Стараюсь та працюю, дякую! ^_^
Дуже круто 👍 а можете додати цю гру до стіму?
Дякую)
Чесно, але Стім того не вартий. Це ж коротенький vertical slice для портфоліо, а не повноцінний досвід. Тому Стім-реліз в майбутньому це наступні плани)
«чому цей предмет стоїть тут, а не там?» написано в стилі ШІ
багато хто віддає великі тексти на вичитку ШІ. гадаю тут не виключення.
Правда, але тут нє. Цей текст рукописний, і кілька стилістичних правок від модераторів DOU. За основу брав свій щоденник розробки з портфоліо.
...але і я теж так пишу :\
Красава! Реально молодець. Неочікувано! Тільки ти не міг би іншу роботу нормально зробити, а не ігри в бліндажі створювати?
ого який ти офіційний тіп. аж гітхаб зареєстрував, і відразу сюди писати прибіг, ну прям всюди встиг. а що, одноразового імейла вже недостатньо? чи гітхаб пропустив, а тут ні? давай визнавай, тут треба покращувати систему проти одноденних аккаунтів.
Хех, чому я не здивований? :D
Цей тіп лише 7 червня цього року зареєструвався )) тупо для того, щоби цей комент написати. Сильно
У нас є вільні посади в підрозділі, можете написати в особисті — скину деталі по рекрутингу :)
Ваша історія надихає, дякую вам.
Бажаю успіху!
Дякую, успіхів і Вам! :)
Також зараз в нашого підрозділу триває збір на 3D-принтер!
Буду вдячний за підтримку!
send.monobank.ua/jar/3XCZkHTryW
Ваш ставлення до життя, служби та майбутнього виглядає як дієва профілактика такого явища як ПТСР. Що потребує якнайширшого масштабування.
Щира дяка за захист України та життєствердне світобачення!
Дякую за підтримку!
Колись пройшов відеогайд з ютюба по створенню ландшафту в юніті, тоді ще ніяких ші не було, все вийшло, дуже красиво і не складно. Загорівся цим, захотілося більшого, почав копати і зрозумів що для юніті потрібен сі шарп, а я вивчав до того пайтон, бо мріяв колись навчитися програмувати. Як зрозумів що треба починати вивчати нові книжки із іншої мови програмування, весь запал і згас. Можливо зараз із джеміні це вдастся.
Варто пробувати!
Щось не видно щастя на обличчі, як написано в коменті до фото.😁
Я половину слів не зрозуміла, але читати було цікаво.
Дякую! :)
Щось не видно щастя на обличчі, як написано в коменті до фото. 😁
Я половину слів не зрозуміла, але читати було цікаво.
Дякую, що в таких умовах знаходите час не лише на реалізацію власних ідей і амбіцій, а ще й надихаєте інших. Сил, добра вам, та подальшого розвитку.
Дякую за підтримку! :)
Прочитав і сам надихнувся! Захотілось пограти у Вашу гру, а ще не можу не відзначити приємний та легкий для читання текст опис. Прокайфував від початку і до кінця статті, дуже радію що гра вийшла на такий рівень і що Вам вдалось здобути стільки корисного завдяки Вашим зусиллям. Надихаєте! ❤️
Дуже дякую за приємні слова! ^_^
Цікаво, а як до вашої діяльності ставляться командири і побратими?
Я в цивільному житті програміст, і зараз я на посаді, яка має віддалене відношення до IT. І я відчуваю, що я стрімко тупію. Але я не уявляю, як я міг би займатися чимось, що не має безпосереднього відношення до військової справи. Напевно у мене якийсь психологічний блок: я уявляю, що зараз прийде командир і скаже «якого х@я ти цим займаєшся?», і я отримаю позачергову порцію грубості і хамства, і задачу, яка надовго скасує мої плани на саморозвиток.
З іншого боку, я трохи розумію і командирів. У мене во взводі була людина, яка вчила англійську. Це, в принципі, похвально. Але одного разу до мене звернулись його побратими зі скаргою на нього: «Або ви щось з ним робите, або ми його отп%₴демо. Тому, що коли всі облаштовують окопи, він сидить в своєму DuoLingo і нічого не робить». І чесно кажучі, я їх розумію.
Як вам вдається поєднувати свої справи з військовими?
Дякую за коментар!
В кінці-кінців, у кожного є вільний час. Іноді він просто прихований, на приклад — 30 вільних хвилин між двома задачами. Де-юре ти ж працюєш (типу «фізично присутній» в наряді), але де-факто — тупиш 30 хвилин і чекаєш нову задачу. Ось такі шматки часу я і навчився конвертувати в користь.
Зараз, звичайно, мені це набагато легше дається. Але починалось у2022-му з того, що носив в кишені книжечки Very Short Introduction, і по 5-10 сторінок в такому темпі читав.
Дуже добре розумію тезу про «відчуваю, що тупію» — так майже у кожного військового сьогодні. У мене також були моменти, коли я сидів в ТікТоку годинами, а мав би щось робити. Ці моменти вже боляче, але через силу треба вирізати — хоч я сам прекрасно розумію, що морально немає сили цього робити. Та це як в мемі: «через силу, через не хочу, через ще трошки» — єдиний варіант вилізти з цього застою.
А стосовно ставлення: як правило, більшість оточуючих і не дуже то розуміють, чим я займаюсь :D
Перед побратимим просто не треба випєндрюватись, а для командирів важливо, щоб ти не діяв проти правил. А в решті тобі допоможе стара армійська мудрість: «В армії можна все, поки не спалили»))
Дякую за гру, дуже сподобалась. Як вас підтримати!!!
Аж не віриться, що таке можливо зробити за два тижні. Бажаю Вам найміцнішого здоров’я
Дякую!)
Підтримати мене та наш підрозділ завжди можна тут:
send.monobank.ua/jar/7tN3fqgQRs
Браво, дякую за гру і за розповідь! Бажаю продовжувати робити ігри і якнайшвидше повертатися живим і неушкодженим
Прийнято до виконання!
А ти й далі відкладай свій проєкт мрії до кращої нагоди, бідолахо
«Хто, якщо не ми? Коли, якщо не зараз?» :)
Дуже мотивуюче! Дякую
Радий, якщо надихає на дії! ^_^
Потужно!
Дякую!)