Мінімалізм у комп’ютерних іграх як оптимізація ігор

Мінімалізм у комп'ютерних іграх як оптимізація ігор.

Сьогоднішня тема статті – цеоптимізація ігор. Багато новачків, приступаючи до створення ігор, для кожного ігрового віконця створюють окрему форму. Для зберігання графіки підбирають не найкращий варіант, а математичні формули і алгоритми не використовують спрощення. А це всеоптимізація комп'ютерних ігор. Про це та багато іншого я й хотів би сьогодні подивитися.

Оптимізація ігорвідбувається шляхом полегшення як вихідного коду, так і спрощення всіх ігрових компонентів.Оптимізаціядозволяє зробити програму швидше, зручніше та менш вимогливою до ресурсів комп'ютера.

Почнемо, мабуть, із форм. Кожна нова форма збільшує розмір вашої програми. І кожен компонент, розташований на ній, також додає вагу. Чим більше форм і компонентів Ви використовували, тим довше запускатиме Ваша програма, і тим більше пам'яті вона використовуватиме у запущеному вигляді. Може трапитись варіант, коли гра з жанру ігор на псевдографіці буде дуже вимоглива до ресурсів комп'ютера. А це вже кумедно.

Якщо Ви пишете дуже маленьку гру, то цей розділ можна не звертати увагу. Але якщо проект великий – краще перестрахуватись. Краще використовувати одну форму, таймер та 1-2 додаткові компоненти, без яких не обійтися. Використовуючи лише одну форму, Вам легше буде перейти на DirectX та OpenGL так, як у цих бібліотеках все малюватиметься на екрані (який також лише один).

Тепер поговоримо прооптимізацію ігору графіку. Почнемо із зберігання графіки. Багато для зберігання графіки використовують TImageList. З одного боку, тоді не потрібно пам'ятати, де зберігається потрібна картинка – тепер важливий лише її номер. А з іншогосторони не завжди зручно зберігати сотні або тисячі картинок в одному ImageList, але використовувати багато ImageList-ів з точки зору роздмухування (збільшення розміру) exe файлу.

Якщо ж звернути увагу на вибір формату для ігрових картинок, то практично всі новачки вибирають формат BMP. Це з тим, що його найлегше використовувати. І особливих знань та бібліотек при цьому не потрібно. Але цей формат має дві величезні недоліки. По-перше він займає багато місця (каротинки не стиснуті). А по-друге при масштабуванні (збільшенні) картинки стає видно, що картинка складається з квадратиків і картинка стає негарною. Можна використовувати, наприклад, формат JPG. Його перевага - зображення стиснуті і займають набагато менше місця на носії.

Для ігрової анімації багато хто завантажує вже готові GIF (анімаційні) зображення і кидає на форму необхідний компонент. Але в результаті промальовування таких картинок себе не виправдовує: повільне промальовування, сильне навантаження на процесор. Раджу зберігати кожен кадр анімації окремим малюнком. А в імені вказувати номер кадру в анімації, щоб можна було простіше використовувати кадри всередині циклів. На цьомуоптимізацію ігору графіку пропоную закінчити.

Математичні формули також потрібно максимально спрощувати, якщо вони використовуються в циклах. Тоді комп'ютер швидше їх вважати і навантаження на процесор буде менше. Як формули спрощуються Ви повинні були навчати у школі.

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

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