Як писати ігри: мови, движки і все, що потрібно знати початківцю-розробнику

  • 30 апреля, 16:40
  • 3981
  • 0

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

З чого почати розробку гри

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

  1. Написати все з нуля - складний спосіб, але краще почати з нього, щоб розібратися з мовами.
  2. Використовувати движки - варіант легше. Навіть новачок, озброївшись мануалами з інтернету, здатний створити гру на одній з популярних платформ.
  3. Знайти заготовки - готових шаблонів досить, щоб видати гру за свою, помінявши компоненти на свої.

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

Як писати ігри: мови, движки і все, що потрібно знати початківцю-розробнику

Мови програмування

Підійдуть будь-які, від Python і C до Pascal і Java. Від вибору залежить те, скільки часу піде на гру і для якої платформи буде реліз. Також мова впливає на продуктивність.

На C ++, наприклад, пишуть для будь-якої платформи, а ось PHP або JavaScript краще підходять для браузерних ігор. Якщо ж ви використовуєте один з движків, то краще вивчати C # - на ньому прописують скріпти. Головне - не недооцінювати мови. Движок Unity дружить і з JavaScript, а MineCraft був написаний на Java.

Двигуни для створення ігор

Серед сучасних виділимо:

  1. CryEngine

Crysis, Far Cry, Sniper II: Ghost Warrior.

  1. Unreal Engine 

Gears of War 4, Dead Pool, Mortal Kombat X, Tekken 7

  1. 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 - одна з найскладніших, тому що варто враховувати безліч ситуацій, для яких задумана реакція. 

На які платформи орієнтуватися

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

  1. Персональні комп'ютери.
  2. Приставки.
  3. Мобільні пристрої.
  4. Браузер.

У кожної з цих платформ своя аудиторія з цілком конкретними уподобаннями. На мобільних пристроях переважають головоломки (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 комментариев
Сортировка:
Добавить комментарий