Використання принципів SOLID при розробці відео ігор на основі ігрового двигуна UNITY

DOI: 10.31673/2412-4338.2020.017987

  • Дібрівний О. А. (Dibrivniy O. A.) Державний університет телекомунікацій, м. Київ
  • Гребенюк В. В. (Grebenyuk V. V.) Державний університет телекомунікацій, м. Київ
  • Кравчук П. О. (Kravchuk P. O.) Державний університет телекомунікацій, м. Київ
  • Сеньков О. В. (Senkov O. V.) Державний університет телекомунікацій, м. Київ
  • Кільменінов О. А. (Kilmeninov O. A.) Національний університет оборони України імені Івана Черняховського, м. Київ

Анотація

На сьогоднішній день світова індустрія відео ігор знаходиться з в своєму розквіті. З відкриттям різноманітних платформ для реалізації відео ігор, таких як Steam, Google Play, Apple Store а також безкоштовних ігрових двигунів таких як Unity та Unreal Engine поріг входу в гейм-дев для початківців та студентів помітно знизився, особливо якщо говорити про ринок мобільних ігор. З мінімальними витратами часу та зусиль, використовуючи всі потужності вищезгаданих ігрових двигунів, процес розробки повноцінної відео гри може бути зведеним до кількох місяців, а то й тижнів. Проте часто розробники початківці, а часто й програмісти з досвідом, в погоні за швидкою розробкою помітно ускладнюють собі процес подальшої підтримки та розвитку своїх ігрових проектів. Одним із способів уникнення такого розвитку подій є використання принципів SOLID під час проектування ігрового додатку.
В даній статті основну увагу приділяється огляду архітектури програмних продуктів на основі ігрового двигуна Unity та можливостям впровадження принципів SOLID для оптимізації архітектури, та полегшенню подальшої підтримки та модифікації таких додатків. Розглянуто , та відповідність основних компонент ігрового двигуна UNITY принципу єдиного обов'язку а також особливості побудови класів при керуванні даним принципом. Визначено основні особливості використання принципу відкритосіті/закритості та його вплив на процес подальшої модернізації програмних архітектур. Запропоновано архітектурні рішення для використання принципу підстановки Ліскова та принципу розділення інтерфейсу. Оглянуто основні вимоги до абстарцій при роботі з принципом інверсії залежностей.
Запропоновано загальний скелет для побудови ігрових архітектур з врахуванням програмного принципу SOLID на основі ігрового додатку в жанрі rpg, з реалізацією окремих ігрових механік. Алгоритмізовано побудову ігрової архітектури на основі принципу SOLID, що призведе до спрощення процесу модернізації та підтримки ігрових додатків розроблених на основі ігрового двигуна UNITY.

Ключові слова: ООП С#, ООП Java, SOLID., UNITY, розробка ігор, принципи програмування, патерни програмування.

Список використаної літератури
1. Martin C. R. (2010) “Design Principles and Design Patterns.”, e-sourse – [access mode]: https://objectmentor.booked.net/
2. Martin C. Robert, Martin M.(2006) “Agile Principles, Patterns, and Practices in C#.” Prentice Hall.
3. Martin C. Robert. (2017) “Clean Architecture: A Craftsman's Guide to Software Structure and Design” Prentice Hall.
4. Baron D. (2019) “Hands-On Game Development Patterns with Unity 2019: Create engaging games by using industry-standard design patterns with C#” Packt Publishing.
5. Nystrom R. (2014) “Game Programming Patterns” Genever Benning, 2014.

Номер
Розділ
Статті