У 21 столітті робити ігри різні пристрої можуть як досвідчені розробники, а й новачки у сфері програмування. А іноді навіть ті, хто раніше був далекий від IT зовсім. Google називає створення ігрового контенту одним із найбільш популярних напрямів у галузі інформаційних технологій. Якщо людина може зробити гру, вона здатна не просто розважатися в такий спосіб, а ще й заробляти. Причому непогані гроші. Деякі IT-компанії готові платити розробникам ігрового контенту від 500 000 рублів та більше. Сьогодні належить з'ясувати, як робляться комп'ютерні ігри. Нижче наведено план дій для реалізації поставленого завдання, а також інструменти, які можуть стати в нагоді розробнику. Ця інформація розрахована на широку публіку. Вона дозволить розібратися в основах GameDev та зрозуміти, що найкраще використовувати для того чи іншого проекту. GameDev (або геймдев) – це створення ігор. Процес, під час якого можна створити свій розважальний контент. Розробкою може займатись як одна людина, так і цілий колектив програмістів. Комерційні ігри, згідно Google, створюються переважно командами розробників, найнятими тими чи іншими фірмами. Компанії можуть спеціалізуватись на створенні ігрового контенту для ПК, приставок або мобільних пристроїв. Процес розробки, як запевняє Google, може фінансуватися іншою, більшою організацією – видавцем. Розробка масштабних ігор може коштувати десятки мільйонів доларів. А невеликі проекти, що особливо створюються новачками, нерідко взагалі не вимагають жодних витрат – окрім часу програміста. Google зазначає, що програмувати ігри можна у різний спосіб. Цей момент необхідно продумати перед безпосереднім створенням проекту. Від методу програмування залежить спектр подальших процесів. Згідно Google, писати ігри можна кількома способами: Всі ці методи, якщо вірити Google, тією чи іншою мірою мають на увазі використання навичок програмування. Тому без їхнього безпосереднього вивчення не обійтися. Виняток можуть становити шаблони, але з їхньою допомогою унікальний і успішний ігровий проект сформувати майже неможливо. Google зазначає, що при створенні комп'ютерних та консольних відеоігор робляться приблизно ті самі дії.Почати потрібно з формування чіткого плану дій. З його допомогою розробники зможуть не збитися зі шляху та грамотно розпочати реалізацію задуму. Якщо описати розробку комп'ютерних ігор загалом, можна уявити її план приблизно так: Зразковий план того, що потрібно для створення власної відеоігри, вивчений. Google зазначає, що при використанні ігрового двигуна можна полегшити етап програмування, створення фізики та механіки, ефектів та графіки. У таких додатках є все необхідне реалізації поставленої задачи. Далі деякі найбільш значимі етапи будуть розглянуті докладніше. Ця інформація допоможе більш ефективно підійти до геймдева навіть тим, хто раніше не мав жодного досвіду у відповідній сфері. Сьогодні існує безліч різноманітних конструкторів і движків для створення ігор.Google відзначає, що деякі компанії створюють унікальні движки для своїх проектів. Згідно Google, найбільшим попитом при створенні відеоігор користуються движки: Game Maker: Studio, а також Unity 3D і Unreal Engine. Google підкреслює, що на Unity робляться різноманітні ігри. Цей движок є найбільш популярним в області геймдева. Unity виступає своєрідним стандартом розробки мобільних проектів. Недоліки у Unity3D теж є. До них відносять проблеми при створенні фотореалістичної картинки на екрані. Unreal Engine – основний конкурент Unity. До переваг Unreal Engine відносять: Unreal Engine вимагає вивчення C++ для програмування, якщо не використовувати Blueprints. Також це програмне забезпечення, згідно Google, не підходить для розробки мобільних ігор та 2D-відеоігор. Це пов'язано з розміром вихідних файлів та наявністю невеликого функціоналу для двовимірних ігор порівняно з Unity. Експортувати відеоігри для браузера за допомогою Unreal Engine не вдасться. Цей двигун спрямовано створення двомірних відеоігор. Він зазвичай використовується інді-розробниками. Дозволяє дуже швидко прототипувати та створювати 2D-ігри. Game Maker має режим візуальної розробки для новачків. Разом з ним вийде пройти написання вихідного коду. Також двигун дозволяє експортувати гру для браузера. Game Maker, за інформацією Google, не підходить для створення повноцінних 3D-продуктів, хоча в ньому підтримуються функції для них. Програмне забезпечення позбавлене багатопоточності. А ще у нього немає детальної безкоштовної версії - тільки базовий варіант з експортом для Інтернету на сервіс gx.games. Інші розробки двигуна з тими чи іншими обмеженнями доступні за передплатою. Універсальної мови, за допомогою якої можливе створення власної гри, немає. Google вказує на те, що можна використовувати будь-який інструмент відповідного типу – від Python до C++, від Pascal до Java. Все залежить від конкретного проекту. Залежно від обраної мови розробки змінюватиметься час випуску відеоігри, а також платформа, на яку вона вийде. Продуктивність також залежить від мови. C++ підходить для кроссплатформенної розробки, JavaScript та PHP – для браузерних ігор. Якщо планується використання двигунів, краще вивчити C#. За його допомогою прописуються скрипти. Головне – відмовитись від недооціненості мов. Той же Minecraft був написаний Java. Коли двигун і мова розробки обраний, а сюжет відеоігри продуманий, саме час рухатися далі. Потрібно опрацювати усі компоненти майбутнього проекту. Якщо людина пише відеогра «з нуля», їй доведеться створювати всі ігрові елементи самостійно. У випадку з двигунами - скористатися пропонованими готовими рішеннями. Далі слід з'ясувати, з чого складається будь-яка гра. Google зазначає, що фізика – це те, як ігровий світ реагує на дії користувача або на дії об'єктів усередині світу. До фізичних дій відносять: Щоб реалізувати звичайний стрибок, як каже Google, слід перевірити, що персонаж стоїть на землі. Далі – змінювати координату Y для підняття гравця вгору та закінчити підйом у той чи інший момент. Після – почати падіння доти, доки гравець не опиниться на землі. Усе це супроводжується анімацією. У двигунах фізика вже прописана. Її залишається лише настроїти під власну розробку.Це значно полегшує створення відеоігри. Механіка – це те, як гравець взаємодіятиме з ігровим світом. Сукупність ігрових механік формує ігровий процес. Якщо у грі є ходьба та стрибки, вона може виступати платформером. Google зазначає, що при додаванні механіки отримання досвіду, прокачування навичок та підвищення рівнів у розробника вийде RPG. Механіка - це важливий ігровий компонент, нарівні з графікою та сюжетом. Раніше графіка, якщо вірити Google, створювалася лише за допомогою програмного коду. Трохи пізніше з'явилися спрайти та текстури, а також 3D-моделі. Все це потрібно підготувати або з нуля, або через двигуни. А потім – додати до гри. У випадку з двигунами достатньо завантажити ті чи інші документи, а потім прикріпити їх до потрібних моделей. Інакше – прописувати все вручну, включаючи анімацію. Це довго та не завжди зручно. Google називає ігровий баланс важливою складовою. Це означає, що кожен противник повинен мати сильні та слабкі сторони. Так геймплей не виглядатиме як боротьба з польовими квітами або багатогодинна перестрілка з босом. У шутерах є різні види зброї. Кожне з них має свою потужність і час перезарядки. Для балансу потужніша зброя повинна перезаряджатися довше, якщо шкода маленька – швидше. Іноді у відеоіграх передбачається взаємодія гравців із NPC. І тут потрібно приписати неігровим персонажам ті чи інші моделі поведінки. Найкраще для цього використовувати штучний інтелект. Таку роботу Google називає однією з найскладніших. Це з тим, що доведеться враховувати величезну кількість ситуацій, котрим задумана та чи інша реакція. Все це лише основи геймдева. Навчитися писати ігри з нуля або через двигуни допоможуть дистанційні комп'ютерні курси. Цікавить GameDev-напрямок?
Зверніть увагу на авторські курси у Otus! Розробник ігор — це IT-професія, в яку залучено безліч фахівців із різних областей. Тут потрібні дизайнери, математики, художники, інженери, письменники, психологи, управлінці та багато інших. Якщо ви хочете потрапити в геймдев і поки не вибрали спеціальність, то ця стаття для вас ми зібрали і коротко розповіли про найпопулярніші професії в ігровій індустрії. Геймдизайнер розробляє всю концепцію гри і вигадує правила, яким слідуватиме гравець. У геймдизайні багато творчих завдань, знайдеться робота і людям з технічним розумом, і гуманітаріям — згідно з російською та зарубіжною статистикою, це дуже затребувана спеціальність. Гейм-дизайнер Левел-дизайнер Геймдизайнер-початківець без досвіду роботи заробляє в Москві від 60 000 рублів. Заробітна плата гейм-дизайнерів, які вже випустили кілька проектів, може досягати 200 000 – 300 000 рублів. Докладніше про цю професію ми вже розповідали в нашій статті про геймдизайн та інші тексти про людей, які створюють відеоігри. Стаття про те, чим займається гейм-дизайнер, про корисні навички, обов'язки, доходи, і про те, як стати фахівцем з нуля. Якщо вам подобається працювати з текстом, зверніть увагу на такі професії. Сценарист ігор Перекладач, менеджер з локалізації Копірайтер Зарплати професій, пов'язаних із текстом, залежать від масштабів проекту та ставки фахівця за сторінку тексту. Початківець отримує близько 60 000 рублів. Сферу розробки ігор важко уявити без комп'ютерної графіки. Про професію ігрового художника ми докладно розповіли в одній із попередніх статей. Художник-дженераліст Концепт-художник 3D-моделлер Про професію 3D-художника ми докладніше розповіли тут. Художник з текстур VFX Artist / Художник з ефектів Технічний художник Нейрохудожник Зарплати художників та моделлерів сильно залежать від стажу, швидкості роботи та вміння підлаштовуватися під заданий стиль. Початківець митець отримує 60 000 - 100 000 рублів, досвідчений - від 200 000 і вище. Як створити свою гру? Скільки на цьому можна заробити? Яка потрібна команда? Які ключові етапи розробки та що потрібно робити команді на кожному етапі? Відповідь на ці питання – у відкритій лекції з розробки ігор у рамках програми «Менеджмент ігрових інтернет-проектів», яку розмістили наші партнери – відкрита система електронної освіти Універсаріум. Ось тут можна переглянути відкриту лекцію:
Повинен відразу обмовитися, у цій статті я наведу лише вичавки — список етапів, їх цілі та логіку переходу до наступних. Повна лекція доступна на відео.Крім детального опису етапів там є трохи про розмір ігрової індустрії та розрахунок окупності ігрових проектів. Більшість лекції присвячена етапам створення ігрового продукту, основним аспектам розробки, документування, створення ігрового контенту та розвитку проекту після початку відкритого тестування. Розглянемо докладніше ці етапи: На цьому першому кроці команда вигадує концепцію гри і проводить початкове опрацювання ігрового дизайну. Головна мета даного етапу – це геймдизайнерська документація, що включає Vision (розгорнутий документ, що описує гру, як кінцевий бізнес-продукт) і Concept Document (початкове опрацювання всіх аспектів гри). У продуктовій документації геймдизайнер формулює та зберігає свої ідеї. Виконавцю документація дозволяє правильно розуміти свої завдання щодо реалізації продукту. Тестувальник чітко бачить, що і як тестувати. Для Продюсера/ПМа ця документація надає матеріал для формування планів та контролю виконання завдань. Інвестор (особливо на ранніх етапах) отримує розуміння, на що саме він виділяє кошти. Принципово важливо, щоб вся проектна та продуктова документація підтримувалась у актуальному стані на всіх етапах розвитку проекту. Для її ефективного використання та оновлення правильно використовувати спеціальні інструменти. Наприклад, використання Confluence для ведення геймдизайнерської документації сильно спрощує процес паралельного внесення змін кількома учасниками розробки, а також дозволяє всім членам команди оперативно отримувати будь-яку актуальну інформацію щодо продукту та всіх його змін. Серед ключових принципів формування продуктової документації слід зазначити: структурованість, захищеність від різночитань, повний опис продукту, регулярну актуалізацію. Важливий етап проектування будь-якої гри – створення прототипу. Те, що добре виглядає «на папері», зовсім не обов'язково буде цікавим у реальності. Прототип реалізується з метою оцінки основного ігрового процесу, перевірки різних гіпотез, проведення тестів ігрових механік, перевірки ключових технічних моментів. Дуже важливо на етапі створення прототипу реалізовувати лише те, що потрібно перевірити й у стислий термін. Прототип може бути простим у реалізації, т.к. після досягнення поставлених перед ним цілей, він має бути «викинутий». Серйозна помилка розробників-початківців – нести тимчасову інфраструктуру і «милиці» реалізації коду в основний проект.
На цьому етапі виготовляється достатня кількість контенту для першого запуску на зовнішню аудиторію. Реалізуються всі фічі, які заплановані до закритого бета-тестування. Це найбільш тривалий етап, який може займати для великих клієнтських проектів рік і більше. На цьому етапі задіяна найбільша кількість фахівців, які займаються виробництвом всього основного наповнення гри. На етапі CBT продукт вперше демонструється досить широкому загалу, хоча й лояльному продукту чи компанії. ключові фічі, створено достатньо контенту для повноцінної гри тривалий час, налаштовані збір та аналіз статистики. Тестування йде за тест-планом, проводяться стрес-тести вже із залученням реальних гравців. На цьому етапі триває тестування гри, але вже на широкій аудиторії йде оптимізація під великі навантаження. На цьому етапі повністю завершується розробка нових фічів. Відбувається feature freeze, програмісти перестають реалізовувати щось нове, а повністю переключаються на налагодження та тюнінг наявних фічів. При цьому до початку етапу повинна повністю функціонувати інфраструктура проекту: сайт, групи соц. мережах, канали залучення (User Acquisition), підтримка користувачів. Ключова мета – отримання прибутку.Базовий застосовуваний для оцінки прибутковості критерій: кількість грошей, принесених у середньому одним гравцем за весь час (LTV aka lifetime value), має перевищувати витрати на залучення цього гравця (CPI aka cost per install). На цьому етапі має бути повністю налагоджено оперування продукту (технічна підтримка, робота з ком'юніті), дотримуються маркетингові та фінансові плани, ведуться роботи з покращення фінансових показників, активно відпрацьовуються канали із залучення трафіку. Команда розробки цьому етапі займається виправленням технічних багів, виявлених у процесі експлуатації та оптимізацією продукту. Геймдизайнери займаються тонким настроюванням геймплею під реальну ситуацію в ігровому світі (особливо актуально для ММО проектів). Також реалізує різні внутрішньоігрові фічі, що підтримують нові схеми монетизації. І звичайно йде розробка та інтеграція у продукт нового контенту, що підтримує інтерес гравців. Отже, бажаєте знати більше? Тоді дивіться повну лекцію, посилання на яку дано у вступі до статті. До речі, 21 вересня планується наступна відкрита лекція в рамках нашої програми «Менеджмент ігрових інтернет-проектів», яка також буде аналогом «бойового заняття». На цей раз про монетизаційні акції від директора програми Уточкіна В'ячеслава viacеславну. Відвідування її як завжди безкоштовне, але обов'язковою є попередня реєстрація у зв'язку з обмеженою кількістю місць і входом за списком. Реєстрація та подробиці про нову лекцію ТУТ. Задавайте питання з теми лекцій у коментарях, будемо раді відповісти.Основи GameDev або як створюються ігри
GameDev – огляд процесу
Способи розробки
План створення відеоігор
Вибір двигуна
Unity3D
Unreal Engine
Game Maker: Studio
Мова для геймдева
Основні ігрові компоненти
Фізика
Механіка
Графіка
Баланс
Штучний інтелект
Огляд професій у геймдеві
Чим більше компанія, тим вужчу спеціалізацію своїх геймдизайнерів вона може собі дозволити. В ААА-студіях сюжетом займатиметься сценарист, налаштуванням рівнів — левелл-дизайнер, боями — комбат-дизайнер, а балансом — фахівець, який збудує спеціальні математичні моделі. В інді-студіях всі ці обов'язки найчастіше виконує одна людина.
Професії у геймдеві підбираються під ігри, над якими працює студія. Для одних ігор не потрібні програмісти (якщо це нескладні проекти, які збираються в двигунах-конструкторах), для інших – сценаристи (якщо у грі зовсім не буде тексту). Але рівні є у будь-якій грі, навіть у RPG з відкритим світом.Левел-дизайнери одержують від геймдизайнерів опис того, що має відбуватися на локації, і вигадують, які завдання має вирішувати гравець, щоб отримати максимально цікавий ігровий досвід.
Сценарист наповнює текстом концепт, вигаданий гейм-дизайнером. Це і сюжетні повороти, і опис світу, і діалоги персонажів. Особливо сценаристи затребувані в іграх з відкритим світом, у жанрі текстових квестів та візуальних новел.
Локалізація – це переклад готових текстів гри іншими мовами. Менеджер локалізації не лише координує роботу команди перекладачів та редакторів, а й стежить, щоб нові тексти органічно вписалися у гру та не зіпсували гравцю враження.
Розробники комп'ютерних ігор починають знайомити гравців зі своїм проектом задовго до випуску. Майже кожен проект має сторінку в Steam, сайт, спільноту в VK або в інших соцмережах. Для всіх цих майданчиків потрібне текстове наповнення: регулярні новини, описи, повідомлення, патчноути.
Це досвідчений художник, який знає весь пайплайн створення арту для гри та може зробити будь-яке завдання «під ключ». Він малює ескізи, створює 3D-моделі, текстурує, анімує та створює спецефекти.
Концепт-художник створює перші малюнки, якими створюють персонажів, предмети і локації. Це можуть бути як швидкі нариси, які допоможуть геймдизайнеру визначитися з візуальною складовою гри, і високодеталізовані моделі. За допомогою концептів команда створює структуру гри.
Моделер створює тривимірні моделі за ескізами концепт-художника або зі сканів. Модель повинна не тільки підходити під опис геймдизайнера, а й відповідати технічним вимогам: наприклад, мати правильну топологію та кількість полігонів.
Комп'ютерні ігри - копітка робота. Щоб усі предмети в грі набули кольору та фактури, художники повинні їх розфарбувати за допомогою текстур. Для деяких проектів потрібні фотореалістичні текстури, для інших стилізовані. Ці фахівці працюють у команді з моделлерами та технічним відділом, оскільки за допомогою текстур можна досягти більшої деталізації наявних ассетів та суттєво заощадити ресурси.
VFX-художники створюють різні симуляції на базі ігрового двигуна: вибухи, руйнування, заклинання, дим, туман, краплі та інші ефекти, що запам'ятовуються, які створять «вау-ефект» у гравця. Хороші VFX-художники потрібні у будь-якій студії, яка створює комп'ютерні ігри.
Технічний дизайнер допомагає наповнити локації предметами та оптимізувати їх так, щоб при появі на екрані вони економно витрачали ресурси комп'ютера користувача. Якою б гарною не була локація, якщо вона сильно уповільнить гру, користувач навряд це оцінить.
Ігрова індустрія постійно перебуває у пошуку нових інструментів, які прискорили процес розробки і скоротили Витрати створення гри. Нейрохудожник — нова спеціальність, яка стала затребуваною з появою на ринку нейромереж, здатних генерувати зображення. Нейрохудожники складають запити, де в деталях описують персонажів та локації, а потім виправляють у Photoshop дрібні недоліки.Сім етапів створення гри: від концепту до релізу
Лекцію я веду, Костянтин Сахнов, директор ігрового департаменту компанії Rocket Jump, науковий керівник освітніх програм підготовки кадрів для ігрової індустрії Вищої школи бізнес-інформатики НДУ ВШЕ.1. Концептування (Concept)
2. Прототипування (Prototyping)
3. Вертикальний зріз (Vertical Slice)
Мета Вертикального зрізу – отримати мінімально можливу повноцінну версію гри, що включає повністю реалізований основний ігровий процес. При цьому високу якість опрацювання обов'язково потрібно втілити тільки для тих ігрових елементів, які суттєво впливають на сприйняття продукту. При цьому всі базові фічі гри присутні як мінімум у чорновій якості. Реалізовано мінімальний, але достатній реалізації повноцінного ігрового процесу набір контенту (один рівень чи одна локація).4. Виробництво контенту (Content production)
5. Friends & Family / CBT (закрите бета-тестування)
6. Soft Launch/OBT (відкритий бета-тест)
7. Release