XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Желтая пресса: обучающие статьи
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Результаты опроса: Как вам статья?
Супер! 1 6.67%
Прокатит... 5 33.33%
Фуфло! 9 60.00%
Голосовавшие: 15. Вы еще не голосовали в этом опросе

 
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Оптимизация Скорости и Параметров Карты для Игры
Оптимизация Скорости и Параметров Карты для Игры
Здравствуй, читатель! Насколько я понимаю, ты уже многому научился и многое познал. И вот наконец-то ты создал свой первый проект – какую-нибудь карту, или даже сборник карт. Но, создать хорошую карту – это только половина дела. Дальше, необходимо, проделать ряд операций со своим творением. Придать карте красивый вид и уменьшить ее размер, что повлечет за собой больше скачиваний твоей карты, а, значит, и, появления большего шанса того, что карта кому-то понравиться! Итак, статья состоит из 3 глав:
- Глава №1: Создание “Обилки” Карты
- Глава №2: Уменьшение Размера Импорта Карты
- Глава №3: Полезные Советы, По Ускорению Работы Карт

Глава №1
Здесь я тебе расскажу о том, как улучшить общий вид карты, создавая свой загрузочный экран, мини-карту и др. навороты. Если же ты уже сделал все операции с картой, связанные с ее оформлением, то можешь пропустить “Главу №1” и приступать у изучению следующей главы.
Шаг №1: Создание Загрузочного Экрана
Несмотря, на многие статьи и советы – многие задаются вопросом о том, как же создать загрузочный экран на своей карте? Если кто-то не понял о чем идет речь, то можете глянуть пример этого Экрана на карте Maps/FrozenThrone/Scenario/Monolith.w3x. Что же мы видим: при загрузке карты, на заднем фоне, мы видим нестандартную картинку. А, что еще примечательнее, эта картинка плавно переходит в игру. Чтобы создать такую же вещь у себя следуй следующим указаниям:
1)Открой карту Monolith.w3x в редакторе World Editor и при помощи Модуль/Редактор Импорта экспортируй из этой карты 5 файлов: LoadingScreenTR.tga, LoadingScreenTL.tga, LoadingScreenBR.tga, LoadingScreenBL.tga и LoadingScreen.mdx. В последствии нам понадобятся лишь первые четыре.
2)Итак, далее открываем эти файлы в каком-нибудь редакторе (лучше всего в Photoshop-е).
3)Как ты можешь заметить, эти файлы в общей сложности составляют весь загрузочный экран. Если подумать, то каждое название говорит само за себя: LoadingScreenTR (top, right – вверх, вправо), TL (top, left – вверх, влево) и т.д.
4)Затем, создаешь свою картинку по следующим параметрам: формат – “.tga”, разрешение – 1024x768. Далее выделяешь всю эту картинку, нажимаешь на Ctrl+C (или просто на Copy), затем накладывайте ваше изображение на LoadingScreen-ы файлы, чтобы каждый угол вашей картинки совпадал с названием файла (что каждый из них обозначает, я уже описывал ниже).
4.1) Если же ты хочешь создать “переходный” загрузочный экран (как в карте Monolith.w3x), то напоминаю, что чтобы сделать ScreenShot (Скриншот) в игре Warcraft, то нужно во время игры нажать клавишу “Print Screen”, и картинка будет сразу же помещена в папку Warcraft3/Screenshots. Таким образов сделай “скрин” в самом начале игры и загружай его в редактор для дальнейших операций.
5) Далее загружаешь отредактированные файлы в Редактор Импорта Warcraft3, а также не забудь связующий файл LoadingScreen.mdx, и меняем у всех у них путь к карте, нажав на них двойным щелчком мыши и удалив у каждого из них “war3mapImported/”. А затем выбираем в графе Сценарий/Загрузка Карты наш LoadingScreen.mdx и все готово!
Внимание: Импортированные картинки обязательно должны быть в формате .tga!
6) Но как ты можешь заметить – эти картинки весят неимоверно много: 2 по мегабайте и 2 по 512кб. В Главе №2 я расскажу, как это исправить.
Шаг №2: Создание Начальной Мини-Карты
Опять же приведу в пример карту Monolith.w3x (а так можно взять в пример любую RPG карту Blizzard-а: AzerothGrandPrix.w3x, Skibi TD.w3x и т.д.). Я, надеюсь, все видели, что на экране выбора игроков, справа вверху, там где должна быть мини-карты, на этих карты какая-нибудь картинка, например, в Monolith-е, светящийся камень. Чтобы такое сделать много ума не надо. Легче всего опять открыть карту Monolith.w3x и экспортировать оттуда файл “war3mapPreview.tga”. Открываем его в редакторе, закрываем его белым фоном и рисуем, что хотим. Далее сохраняем полученное изображение и импортируем этот файл в нашу карту. Меняем путь к этому файлу, удалив “war3mapImported/”.
Внимание: Импортированная картинка обязательно должна быть в формате .tga!
Шаг №3: Создание Игровой Мини-Карты
Здесь уже я не знаю, какую бы карту привести тебе в пример, но в принципе, тут и так все понятно. Здесь мы будем менять игровую мини-карту (во время игры вы можете “лицезреть” ее слева внизу).
Итак, экспортируй файл “war3mapPreview.tga”, из карты Monolith.w3x и опять же отредактируй его так, как хочешь. Далее и импортируй его обратно в игру и смени путь к файлу на war3mapMap.tga
Внимание: Импортированная картинка обязательно должна быть в формате .tga[/I]!

[B]Глава №2
Но как вы можете заметить, после всех этих импортов – карта начала весить более 3 мб (благо архивация спасает). Как же это исправить? Ответ заключается в том, чтобы перевести .tga файлы в формат, называемый .blp. Что же для этого нужно (перечисляю все что можно перевести в новый формат):
1) Загрузочный Экран:
- LoadingScreenTL.tga, LoadingScreenTR.tga, LoadingScreenBL.tga, LoadingScreenBR.tga
2) Мини-Карты:
- war3mapPreview или war3mapMap, или все вместе.
3) Различные иконки и картинки в разрешении .tga
4) И, конечно, нам понадобиться сам редактор, точнее конвектор. Лучше всего использовать “Warcraft 3 Viewer”, который ты можешь скачать на нашем сайте www.xgm.guru/Утилиты

Итак, сохраним все файлы, которые, необходимо уменьшить в какую-нибудь папку. Далее запускаем Warcraft 3 Viewer и проделываем следующие операции:
1) Закрой появившееся у тебя окно открытия файла “MPQ” и у тебя автоматически откроется основное меню программы.
2) Используй следующую функцию программы: “Конвертировать Файлы/ BMP, TGA или JPG в BLP”.
3) Далее выбираешь файл , который тебе нужно конвертировать и выбираешь куда его сохранить. Далее тебе будет предложено сжать его. Чем левее ползунок ты двигаешь, тем больше будет сжатие. Лучше всего поставь процентов на 50 (и картинка не портится и размер небольшой).
4) Также вы можете сделать групповую конвертацю: “Конвертировать Файлы/ Групповая Конверсия” и выбираем папку, где содержаться конвертируемые файлы, а затем выбираем папку, куда сохранять файлы после их конвертации.
5) Затем проделываем все, что сказано в главе №1, только теперь вместо файлов .tga будут использованы файлы .blp

Глава №3
Это возможно не глава, а сборник советов для того, чтобы не страдала память и размер карты.
1) Если вы используете в карте какие либо создаваемые объекты, например “Плавающие Точки”, “Юниты”, “Спецэффекты” и т.д. То не забывайте их “обнулять” после использования, т.к. они занимают достаточно места в “оперативке”, чтобы ее тормозить.
Это делается следующим образом:
2) Чтобы удалить плавающую точку или переменную типа Integer/Real, вам нужно после ее использования создать следующий триггер: “Set Varriable”, в нем выбираем нужную нам переменную и устанавливаем ее значение на 0. Локальные переменные (в джассе), обнуляются следующим образом: “cs: local integer/real <inger/real> = 0”. С юнитами и другими объектами нужно использовать Custom Script-ы, напечатав там: “set unit udg_<unit> = null”.
3) Итак, неиспользуемые переменные и объекты мы обнулили, теперь же давайте решим, что нам делать с защитой карты, для того, чтобы никто ее не открыл в редакторе. Для этого воспользуйтесь, например, такой прогой “ExtProtect”, которую вы можете найти на нашем сайте www.xgm.guru в разделе “Утилиты”. К сожалению говорят, что придумали де-протэктор, но эта информация не подтверждена, поэтому можете смело протэктить.
4) А вот, например, карта “Dota: Allstars”, почему там карта так быстро грузит, хотя там целая куча импорта и нестандартных объектов. Потому-что создатель карты: IceFrog, использовал следующую прогу (ну или что-то вроде нее): “Widgetizer”, опять же есть на сайте www.xgm.guru в разделе “Утилиты”.

И вот, читатель, ты сделал все, что можно со своей картой, чтобы максимально приблизить ее к профессиональному уровню. Теперь же, мне остается только пожелать тебе удачи в дальнейшем картострое и моделлинге!

Автор: IceBear
E-mail: miha@lipetsk.ru
Дата Написания: 18.08.2006

Отредактировано IceBear, 18.08.2006 в 18:45.
Старый 18.08.2006, 18:07
remal
нечто
offline
Опыт: 2,087
Активность:
Цитата:
2) Чтобы удалить плавающую точку или переменную типа Integer/Real, вам нужно после ее использования создать следующий триггер: “Set Varriable”, в нем выбираем нужную нам переменную и устанавливаем ее значение на 0. Локальные переменные (в джассе), обнуляются следующим образом: “cs: local integer/real <inger/real> = 0”. С юнитами и другими объектами нужно использовать Custom Script-ы, напечатав там: “set unit udg_<unit> = null”.
бред сивой кабылы

как содержание статьи соотносится с заголовком? в топку! очередное повторение других статей, да ещё автор сам не знает материал... банально про оптимизацию картинок...
Старый 18.08.2006, 20:51
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Цитата:
Сообщение от reaml
да ещё автор сам не знает материал...

Ты хоть читал материал?
Старый 18.08.2006, 20:56
J
expert
offline
Опыт: 48,447
Активность:
с remal-ом я согласен и считаю что он очень мяхко выразился

IceBear по каждой твоей главе, по каждому шагу, написаны целые статьи, недумаю (точнее уверен) что то что у тебя сейчас _хоть комунибудь_ пригодится, некоторые части вообще перевраны... это просто самоочивидно что ты пытался описать вещи которые тебе самому _совершено_ не понятны...
Старый 18.08.2006, 21:05
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Омг... у меня такое чувство, что вы статьи даже не читаете - типа просто обсираете все, что я пишу и все!
Старый 18.08.2006, 21:09
J
expert
offline
Опыт: 48,447
Активность:
Твоя статья в краце:
http://xgm.guru/articles.php?section=wc3&name=worldedit_from_elementary_to_simple
http://xgm.guru/articles.php?section=wc3&name=custom_loading_screens
http://xgm.guru/articles.php?section=wc3&name=loadingscreen
http://xgm.guru/articles.php?section=wc3&name=jass_optimisations_and_leaks
http://xgm.guru/articles.php?section=wc3&name=installing_winmpq

Цитата:
Сообщение от IceBear
Омг... у меня такое чувство, что вы статьи даже не читаете - типа просто обсираете все, что я пишу и все!

Это все не в обиду тебе, ты просто стремишся написать статью, не важно "какую?", "как?" и "зачем?"... главное - "написать" - это твоя цель, ты пытайся писать о том о чем будет интересно почитать другим, а не просто написать чтобы была...
Старый 18.08.2006, 21:18
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
Вобщем все. Завязываю писать статьи. Я пытаюсь написать о чем-то крупном, что в действительности может помочь на определенном этапе создания карты, а вы, как я понял, хотите, что-то такое мелкое и неизвестно где используемое. :(
Старый 18.08.2006, 21:23
J
expert
offline
Опыт: 48,447
Активность:
IceBear статьи писать не завязывай, а просто подучись еще не много, даже у меня в модмейкинге ОчЕнЬ мало опыта, но я бы мог щас тоже кача статей по написать по джазу (по тому уровню что я знаю (весьма маленькому)), но оно будут бесполезы, т.к. есть к примеру статья сергея... зачем писать о том о чем уже написано темболее даже хуже...
Старый 18.08.2006, 21:26
remal
нечто
offline
Опыт: 2,087
Активность:
Цитата:
Сообщение от IceBear
Ты хоть читал материал?

читал. и читал внимательно.
ты ничего не знаешь про утечки, да и в jass ты - ноль.
ты ничего не знаешь про оптимизацию рисунков. я не про перевод в блп, а уменьшение размера/палитры
ты ничего не знаешь про widzetizer и vexorian optimizer, хотя, имхо, это две самые лучше утилиты, доступные всем, для оптимизации карт

мне копать глубже или удовлетворимся этим?

remal добавил:
ЗЫ: вообще, я очень редко, не читая статью, пишу кг/ам.

remal добавил:
IceBear, так хочешь написать статью? дам совет: прочти от корки до корки все статьи на ХГМ. после этого задай самому себе вопрос: "что я знаю такого, что не описано в этих статьях и что может быть полезно другим?" если хоть что-то сможешь ответить сам себе, то пиши статью.
Старый 18.08.2006, 22:11
IceBear
Вождь Мирового Картостроя
offline
Опыт: 7,800
Активность:
remal, честно, я долго думал над этим вопросом: "Что я такого знаю, чего нет на xgm?" и понял, что ничего. Затем спросил в чате, про что написать. И вот вам результат: по совету людей написал вот ЭТО. Но как я понял зря...
Старый 18.08.2006, 22:32
remal
нечто
offline
Опыт: 2,087
Активность:
Цитата:
Сообщение от IceBear
remal, честно, я долго думал над этим вопросом: "Что я такого знаю, чего нет на xgm?" и понял, что ничего. Затем спросил в чате, про что написать. И вот вам результат: по совету людей написал вот ЭТО. Но как я понял зря...

так вот таких статей не надо. надо то, чего нет.
Старый 18.08.2006, 22:53
Mefist
Is it cocktail hour yet?
offline
Опыт: 98,190
Активность:
вот я тоже долго думал, чего же у нас еще нет? =)

% добавил:
я вообще тоже не очень понял как иморт и защита карты вяжутся с названием статьи? сообственно по теме там 5 предложений

вообще, хорошая статья по оптимизации нам не помешает, но пусть она будет написана проффесионалом
Старый 18.08.2006, 23:03
DioD

offline
Опыт: 45,134
Активность:
Статья фэйк, 99% есть на сайте уже 1% бред сивой кобылы.
Раз такое дело, и есть пожелания по статье для оптимизации я напишу, но не статью а маленький фак.
Старый 19.08.2006, 05:43
DFlyer
<3 MJ
offline
Опыт: 42,879
Активность:
Цитата:
Раз такое дело, и есть пожелания по статье для оптимизации я напишу

И когда это будет?
Старый 22.08.2006, 02:37
DioD

offline
Опыт: 45,134
Активность:
Когда будут пожелания...
Я не пишу статьи ни о чём, вот о чём я должен писать?
О том что циклы при мэп ините вызывают тормоза или о том что героев надо помещать на карту а потом удалять иначе при их появлениии будет жуткий лаг?
Старый 22.08.2006, 06:46
Кет

offline
Опыт: 111,109
Активность:
Цитата:
очередное повторение других статей

т.е. фтопку.
Старый 22.08.2006, 11:18
Trok-Ferot
Silenced by Trok-Ferot
offline
Опыт: 80,259
Активность:
Цитата:
Статья фэйк, 99% есть на сайте уже 1% бред сивой кобылы

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

Скорее так... "О чём я могу написать лучше, подробнее и понятнее, и чтобы это было полезно другим?".
Старый 22.08.2006, 12:39
J
expert
offline
Опыт: 48,447
Активность:
IceBear я тут заметил - статья офформлена, молодец, хоть над этим потрудился:)

Отредактировано Jon, 22.08.2006 в 17:19.
Старый 22.08.2006, 13:14
Nomak16
Принц Артес
offline
Опыт: 5,867
Активность:
IceBear
А что вполне неплохо, для новичков будет поучительно, но имхо не совсем полезно будет.
Старый 22.08.2006, 14:22
Bahamut GF
Рожденный по неволе
offline
Опыт: 1,574
Активность:
Цитата:
2) Чтобы удалить плавающую точку или переменную типа Integer/Real, вам нужно после ее использования создать следующий триггер: “Set Varriable”, в нем выбираем нужную нам переменную и устанавливаем ее значение на 0. Локальные переменные (в джассе), обнуляются следующим образом: “cs: local integer/real <inger/real> = 0”. С юнитами и другими объектами нужно использовать Custom Script-ы, напечатав там: “set unit udg_<unit> = null”


А нельзя ли просто ремувить объект\точку или дестроить спецэффект? Ласткриэйтед там или уже занесенный в локальную переменную. Это разве не тоже самое?
Старый 06.09.2006, 09:28

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 16:04.