Меню сайта
Форма входа

Категории раздела
Уроки по созданию игр [38]
Программирование игр разной сложности
Игровые алгоритмы [24]
Алгоритмы, которые уже реализованы для разных жанров игр
Графика [5]
Учимся работать с графикой в Делфи
Мультимедиа [3]
Работа с мультимедийными возможностями Делфи
Другие статьи [18]
Статьи не вошедшие не в один из разделов
Ошибки [4]
Всевозможные ошибки и пути их решения
Четверг, 09.01.2025, 06:24
Приветствую Вас Гость

Статьи по программированию

Главная » Статьи » Другие статьи

Минимализм в компьютерных играх как оптимизация игр.

Минимализм в компьютерных играх как оптимизация игр.

 

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

 

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

 

Начнем, пожалуй, с форм. Каждая новая форма увеличивает размер Вашей программы. И каждый компонент, расположенный на ней также прибавляет вес. Чем больше количество форм и компонентов Вы использовали, тем дольше будет запускать Ваша программа, и тем больше памяти она будет использовать в запущенном виде. Может случится вариант, когда игра из жанра игр на псевдографике будет очень требовательна к ресурсам компьютера. А это уже смешно.

 

Если Вы пишете очень маленькую игру, то на данный раздел можно не обращать внимание. Но если проект большой – лучше перестраховаться. Лучше использовать одну форму, таймер и 1-2 дополнительных компонента, без которых не обойтись. Используя всего одну форму, Вам легче будет перейти на DirectX и OpenGL так, как в этих библиотеках все рисоваться будет на экране (который также всего один).

 

Теперь поговорим о оптимизации игр в графике. Начнем с хранения графики. Многие для хранения графики используют TImageList. С одной стороны, тогда не нужно помнить где хранится нужная картинка – теперь важен лишь ее номер. А с другой стороны не всегда удобно хранить сотни или тысячи картинок в одном ImageList, но использовать много ImageList-ов с точки зрения раздувания (увеличения размера) exe файла.

 

Если же заострить внимание на выборе формата для игровых картинок, то практически все новички выбирают формат BMP. Это связано с тем, что его легче всего использовать. И особых знаний и библиотек при этом не требуется. Но у этого формата есть два огромных недостатка. Во-первых он занимает много места (каротинки не сжаты). А во-вторых при масштабировании (увеличении) картинки стает видно, что картинка состоит из квадратиков и картинка становится некрасивой. Можно использовать, например, формат JPG. Его преимущество – изображения сжаты и занимают гораздо меньше места на носителе.

 

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

 

Перейдем к оптимизации игр непосредственно в программировании. При создании алгоритмов необходимо упрощать их с помошью циклов. Циклы позволяют писать меньше строчек кода. А чем меньше строчек, тем быстрее выполняется код, а также легче его читать и понимать.

 

Математические формулы также нужно максимально упрощать, особенно если они используются в циклах. Тогда компьютер будет быстрее их считать и нагрузка на процессор будет меньше. Как формулы упрощаются Вы должны были учить в школе.

 

Так же старайтесь, где это возможно, вместо функций Trunc и Round использовать стандартный Div. Это поможет избежать многих ошибок, которые часто тяжело выявить. У меня были случаи когда я писал редактор карт. Для перемещения по карте и для расчета точки, в которую в которую кликнул пользователь я использовал функции Trunc и Round. И они работали, но в некоторых случая выскакивали ошибки, что очень нехорошо. И с точки зрения логики ошибок не было видно в исходном коде.

 

Те же, кто старается, чтобы их программы занимали максимально маленькие размеры можно не использовать формы вообще. Вся программа пишется как консольное приложение. Все компоненты при необходимости создаются динамически. Но в таком случае объем программирования возрастает, ведь все нужно прописывать вручную.

 

Оптимизировать игры можно многими способами. Предложенные варианты оптимизируют лишь некоторые из частей игры. Поэтому перед оптимизацией игры необходимо определиться что будет оптимизироваться, а что оптимизации не требует. Оптимизация игр должна планироваться заранее, дабы не переделывать несколько раз все.

 

Источник: delgame.at.ua

Категория: Другие статьи | Добавил: Armageddets (10.08.2013) | Автор: Минимализм в компьютерных играх как
Просмотров: 1258 | Теги: упрощение программирования игр, оптимизация под игры, упрощение создания игр, оптимизация игры, оптимизация игр, Оптимизация компьютерных игр | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Уроки по созданию каких игр Вам интересны?
Всего ответов: 169
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0