Кафедра Комп’ютерних наук велику увагу приділяє підготовці ІТ-фахівців за перспективними професіями в ІТ-галузі. Однією з таких професій є GAME DEVELOPER. Тому, в цьому році, за спеціальністю 122 Комп’ютерні науки було розроблено дисципліну “Розробка комп’ютерних ігор”. Це було зроблено для того, щоб ввести наших студентів в цікавий світ розробки комп’ютерних ігор та покращити їх практичні навички з програмування.
У геймдеві найчастіше пишуть на C++ та C#, також використовується мова Blueprints, а в мобільній розробці знадобиться знання мов Objective-С і Java.
GAME DEVELOPER може працювати за такими основними напрямами:
Gameplay Developers; Engine Developers; Animation Developers;т DevOps Developers; Tools Developers; UI Developers; Graphics Programmers; Audio Developers; Client Developers; Back-end Developers.
Причому у нас прийнято вважати, що один розробник повинен однаково володіти значною частиною всіх вищеперелічених компетенцій. У західних компаніях зазвичай пропонують розробнику вибрати собі один напрямок і заглиблюватися саме у ньому.
Розглянемо кожен напрямок докладніше:
Gameplay Developers - відповідають безпосередньо за механіку. При цьому Gameplay-розробники щільно співпрацюють з гейм-дизайнерами, які поставляють їм механіку. Що стосується технологій, у Unreal Engine можна швидко прототипувати за рахунок Blueprints та писати базові класи для геймплею за рахунок С++.
Engine Developers - розробляють безпосередньо двигун: утиліти для інших розробників, займаються SDK-інтеграцією.
Animation Developers - займаються розробкою анімаційних систем, працюють зі Skeletal animation, роблять тулзи для розробників та аніматорів. Найчастіше такі фахівці потрібні в компаніях, які працюють з кастомними двигунами - наприклад, Ubisoft, Gameloft, Deep Silver. Так, Ubisoft розробляють власну систему симуляції одягу, і вони мають вакансії для Animation Developers, які займаються безпосередньо фізикою.
DevOps Developers - займаються мікросервісами, працюють з клієнтами, такими як Battle.net від Blizzard, Uplay від Ubisoft, які дозволяють користувачам ігор спільно грати через інтернет, а також купувати та оновлювати ігри онлайн. DevOps Developer - це одна з найновіших спеціалізацій у геймдеві.
Tools Developers - пишуть безпосередньо тулзи для гейм-дизайнерів: на Qt або прямо всередині двигуна.
UI Developers - займаються графічним інтерфейсом, наприклад, роблять різноманітні меню, переходи між ними. Можуть бути й складніші завдання — наприклад, кастомізація зовнішнього вигляду тривимірного персонажа.
Graphics Programmers - відповідають за якість картинки, працюють із низькорівневим шаром: OpenGL, DirectX. Пишуть шейдери, оптимізують графік кінцевого продукту.
Audio Developers - працюють зі звуком, створюють різні ефекти, такі як луна. Ця спеціальність почала набирати обертів після появи VR, де потрібний тривимірний звук. Наприклад, можуть працювати з інтегруванням матеріалів, яких відбивається звук.
Client Developers – займаються обробкою подій, працюють із верхніми інтерфейсами.
Back-end Developers - працюють з сервером, парсерами, отриманням даних, причому не торкаючись безпосередньо гри.
Для того, щоб писати власні програми, потрібно правильно підготуватися до майбутнього процесу. Досвід розробки вкрай цінується в індустрії коддингу. Особливо зараз, коли геймери готові чекати на успішні великі іграшки, та ще й платити за них чималі гроші.
Але для реалізації поставленого завдання належить мати певні навички та вміння. Хороший розробник – це не той, хто одержує високу зарплату. Це людина, яка вміє якісно справлятися з поставленими перед нею завданнями.
Щоб розібратися з геймдевом вам знадобляться базові знання об'єктно-орієнтованого програмування. Вивчивши ази можна переходити до ігрової специфіки.
Кожен софт пишеться конкретною мовою. Багато студій використовують при розробці Сі-сімейством. Але це не єдиний варіант.
Також можуть використовуватися: Java; JavaScript; Python; Swift; Objective-C; Php; Lua. Це найпоширеніші варіанти. Окрему увагу рекомендується приділити Objective-C. Заслуговує уваги Java. Універсальна кросплатформова мова, за допомогою якої розробник зможе «майструвати» веб-проекти. Має відносно простий синтаксис, а також легко освоюється. Не завантажує операційну систему об'ємним кодом. Успішні розробники зазвичай добре знають C++ та Java.
Приведемо деякі необхідні теми, які має освоїти розробник Unreal Engine:
Якщо вам сподобалась дана професія, обов’язково спробуйте на практиці різні ролі гейм-розробників. На кафедрі Комп’ютерних наук ми Вам в цьому допоможемо. Проте будьте готові до серйозного навчання.
За матеріалами https://dou.ua/lenta/articles/gamedev-for-beginners/.