Как WarCraft 3 помог мне в программировании
Добрый день, дорогие читатели. В этой статье я хотел бы поделиться историей о том, как хорошо известная всем компьютерная игра WarCraft 3 помогла мне в изучении программирования. Сразу хочу сказать, что я ни в коем случае не призываю никого повторять мой путь и начинать изучение программирования с этой игры. Так получилось, что после того, как я пристрастился к созданию пользовательских сценариев для этой игры, дальнейшее обучение программированию (в школе и университете) давалось мне с невероятной легкостью.
Всем, кто заинтересовался, добро пожаловать под капот.
Прежде чем я начал
Я с детства интересовался компьютерами. К сожалению, свой я получил довольно поздно, до этого у меня был только старый компьютер с Basic в местном радиоклубе, куда я был записан, и походы с друзьями в компьютерные кафе, где мы играли в вышеупомянутый WarCraft 3. Наконец-то сбылась мечта: в восьмом классе мне купили компьютер. Конечно же, первым делом я побежал к другу за диском с WarCraft III.
Tutorial World Editor — 1. Introducción
За установкой последовало несколько дней прохождения кампании, сражений за орков, альянс, ночных эльфов и нежить. Я также опробовал множество карт, которые тот же друг записал на тот же диск. Даже тогда я был удивлен, как много можно создать на движке этой замечательной игры. Вскоре мне надоели сражения и я, как любопытный восьмиклассник, стал рыться в папках на жестком диске.
Когда я открыл папку с WarCraft 3, в глаза бросилась иконка файла с надписью «Редактор мира».exe». С затаенным дыханием я дважды щелкнул по нему. Запуск этой программы изменил мое будущее.
Знакомство с интерфейсом
Когда я запустил программу, я увидел следующее. Кнопки, панели, выпадающие списки и область, где можно менять местность, ставить юниты для разных игроков, деревья, дома и другие декорации. Конечно, я начал играть со всем этим, но когда я запустил свое творение, началась стандартная битва. Мне сразу захотелось начать управлять событиями в игре, менять поведение воинов, создавать своих нестандартных героев с нестандартным набором способностей. Продолжая изучать редактор миров, я наткнулся на редактор сценариев, который был действительно прост для понимания.
Триггеры с графическим интерфейсом
Сценарий карты состоит из т. н. триггеры, каждый из которых состоит из трех частей — события, условия и действия. В каждой из частей вы можете добавить предметы, нажав соответствующую кнопку. Нетрудно догадаться, что при наступлении указанного события в игре и выполнении указанных условий будут выполнены указанные действия.
С помощью довольно удобного графического интерфейса можно настраивать эти самые события, условия и действия по желанию создателя карты. Поскольку игра была мне очень интересна, я снова начал играть со всем этим, и потихоньку осваивал понятия циклов, ветвлений и т.д. п. Затем мне нужно было как-то сохранить юнитов между триггерами, чтобы при определенных событиях действия происходили с нужными мне юнитами. Я нашел редактор переменных.
Warcraft 3 World Editor CZ Tutorial díl 1 [Brány/Gates]
Здесь я обнаружил, что можно сохранять не только юнитов, но и практически все — числа, строки, способности, события, спецэффекты, игроков, баффы, точки карты и многое другое. Можно хранить необходимые объекты в массивах — я сразу подумал, что было бы очень удобно хранить героя для каждого игрока в массиве, ведь номер игрока будет соответствовать индексу его героя в массиве. В очередной раз, сам того не замечая, я узнал, что такое переменная и каков ее тип, что такое массив и как и когда его можно использовать.
Я открыл редактор объектов и нашел инструмент для изменения и создания новых воинов, способностей, баффов, декораций и предметов. Конечно, назначение большинства характерных предметов было мне непонятно, тем более что перевод некоторых из них с английского оставляет желать лучшего.
Что было дальше
Поэтому, когда я воодушевился, мне сразу захотелось сделать что-то свое. За несколько дней я сделал карту а-ля «три коридора». Почти все герои там были стандартные, так как меня больше интересовала скриптовая часть — я сделал популярную в то время «систему выбора героя-светлячка», неуязвимость башен до тех пор, пока башня не будет разрушена более низким уровнем (кто играл на популярной карте Dota Allstars, тот поймет), усиление крипов с течением игры, а также случайно появляющиеся бонусы в виде рун или предметов в случайных местах. Поскольку интернета не было, мне приходилось развлекать себя тем, что расставлять вражеских героев на всех линиях и периодически заставлять их произносить заклинания. Это, конечно, не AI, но это добавило хоть какой-то интерес)
Как это помогло мне
На следующий год в школе мы начали изучать программирование. Язык для изучения — Паскаль. Мне было скучно на уроках по переменным, условиям, циклам и массивам, потому что я все это уже знал; все, что мне нужно было сделать, это запомнить синтаксис и названия встроенных функций.
Но программировать юнитов, предметы и заклинания было гораздо интереснее, чем просто смотреть на скучную черно-белую консоль. Все задания были выполнены с легкостью, за пару минут, я выполнил их за половину занятия. Мой учитель, заметив это, предложил мне более сложные задания, с которыми я также без проблем справился.
В результате я отправился защищать честь школы на городскую олимпиаду, где занял первое место. Потом я поехал на республиканский, где занял, если я правильно помню, 15-е место из 200. Неплохой результат, особенно если учесть, что я пошел туда без всякой подготовки.
Это еще не все
Совсем скоро у меня появился интернет. Имел доступ к тонне ресурсов по созданию карт для WarCraft 3. Я пробовал делать простые 3D-модели и вставлять их в карты, рисовать иконки для заклинаний и предметов, открывать другие незащищенные карты и смотреть, как там все реализовано.
Писать сценарии, нажимая на кнопки, стало скучно, захотелось сделать что-то более «программистское», и я обнаружил, что эти GUI-формы — просто оболочка для скриптового языка JASS, который открывает более широкие возможности для разработчика карт. Создание различных систем, заклинаний, спецэффектов — все это превратилось в сказку, и я еще больше заинтересовался программированием. Но я хотел бы поговорить о JASS в отдельной статье.
О создании пользовательских карт для WarCraft 3 можно говорить очень много. Он охватывает множество аспектов — от создания красивого ландшафта, рисования иконок и создания моделей до написания систем и защиты готовой карты от обнаружения, позволяя людям, заинтересованным в нем, получить опыт в различных областях: 3D-моделирование и анимация, ландшафтный дизайн (звучит смешно), программирование, рисование, тестирование (да, карты тоже нужно тестировать).
Сейчас я учусь на четвертом курсе университета и увлекаюсь программированием. В колледже я потрогал Delphi и Visual Basic, потом Java, теперь C. Я с легкостью выучил все языки. Спасибо, WarCraft 3.
- варкрафт 3
- обучение программированию
Источник: habr.com
Warcraft III: «Редактор миров» для новичков
Еще со времен Doom стало ясно, что игры с немного открытой архитектурой, то есть оснащенные конструктором, доступным каждому, обречены на огромную популярность, гораздо большую, чем «закрытые» игры. Можно спорить о том, в каких играх конструкторы лучше или хуже, сложнее или проще, но суть в том, что фанатизм не имеет границ, и если у геймера болит голова от конструктора для его любимой игры, единственное, что может его остановить — это необходимость знать ассемблер, чтобы досконально разобраться, что к чему.
Ибо редактор мира для Warcraft III: The Frozen Throne не замечен, хотя никто не спорит, что хотя бы базовое понимание принципов программирования здесь очень пригодится.
Небольшое предупреждение: данный материал представляет собой исключительно личный опыт работы с программой. Некоторые выводы, расчеты и решения могут быть (и на самом деле являются) далеко не бесспорными, а прилагаемая карта не особенно бросается в глаза, являясь пробным шаром, или даже скорее доказательством концепции.
Благодарность Blizzard
Редактор миров — самый многофункциональный и открытый конструктор, который Blizzard выпустила на сегодняшний день. Об этом говорится в подобии руководства пользователя, которым разработчики соизволили снабдить программу. С этим согласны все, кто имел возможность поковыряться в аналогичных программах для Warcraft II и Starcraft.
Даже в самой игре невооруженным глазом виден огромный потенциал для расширения. В предлагаемых кампаниях используется максимум шестьдесят процентов всего, что было заложено в движок, и это, конечно, разжигает аппетит у любителей картостроения.
Об этом также свидетельствуют многочисленные любительские карты и игры, созданные на движке игры, но имеющие очень, очень мало сходства с оригиналом. На самом деле, они просто используют больше возможностей игры, чем разработчики оригинальных кампаний. Вы получаете игры совершенно разных жанров, вплоть до многосерийных RPG и, не дай бог, гоночных симуляторов. Обилие различных крипов (существ, не относящихся к шести основным расам) умоляет сделать за троллей или тускарров полноценную кампанию (с возможностью раскидать всех врагов). Ну, каждый хочет придумать сюжет для оригинальной игры, наверняка.
Проблема с World Editor — и она большая — заключается в том, что он не поддерживается напрямую Blizzard. И дело даже не столько в подходе «выпустить и забыть», сколько в отсутствии исчерпывающей документации по этому конструктору. Конечно, есть базовое руководство, но оно слишком общее.
На различных сайтах есть десятки руководств, написанных самими пользователями World Editor, но, как правило, это более или менее пошаговые инструкции о том, как сделать то или иное. Хорошо, полезно, но опять не то: такие руководства похожи на китайскую книгу для совсем зеленого новичка, который понятия не имеет, с чего начать знакомство со всеми красотами World Editor.
Вот таких руководств для новичков и ощущается острая нехватка, поэтому мы постараемся немного исправить ситуацию.
С чего начать?
Из ландшафта, и это неизбежно. Конечно, если речь идет только об отработке каких-то отдельных аспектов, например, изучении триггерных команд, то разумнее оставить пустую область, натыкать нужных юнитов и заниматься ими, не утруждая себя красивым дизайном. Однако, если мы говорим о карте типа Melee (одиночные или командные бои с развитием) или пытаемся сделать кампанию/RPG, то ландшафт — это именно то, с чего стоит начать.
По умолчанию генерируется пустая карта с дизайном Lordaeron Summer. Если вы хотите другую схему оформления (тайлсет), закройте эту карту, создайте новую и выберите нужную вам схему.
В левом нижнем углу вы увидите три папки: местность, юниты и примочки (всякие анимированные объекты, деревья, бочки и т.д.).). п.).
От этой печки, как говорится, и будем плясать. Вообще, законы создания красивого игрового ландшафта очень просты:
- Никаких прямых углов и правильных геометрических фигур, если только они не оправданы сюжетом. «Пейзажные кисти могут быть круглой или прямоугольной формы и различаться по размеру: если используется большая кисть, то нужно использовать кисть поменьше, иначе это будет выглядеть очень неестественно».
- Для большего реализма есть редактор местности > высоты, который позволяет делать очень красивые ямы и высокие холмы (без уступов). Полезный инструмент.
- Без деревьев и прочих примочек карта не будет выглядеть правильно. Использовать их, однако, следует не без осторожности, так как аппетит некоторых анимированных болванчиков к системным ресурсам не скромен.
- По возможности следует избегать склонов (местность > любой обрыв > рампа), расположенных под углом 0° или 90° к зрителю, так как из-за особенностей геометрии и размещения текстур швы и «квадраты» на краях у основания склона могут «светиться» очень явно. Если склон находится под другим углом, это не так заметно.
Это общее руководство. Что касается типов карт, то для карт Melee следует помнить, что все игроки должны находиться в равных условиях, и поэтому, если на карте есть стратегически важные объекты, до которых игроки должны добраться как можно быстрее, то расстояние от точки старта до объекта для каждого игрока должно быть одинаковым. При этом точки развития (группы крипов, с помощью которых прокачивается ваш персонаж, дополнительные шахты и другие ресурсы) должны располагаться на карте более-менее симметрично.
Добавьте спецэффекты, такие как дождь, туман и т.д., как говорится, по вкусу. Однако эти же спецэффекты назначаются не только на всю карту в целом, но и на отдельные регионы (Regions), и о них мы поговорим ниже.
Сценарная карта
Карта, на которой что-то происходит, а не просто слэш-энд-бёрн, с сюжетной линией — это как раз «наше всё». Самый простой тип — Campaign Map, карта, которая является частью самодельной кампании. Но если вы посмотрите, например, сюда, то увидите, что помимо таких карт, как Melee и Campaigns, представлен ряд других классов.
Например, Altered Melee, где, помимо прочего, проработаны расы, отличные от шести основных (люди, орки, ночные эльфы, нежить, нага и драенеи). На них добавлены всевозможные тролли и другие крипы, есть свои крестьяне и колдуны, все доступно через редактор мира. Главное — знать как.
Однако, поскольку статья адресована в первую очередь новичкам, мы ограничимся несложной картой кампании с несколькими «кинороликами».
«Слон», который держит все вместе, — это триггеры. Триггер (дословно переводится как «спусковой крючок») — это основа всего, что происходит в игре. Это даже не функция, это принцип. Триггер состоит из События, Условий и Действий, которые следуют за событием, если заданы условия. Кстати, внутри Actions также можно задавать Условия, что значительно увеличивает свободу маневра (если знать, как всем этим пользоваться).
Несколько примеров
Карта начинается с того, что камера опускается на землю, и мы видим, как один гном-лучник куда-то бежит, останавливается и смотрит куда-то. Сразу же вы видите большой отряд нежити, топающий по той стороне, на которую он смотрит, с очень ясными намерениями. Гном разворачивается, бежит обратно к своему отряду и кричит: «Let’s dash!»
В этом ролике на движке управление персонажами полностью отключено. Как только раздается крик, управление возвращается к игроку, и тогда нужно срочно собрать весь отряд во главе с «горным королем» с помощью мыши и убежать. На экране показывается инструкция квеста: бежать как можно дальше и не ввязываться в драку, иначе «порвут».
— Больше просвещения по созданию карт во вторник, 29 марта.
Источник: старый.computerra.ru
Редактор мира варкрафт что это такое
Вход на портал
|Король пуканов
Редактор мира Warcraft III
Warcraft III World Editor — официальный редактор уровней для Warcraft III от Blizzard Entertainment.
Описание
редактор несколько похож на своего предшественника из warcraft II, но также является аналогом StarEdit, входящего в состав игры StarCraft. Но, несмотря на это, World Editor обладает более мощным набором встроенных функций, гибкой системой настройки и отладки ваших проектов (карт, уровней и т.д.).).д.).
Качественные различия можно увидеть и в самом редакторе, потому что.к. зависит от версии установленной игры (классическая Reign of Chaos или с дополнением Frozen Throne).
Изменения, сделанные в игре, влияют на редактор. Так, например, в дополнении TFT были изменены модели некоторых юнитов, и произошло это в редакторе.
Большинство учебников и пособий, созданных для RoC, подходят для использования в TFT World Editor (как и созданные карты), но обратный процесс применения знаний TFT в среде редактора RoC может привести к необратимым последствиям.
Различия между TFT-версией и RoC-версией редактора
Учитывая технические возможности и пожелания игроков, Blizzard ввела новые функции в World Editor TFT по сравнению с предыдущей версией RoC.
— Редактор способностей — возможность редактировать и создавать способности для юнитов, героев, зданий.
— Доработка триггеров — увеличено количество триггеров, переработана функциональность старых
— Расширенные отряды — все персонажи, доступные или встречающиеся в кампаниях TFT и RoC, теперь доступны для выбора. Увеличено количество редактируемых характеристик.
— Погода — Теперь, без использования триггеров, вы можете установить глобальный параметр погоды для вашей карты.
— Редактор кампаний — редактирование кампаний упрощено в новой версии редактора. Вы можете загрузить модели персонажей и текстуры в общий каталог, а затем использовать их во всех прилагаемых картах.
Благодаря усилиям народных умельцев были созданы моды, расширяющие возможности редактора, упрощающие процесс создания ваших творений. Вот некоторые из них:
— JH (Jass Helper) — возможно, использует кодировку vJass (Vexorian’s Jass). Создатель: Вексориан.
— WEU (World Editor Unlimited) — снимает ограничения на многие внутриигровые возможности. Создатель: PitzerMike.
— UMSWE
— Гримуар
— JNGP (Jass NewGen Pack) включает в себя многие возможности вышеперечисленных редакторов. Создано Vexorian.
Каждый редактор приносит свои плюсы, но и свои баги. Таким образом, пользователи сами выбирают среду редактирования, тем более что многие популярные карты были созданы без использования модов. Однако все большее число создателей карт отдают лавры проекту JNGP.
Вот вроде и все, удачи вам.
Источник: wowjp.net