Оптимизация RPG Maker игр


Пункт A. Уменьшение внешнего размера

1. Здесь мы будем рассматривать уменьшение размеров основных файлов, без редактирования самой игры. Во-первых, конечно же, самый основной файл, занимающий огромное (для модемного скачивания) место - «RPG_RT.exe». 900 Кб - это, простите, приличный размер. Тем более что всего пустая игра на 1280 Кб. А что с ним можно сделать? Ответа два: удалить и оптимизировать. Первый вариант необходим тем, кто собирается распространять игру среди своих же товарищей - создателей игр на RPG Maker 2003. У них-то, естественно, должен быть данный файл. Такой же вариант приемлем, если вы часто проводите время в сети Интернет, но не имеете хороший антивирус (Таких гигантов, как Norton Antivirus, Антивирус Касперского, Dr.Web и др.). В таком случае заражение вашего файла трояном или вирусом очевидно на 45%. Сегодня огромное количество сайтов встраивают автоматические вирусы, устанавливаемые посредством скриптов, без вашего ведома. Второй вариант необходим, если вы не уверены в том, что у пользователя есть RPG Maker 2003. Тогда понадобятся специальные программы-оптимизаторы EXE и DLL. Они уменьшают размер рабочего файла где-то в 4 раза, без потери работоспособности. Одну программу я использовал сам, если не ошибаюсь, ASPack (Если всё еще там, то ищите на www.alenka.spb.ru/aspack) и не жаловался. Уменьшала экзешники Rm2k3 до 240 Кб.

2. Уменьшением размера, конечно, не назовешь - это больше придание внешнего вида. Итак, во-первых, если у вас в законченном проекте остались пустые папки (Например, обычно «Movie»), то можете их смело удалить - они вам не нужны. Поговорим о файле «RPG_RT.ini»... Существенно данный файл ни на что ни влияет. Вы можете его спокойно удалить. В нем записана рабочая информация о вашей игре для самого RPG Maker. Единственное с чем вы рискуете столкнуться, так это с отображением «Untitled» на панели задач при запуске игры. Можно и сделать следующее: открыть данный файл в текстовом редакторе и удалить строчки MapEditMode= и MapEditZoom=. Рабочее уменьшение размера на 30 байт При открытии вашей игры в редакторе данные строчки запишутся по-умолчанию.

К данному пункту можно было, и отнести уменьшение размеров файлов с ресурсами (Т.е. изображений, музыки и др.) - но для этого сделан отдельный пункт. Смотрите его.

Пункт B. Уменьшение внутреннего размера

Прежде всего, к данному пункту можно отнести уменьшение размеров Базы Данных - один из самых важных моментов во всей оптимизации. Данный пункт посвящен описанию оптимизации внутреннего типа - объективное построение всей игры в самом редакторе.

1. Для начала давайте вернемся к нашему проекту, созданному вначале - «Оптимизация1». Откройте папку проекта и посмотрите на файл «RPG_RT.ldb» - это файл, содержащий всю информацию Базы Данных. По-умолчанию он занимает 378 КБ. Поначалу данные цифры не кажутся страшными. Но давайте откроем наш проект в редакторе RPG Maker 2003 и добавим всего лишь один ПУСТОЙ пункт в раздел Базы Данных - Герои. Т.е. теперь в данном разделе должно быть 15 пунктов (помните, что эти данные для моей версии перевода Rm2k3). Нажмите «Применить» и сохраните проект. Сверните окно редактора и убедитесь в том, что теперь размер файла с Базой Данных (Напомню, что это «RPG_RT.ldb») стал на 1 Кб больше. Можете попробовать добавить два, три, четыре пункта и убедиться в этом. Следовательно, RPG Maker отводит 1 Кб физической памяти для хранения всего лишь одного пункта Базы Данных, причем данный пункт мы не изменяли. А с изменениями он может занять не один, а несколько килобайт. Простой арифметикой можно сказать, что 100 чистых пунктов займут 100 Кб. Но не всё так страшно, как вы думаете... Каждая строка разных разделов Базы Данных занимает и разное место. Но основными «потребителями» являются «Герой» и «Профессии». По 1 Кб за строку... Отсюда вывод: делайте поменьше строк в данных разделах, но и не пренебрегайте другими. Чем меньше строк - тем меньше ваша игра будет занимать места. Тем более что если это всего лишь демо-версия и вы не используете какие-либо пункты Базы Данных - удаляйте их! Также я замечал во многих играх, что люди оставляют кучу пустых строк Базы Данных. Теперь вы знаете причину, почему так делать не нужно.

2. Ещё одним источником побочного места являются карты. Запомните - чем больше размер карты - тем больше размер файла. Для того, чтобы это проверить снова обратимся к нашему проекту «Оптимизация1». Чтобы начать, удалите все карты из проекта. Теперь создайте две карты размером 50x50 чипов и одну карту 100x100 чипов. Давайте посмотрим на файлы только что созданных карт... Итак, две карты размером (размеры моих файлов могут не совпадать с вашими! помните это!) 10 Кб и одна размером 40 Кб!!! А если создать карту 200x200? Размер превышает 155 Кб! Вот такой хитрый размер у этих файлов! А ведь карты 100x100 в игре занимаю второстепенное место. Такой размер подходит для создания маленьких деревушек, а для больших городов? А если их штук 10? А маленьких 15? А огромное количество других локаций? Думаю, вы поняли...

Пункт C. Уменьшение размера ресурсов игры

1. Первая наша оптимизация связана с уменьшением размера графических файлов. Наверное, это будет просто небольшой совет... Начну с небольшого вступления: как вы, думаю, уже знаете, что RPG Maker 2003 поддерживает два вида форматов изображений - BMP и PNG (если не считать собственного XYZ). Так вот, когда вы сохраняете изображения, не используйте формат BMP, а сохраняйте в формате PNG - это сокращает размер файлов изображений в 2 раза.
Примечание: Данный совет можно подвергнуть и сомнению. В основном это связано с архивацией данных. Файлы BMP занимают меньшее место, чем PNG, находясь в архивах. Это связано с предварительным специальным сжатием цветовых данных PNG изображений (похожее сжатие свойственно и изображениям формата GIF). Поэтому сжатие архивов содержащих PNG графику - низшего качества, нежели BMP.
* Подробнее об архивации данных читайте в Пункте D
* Подробнее о форматах изображений читайте в Приложении 1

2. Теперь коснемся игровой музыки и звуков. Итак, WAV звуки. Долго «ходил» по Интернету один способ, кочевал из туториала в туториал, но так и не был принят. Хотя этот способ - лучший для оптимизации звука... Как известно размеры звуковых файлов напрямую зависят от продолжительности. Так вот, если мы хотим уменьшить размеры звуковых файлов нам необходимо и уменьшить их продолжительность. Лучше всего это сделать, убыстрив проигрывание мелодии, а чтобы не потерять оригинальное звучание - воспроизвести в Rm2k3 с замедлением. Для этого ищем WAV звук побольше (или какой вам заблагорассудится). Затем открываем его во встроенной программе Windows «Звукозаписи» («Sound Recorder») (По идее можно воспользоваться и другим, но я не проверял). Выбираем «Эффекты» - «Увеличить скорость (на 100%)». Т.е. мы увеличиваем скорость мелодии на 100% или в два раза. Сохраняем файл и смотрим на его размер... Он должен уменьшиться приблизительно в два раза. Теперь открываем Rm2k3 и воспроизводим файл с темпом равным 50%. Файл должен проигрываться, как обычно (иногда может возникнуть небольшое искажение звука - приниженность тембра, это может означать, что, либо у вас плохой конвертер звука, либо порченный WAV). Сейчас, практически не затрагиваемая тема про MP3 файлы. В настоящее время появилась возможность использовать и MP3 файлы в своих играх на RPG Maker. Для этого вам необходим специальный патч (обновленная версия «Hamony.dll»), а также программка к нему для привязывания MP3 через ссылки. Здесь чуть-чуть посложнее: необходим ещё и конвертер из WAV в MP3. А так процесс весь тот же.

Пункт D. Архивация и запаковка игры

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

1. Думаю ни для кого не секрет, что в настоящее время основными форматами архивов являются .ZIP и .RAR. Чтобы понять, какой из архивов лучше мы протестируем их возможности запаковки. Для примера я взял одну игру на Rm2k3 размером ровно 5 Мб без RPG_RT.exe. Причем приблизительное содержание файлов таковое:

Всего: 270
Изображений PNG: 160
MIDI: 15
WAV: 13
Остальное: 82 (карты, .txt, .htm и др.)

Давайте попробуем запаковать её... Как программы-запаковщики я использовал WinZip 8.1 и WinRAR 3.20 для форматов .ZIP и .RAR соответственно. Тип запаковки - Максимальный в каждом случае. Итак, запакованный .ZIP файл стал размером 3,19 МБ, а .RAR = 3 Мб. Из данного опыта можно на практике убедится, что запаковка файлов разных форматов намного выгоднее при использовании .RAR архивов. Но это не один плюс данного формата. Многие люди не очень любят узнавать что-то новое для себя. Тем более открывать это самим. Так к чему я это всё говорю, да к тому, что в архиваторе WinRAR существует одна очень полезная, но не используемая опция - Создание непрерывного архива. Сначала объясню, что такое непрерывный архив... Н.А. - это архив RAR, упакованный специальным способом, при котором все сжимаемые файлы рассматриваются как один последовательный поток данных. Главное преимущество такого способа архивации - уменьшение размера. Но есть и некоторые незначительные, побочные эффекты:

1. Извлечение происходит медленнее, чем из обычного архива, так как приходится анализировать все файлы архива.
2. Добавление файлов в архив происходит медленнее.
3. Если в непрерывном архиве какой-либо файл окажется поврежденным, то не удастся извлечь и все файлы, следующие после него.

Поэтому, непрерывные архивы следует использовать в тех случаях, когда:
а) архив предполагается редко обновлять
б) чаще планируется распаковывать весь архив, нежели извлекать из него один или несколько файлов
в) нужно достичь более плотной степени сжатия, даже в ущерб скорости упаковки

Для распространения собственных игр по Интернету, полагаю, этот способ - наиболее выгоден (Забыл сказать, что файл с нашей игрой в непрерывном архиве занял 2,77 МБ). Главное быть уверенным или предупреждать пользователей, что им необходимо иметь последнюю версию программы WinRAR, новую версию которой, думаю, итак ставят в первую очередь.


Заключение: Всей нашей оптимизацией мы сделали и смогли добиться:

1. Очистки 900 Кб ненужного места игры
2. Удаления всех лишних папок и информации
3. Дополнительной очистки Базы Данных и места под игру
4. Дополнительного уменьшения размера при сокращении размера карт
5. Уменьшения размера всей графики в два раза
6. Уменьшения размера музыки в два раза.

Если бы наша игра занимала 5 Мб. 1 Мб - карты, 1 Мб - звуки, 2 Мб - графика, остальное рабочие файлы, то мы бы получили: 0.4 Мб (карты) + 0.5 Мб (звуки) + 1.1 (графика) и, не считая 900 Кб запускающий файл... Итого: 2 Мб. Но, конечно же, это грубый подсчет, всё зависит от вас...

Приложение 1. Информация об изображениях

1. Форматы изображений:
Примечание: перевод с английского языка. Оригинальный текст: Корпорация Майкрософт.

BMP (Bitmap)
Это стандартный формат изображений Windows. В заголовке BMP файла хранится информация об используемых битах на [каждый] пиксель (1, 4, 8, 15, 24, 32, или 64). Обычно BMP изображения используют 24 бита на пиксель. В данном формате не используется какое-либо сжатие, поэтому его не рекомендуется использовать для передачи по сети Интернет.

PNG (Portable Network Graphics)
Это специальный формат, поддерживающий сжатие цветовых данных без потери качества изображения. PNG файлы способны хранить цвета с 8, 24, либо 48 битами на пиксель или же палитры серого с 1, 2, 4, 8 или 16 битами на пиксель. Также PNG Изображения способны сохранять альфа значения (прозрачность) для каждого пикселя, с установленным показателем прозрачности. Данный формат лучше всего подходит для передачи по сети Интернет.

Hosted by uCoz