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

Привіт усім! Мене звати Богдан, і я геймдев-розробник. Мені лише 17 років, але в моєму портфоліо вже є повноцінна гра, яку ми створили з командою студентів академії GoITeens.

Ще кілька місяці тому я не уявляв, що в мою гру будуть грати люди та кайфувати від цього. Відчуття — супер!

Хочу розповісти трохи про наш проєкт. Зустрічайте, шутер від першої особи Crystal Warriors!

Написати гру — це вам не іграшки

Розробка власної гри — це така собі дипломна робота на курсі GameDev від GoITeens. У ній ми мали показати, що не просиджували штани на заняттях, а щось таки запам’ятали.

Дуже круто те, що там дали абсолютну свободу і не обмежували творчі пориви. Можна було створити що завгодно: виживалку, грінділку, сурвайвл хоррор чи шутер. Та хоч симулятор пенька. Хочеш — роби, аби було цікаво та знань вистачило.

На все про все у нас було три місяці. І це тільки здається, що часу багато. Для розробки повноцінної гри з нуля це дуже і дуже мало. Особливо коли вас тільки п’ятеро. Ми мали самі вирішити, як вести процес розробки, оптимізувати ресурси, тестувати проєкт і встигнути все вчасно.

Спочатку у нас були плани ого-го які. Ми хотіли створили гру, яка б об’єднувала механіки Factorio, Satisfactory та Mindustry. Тобто написати щось таке, де треба було б контролювати й захищати родовища ресурсів, автоматизувати їх добування та інші процеси. Щось, де треба було б приділяти увагу мікроменеджменту.

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

Але досить скоро ми зрозуміли, що просто не встигнемо все це реалізувати, адже механіки мікроменеджменту та автоматизації дуже складні для створення. Тому в результаті зупинилися на ідеї швидкого командного шутера. Так і народився проєкт Crystal Warriors.

Трохи про цілі та механіки гри

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

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

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

Ми обрали цей режим саме через його тактичне різноманіття — звичайний дезматч виглядав би трохи нуднувато.

Шутер без зброї — не шутер. У нас її небагато, всього три види: пістолет, дробовик та автомат. У кожного різна швидкість стрільби, прицільна дальність та рівень шкоди. А ще є механічна рука. Нею можна добувати кристали суперника, а можна використовувати як зброю ближнього бою.

Ми одразу відмовилися від ідеї зробити купу різної зброї, бо це досить слабо впливає на геймплей, але сильно ускладнює розробку та полішинг гри.

На старті потрібно вибрати два види зброї, які не можна змінити в ході гри — у Crystal Warriors немає механік дропу та точок бонусів на рівні.

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

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

Але грамотно прописати балістичну фізику у шутері — дуже складне завдання. Плюс, ми не ставили перед собою задачу досягти максимального реалізму стрільби, тому використали простіший варіант — хітскан.

Ігромеханічно це виглядає так: в момент, коли гравець тисне на гачок, рушій гри проводить прозорий промінь від дула зброї. Якщо він потрапляє на хітбокс супротивника — це влучання, і тоді гра прораховує шкоду. Кулі не існує як окремого об’єкта, попадання відбувається миттєво.

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

Без викликів і складнощів в геймдеві нікуди

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

Часто бували випадки, коли ми просто не знали, як виконати ту чи іншу задачу. Доводилося або занурюватися в туторіали, або просити допомоги у викладача — тоді він скеровував нас у вірному напрямку. До речі, під час розробки він нам підкинув декілька крутих ідей, до яких ми самі не додумались.

Складнощі траплялися на всьому шляху розробки. Ми постійно з чимось боролись. Ось, наприклад, перед запланованим великим тестом у нас виник баг: коли в матч підключалась п’ята людина, усіх гравців викидало в головне меню. Неприємний баг, на фікс якого ми витратили купу часу. Найцікавіше те, що його вирішення зайняло буквально два рядка коду. І все стало добре.

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

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

Тому ось вам посилання: ranpix.itch.io/crystalwarriors

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

Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини

👍ПодобаєтьсяСподобалось7
До обраногоВ обраному4
LinkedIn


Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Скачав гру і спробував зіграти. З першого разу родовище кристалів складно було знайти. Оскільке це дуже важлива зона для геймплею, то пропоную поверх родовищ додати елементи інтерфейсу у гру і/або позначки на міні-карті, які можна буде бачити з будь-якої відстані.

Підписатись на коментарі