РОЗРОБКА МОБІЛЬНОГО ДОДАТКА – ГРИ НА ПЛАТФОРМІ ANDROID
Ключові слова:
розробка ігор, мобільний додаток, операційна система Android, алгоритм розробки мобільного додатку, рендерер, метод рейкастингу, крос-платформовий фреймворкАнотація
Було розглянуто один з найбільших сегментів ринку програмних продуктів – відеоігри. Досліджено алгоритм створення мобільної гри. Висвітлено розробку під обрану платформу із використанням Android Studio, Cocos Studio, роботу об’єктного менеджера, обробку грою дій гравця. В ході розробки відеогри було показано її складові, а саме написання коду, створення контенту, розробка механік гри та тестування.
Запропоновано алгоритм генерування об’єктів та результат зіткнення гравця з ними. Розкривається процес розробки відеоігри та розділення його на етапи. Описано алгоритм оптимізації зберігання та використання зображень. Досліджена якісна робота з пам’яттю, насамперед, на мобільних пристроях. Детально описані поняття сцени та спрайту, встановлено правила роботи зі сценами та зображеннями на екрані мобільного пристрою. Розглянуто два схожих за своїм підходом і в той же час принципово різних по результату алгоритми виявлення зіткнень об’єктів. Описаний програмний продукт включає в себе власноруч написаний рушій – рендерер. За теоретичну основу реалізації рендерингу було взято спрощений варіант рейтрейсингу – рейкастинг. Метод рейкастингу вибрано як оптимальний через його високу швидкодію при достатній якості відео. Було обрано крос-платформовий фреймворк, який використовується для розробки інтерактивних додатків та ігор. Розглянуто використання вбудованих в ігровий движок візуального редактора, готових модулів рендеринга, анімації спрайтів і обробки зіткнень, що дуже спрощує процес розробки.
Описано структуру програмного продукту та ігрові класи сутностей, такі як персонаж, предмети. Наведено алгоритм реалізації методу рейкастингу і проведено відповідні математичні розрахунки для побудови променя. Змодельовано дизайн оформлення простору гри на основі карти, що задається, з додаванням текстур. Додатково розроблена можливість самостійної генерації рівнів.