Головне - на самому початку дізнатися, що на вас чекає, щоб потім не звернути на півдорозі, пройти всі етапи і випустити реліз. Тож розглянемо перші кроки, які чекають розробника.
З чого почати розробку гри
Припустимо, що ви вже придумали, якою буде гра, розробили концепт і вже шукаєте способи розробки. Настав час реалізувати свої задумки. Є кілька варіантів, як це зробити.
- Написати все з нуля - складний спосіб, але краще почати з нього, щоб розібратися з мовами.
- Використовувати движки - варіант легше. Навіть новачок, озброївшись мануалами з інтернету, здатний створити гру на одній з популярних платформ.
- Знайти заготовки - готових шаблонів досить, щоб видати гру за свою, помінявши компоненти на свої.
Всі три способи вимагають програмування, так що знати хоча б основи вам точно доведеться.
Мови програмування
Підійдуть будь-які, від Python і C до Pascal і Java. Від вибору залежить те, скільки часу піде на гру і для якої платформи буде реліз. Також мова впливає на продуктивність.
На C ++, наприклад, пишуть для будь-якої платформи, а ось PHP або JavaScript краще підходять для браузерних ігор. Якщо ж ви використовуєте один з движків, то краще вивчати C # - на ньому прописують скріпти. Головне - не недооцінювати мови. Движок Unity дружить і з JavaScript, а MineCraft був написаний на Java.
Двигуни для створення ігор
Серед сучасних виділимо:
- CryEngine
Crysis, Far Cry, Sniper II: Ghost Warrior.
- Unreal Engine
Gears of War 4, Dead Pool, Mortal Kombat X, Tekken 7
- Unity
Outlast, Assassin’s Creed: Identity, Temple Run, Deus Ex: The Fall.
Великою популярністю користується Unity, він розрахований як на 2D- , так і на 3D-ігри. Він підходить під різні платформи і мови. На ньому створюється більшість мобільних і інді-ігор. Він безкоштовний, але якщо ви заробляєте на своїх іграх більше 100 тисяч доларів на рік, то доведеться ділитися ними з розробниками Unity.
Як будується ігровий код
Припустимо, ви вибрали мову і движок, склали план. Що далі? Продумайте все від і до. Залежно від обраного вами шляху (чиста мова або використання движка) буде відрізнятися і те, що вас чекає на різних етапах розробки.
Якщо робите все своїми силами, то на ваші плечі ляже робота над фізикою, механікою, графікою, штучним інтелектом і балансом. Якщо вибрали движок - можна зітхнути спокійно.
Фізика
Фізика - це те, як світ гри реагує на дії гравця або об'єктів всередині світу. Ось які можуть бути фізичні дії:
- ходьба;
- їзда;
- стрибки;
- удари;
- постріли;
- падіння предметів і так далі.
Якщо пишете самі, то для звичайного стрибка доведеться:
- перевірити, чи знаходиться гравець на землі;
- змінювати координату Y, щоб гравець піднімався вгору;
- закінчити підйом через якийсь час;
- починати і продовжувати падіння до тих пір, поки під ногами гравця не виявиться земля.
Не кажучи вже про те, що потрібно працювати над анімацією всього цього.
function jump() {
If(gamer.jumpTimer >= 1) {
gamer.y++;
gamer.jumpTimer --;
} else {
If(gamer.y >= ground.y) {
gamer.y--;
}
}
}
У двигунах вже прописана фізика, і потрібно лише підігнати її під свої потреби. Для прикладу:
- Ви помістили об'єкт в робочу область Unity.
- Вказали, що для нього потрібно використовувати фізику.
- При запуску гри об'єкт впаде.
І для цього не доведеться писати код взагалі - все вже передбачено.
Механіка
Ігрова механіка - це те, якими способами гравець взаємодіє зі світом. Сукупність ігрових механік становить ігровий процес. Наприклад, ви вже реалізували можливість ходьби і стрибків. Ця гра, скоріше, платформер.
А якщо додасте механіку отримання досвіду, підвищення рівнів, прокачування навичок, - гра стане схожим на RPG. Механіка - така ж важлива складова гри, як і сюжет або графіка.
Ще один приклад: ви написали сценарій до гри, в якій потрібно втекти з в'язниці. Навіть якщо гра буде самою лінійною в світі, ігрова механіка може все змінити:
- якщо додати стрілянину, то буде стрілялка;
- якщо гравець буде беззбройний, - стелс;
- якщо ще й замки потрібно зламувати, то це вже головоломка або пазл.
Будучи програмістом, доведеться приділяти багато часу механіці.
Графіка
Раніше графіка створювалася за допомогою програмного коду, потім придумали текстури і спрайт, а для 3D-ігор використовуються моделі. Підготувавши всі текстури і моделі, потрібно додати їх в гру.
У движку досить просто завантажити потрібні файли і прикріпити їх до потрібних моделей. Інакше - прописувати все вручну, в тому числі і анімацію.
Приклад анімації двовимірного персонажа
Для анімації 2D-об'єктів створюється текстура по типу тієї, що на зображенні вище. Вона розбивається на рівні частини, які змінюють один одного. Тобто гравець спочатку бачить перший кадр, який потім змінюється на другий, а потім на третій - це створює ілюзію руху.
Анімація в дії
Якщо брати 3D-модель, то використовується скелетна анімація - модель як би нанизується на спеціальний каркас (скелет) з рухомими частинами. Рух цих частин прописується в коді.
На скріншоті видно, як персонаж згинає руку в місцях з точками (вершинами). Таких точок може бути дуже багато, якщо потрібна складна анімація - жести, міміка і так далі.
Створюється анімація так: прописуються точки координат або захоплюються рухи реального актора.
Перший спосіб складний, але дешевий, тому що від програміста вимагається лише прописати руху - зрушити точку A1 на координати (50,240).
Другий простіше, тому що досить одягнути акторів у спеціальні костюми з маячками, відзняти це і перенести в гру. Але тут, звичайно, доведеться сплатити костюми, павільйон, роботу операторів, постановників і акторів.
Баланс
Щоб грати було цікаво, потрібен баланс. Це означає, що у кожного противника повинні бути сильні і слабкі сторони.
Наприклад, якщо в шутері є зброя з великим уроном, у неї повинна бути довга перезарядка. Якщо урон маленький, перезарядка може бути швидкою. У броньованих ворогів мала рухливість, а спритні противники вмирають з декількох ударів або пострілів.
Штучний інтелект
Якщо геймплей передбачає взаємодію з NPC, то потрібно прописати моделі поведінки: реакцію на дії гравця, агресивність, можливість вести діалоги або торгувати.
Робота з AI - одна з найскладніших, тому що варто враховувати безліч ситуацій, для яких задумана реакція.
На які платформи орієнтуватися
Розібравшись з тим, як все буде влаштовано в грі, можна приступати до розробки. Але щоб проект був комерційно успішний, вибирайте популярні платформи. Всього можна виділити чотири:
- Персональні комп'ютери.
- Приставки.
- Мобільні пристрої.
- Браузер.
У кожної з цих платформ своя аудиторія з цілком конкретними уподобаннями. На мобільних пристроях переважають головоломки (2048, 94%, Cut the Rope) , аркади (Subway Surf, Temple Run, Angry Birds) і казуалb (Talking Cat Tom, Kitty Kate Baby Care, Hair Stylist Fashion Salon) .
На комп'ютерах грають в MMORPG (Lineage II, World of Warcraft, Skyrim) або шутери (Battlefield, Call of Duty, Counter-Strike) .
Приставки підходять для гонок (Need for Speed, Blur, Burnout Paradise), пригодницьких ігор (Assassin's Creed, Portal, The Walking Dead) і так далі.
У браузерах збирають пазли і будують ферми.
Звичайно, можна зробити і головоломку для PS4, і гонку для браузера - ніхто нікого не обмежує.
Висновок
Будьте готові до того, що ваша перша гра не стане шедевром. Але не турбуйтеся, тому що такі проекти відмінно підходять для навчання.
Підтягніть свої навички в програмуванні, щоб навчитися створювати ігри, вивчіть сучасну мову, яка часто використовується розробниками, і випустіть свій перший проект.
0 комментариев
Добавить комментарий