Skip to content

Ігровий рушій

Вступ

Довго думав, який вигляд повинна мати документація до такого складного програмного механізму, як ігровий рушій. Зрештою, дійшов висновку, що суха інформація з базовим описом класів принесе мало користі. Тому цей розділ документації буде наповнюватися у вигляді інструкції до написання коду простої гри. Я буду самостійно створювати гру на основі Meowui та описувати всі свої основні дії. Гра розроблятиметься для консолі Лілка v2. Повністю функціональний приклад коду, можна знайти в репозиторії lilka_v2_meowui. В код буду додавати додаткові коментарі для синхронізації інформації. Тому рекомендую досліджувати код паралельно з розбором цієї інструкції. Не намагайтеся пропустити код, який ви не зрозуміли. Краще витратити більше часу на його розбір або звернутись по допомогу. Ті механіки, які обговорювалися раніше, не будуть згадуватися в наступних розділах. Очікується, що ви зрозуміли, як вони працюють. Якщо це не так, кількість “нерозуміння” буде тільки накопичуватися. В інструкції, переважно, пояснюються тільки неочевидні речі або нові поняття. Код С++, який не стосується безпосередньо архітектури Meowui пояснюватися не буде. Інакше б довелося написати цілу книгу, щоб вмістити опис усього коду. Якщо якийсь "архітектурний" код не має коментарів, значить подібний код вже було обговорено та описано раніше.

Ігровий рушій Meowui підтримує три види ортогонального відображення світу 2D гри:

1) Вивід плиток.
2) Вивід фонового зображення.
3) Комбінація пункту 1 та 2.

Це означає, що гра може бути побудована тільки на фоні зображення, наприклад, шахової дошки, карткового столу тощо. Також ігровий рівень може бути зібраний тільки з плиток. При цьому, формування ігрового рівня можна комбінувати, тобто накладати частково плитки поверх статичного зображення. Позиція камери може бути як зверху так і з боку. Проте фізику для гри з видом з боку, розробник повинен реалізувати самостійно.

В цій інструкції я планую закласти основу гри в жанрі RPG з видом зверху. Цей жанр ігор не самий складний для розробки на Meowui, але дозволить продемонструвати більшість можливостей та механік ігрового рушія.

Після детального ознайомлення з інструкцією, ви навчитеся:

  • Створювати нові програмні модулі для Meowui.
  • Обробляти стан кнопок.
  • Керувати перемиканням контексту.
  • Створювати 2D однокористувацькі ігри на Meowui.



Зміст