Как WarCraft 3 помог мне в программировании

Добрый день, дорогие читатели. В этой статье я хотел бы поделиться историей о том, как известная компьютерная игра WarCraft 3 помогла мне в освоении программирования. Сразу хочу сказать, что я ни в коем случае не призываю никого повторять мой путь и начинать изучение программирования с этой игры. Так получилось, что после того, как я пристрастился к созданию пользовательских скриптов для этой игры, дальнейшее изучение программирования (в школе и университете) давалось мне с невероятной легкостью.

Всем, кому интересно, добро пожаловать под капот.

Прежде чем начать

Я с детства интересуюсь компьютерами. К сожалению, свой собственный я приобрел довольно поздно, а до этого у меня был только старенький компьютер с Basic в местном радиоклубе, где я был зарегистрирован, да походы с друзьями в компьютерные кафе, где мы играли в уже упомянутый WarCraft 3. Наконец-то сбылась мечта — в восьмом классе у меня появился компьютер.

Рабочая Конкуренция ⛏#warcraft3 #варкрафт3 #игры #озвучка

Конечно, первым делом я побежал к другу и достал диск с WarCraft 3. За установкой последовало несколько дней прохождения кампании, сражений за орков, альянс, ночных эльфов и нежить. Также я перепробовал множество карт, которые записал на один диск один и тот же друг. Уже тогда я был удивлен, как много можно сделать с движком этой замечательной игры. Вскоре мне надоели сражения, и я, как любопытный восьмиклассник, стал рыться в папках на жестком диске.

Когда я открыл папку с WarCraft 3, мне бросилась в глаза иконка файла под названием World Editor.exe». С замиранием сердца я дважды щелкнул мышкой. Запуск этой программы изменил мое будущее.

Знакомство с интерфейсом

изображение

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

Читайте также:  Как получить warcraft 3 reforged

изображение

Триггеры с графическим интерфейсом

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

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

WarCraft 3. Урок по WE #3 — триггеры ч.5 (таблица рекордов, меню паузы)

изображение

Именно здесь я обнаружил, что можно сохранять не только юнитов, но и практически все — числа, строки, способности, события, спецэффекты, игроков, баффы, очки карты и многое другое. нужные объекты можно хранить в массивах — я сразу подумал, что было бы очень удобно хранить героя для каждого игрока в массиве, потому что номер игрока будет соответствовать индексу его героя в массиве. Так, опять же незаметно для себя, я узнал, что такое переменная и ее тип, что такое массив, как и когда его можно использовать.

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

Читайте также:  World of warcraft игровое время что это

Что было дальше

Набравшись энтузиазма, я сразу же захотел сделать что-то свое. За несколько дней я сделал карту а-ля «три коридора». Почти все герои там были стандартные, так как меня больше интересовала скриптовая часть — я сделал популярную в то время «систему выбора героя светлячка», неуязвимость башен, пока башня не разрушена более низким уровнем (кто играл на популярной карте Dota Allstars, тот поймет), усиление крипов с течением игры, а также случайно появляющиеся бонусы в виде рун или предметов в случайных местах. Так как интернета не было, развлекаться пришлось самому, расставляя вражеских героев по всем линиям и периодически заставляя их произносить заклинания. Это, конечно, не AI, но некоторый интерес добавило)

Как это помогло мне

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

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

Это не все

Вскоре у меня появился интернет. Я получил доступ к огромному количеству ресурсов, посвященных созданию карт для WarCraft 3. Я пробовал делать простые 3D-модели и вставлять их в карту, рисовать иконки для заклинаний и предметов, открывать другие незащищенные карты и смотреть, как они реализованы.

Делать скрипты, нажимая на кнопки, надоело, хотелось чего-то более «программного», и я узнал, что эти GUI-формы — просто оболочка для скриптового языка JASS, который открывает больше возможностей для разработчика карт. Создание различных систем, заклинаний, спецэффектов — все это превратилось в сказку, и я еще больше заинтересовался программированием. Но о JASS я бы хотел поговорить в отдельной статье.

Читайте также:  Где найти райво из пандарии в варкрафт 3

Многое о создании пользовательских карт для WarCraft 3. Охватывает множество аспектов — от создания красивого ландшафта, рисования иконок и создания модов до написания систем и защиты готовой карты от обнаружения, позволяя заинтересованным в ней людям получить опыт в различных областях: 3D моделирование и анимация, ландшафтный дизайн (звучит смешно), программирование, рисование, тестирование (да, карты тоже нужно тестировать).

Сейчас я учусь на четвертом курсе университета и увлекаюсь программированием. Касался Delphi и Visual Basic в университете, потом Java, теперь касаюсь C. Все ПЛ, которые я изучил, были для меня легкими в освоении. Спасибо, WarCraft 3.

  • варкрафт 3
  • обучение программированию

Источник: хабр.com

—>Warcraft 3 —>

Стандартные иконки из игры отличного качества и большого размера. подойдет как для «Иконки группы» вашего сайта, так и для вашей карты.

Скачать с сервера

Размер: 1.08 Mb

[1920×1043 | 367.5 кб.]

—>

[Карты — рукопашный бой]
Битва 2154 1.1
Скачать с сервера (3.06 Mb)
Комментарии: (0)

—>
—>

[19 Jan 2023]
Capibara TD V.0.2beta RU [ TD]
[14 Jan 2023]
HEROES WARS V rus+ai v4.4.3 [Arena]
[12 Jan 2023]
EoW[v1.53] Речные земли [Melee]
[Jan 08, 2023]
Гладиаторы 4.99cks [Арена]
[08 января 2023]
Majesty Lite [Защита]
[05 Jan 2023]
EoW[v1.53] Оскверненная деревня [Melee]
[02 Jan 2023]
EoW[v1.53] Алтарь Бури [Melee]
[Jan 01, 2023]
HEROES WARS V rus+ai v4.4.2 [Арена]
[01 января 2023]
Rifleman Hero Defense v0.37 [Защита]
[20 декабря 2022 г.]
Deep Dark Water [Выживание]

—>
—>

[ Admin ] [ 675 ]
[ Dr-Thrax ] [ 51 ]
[ lawsonunity ] [ 45 ]
[ kamen121996 ] [ 21 ]
[ qbasic2005 ] [ 16 ]

—>

Новости: 1
Файлы: 961
Статьи: 29
Изображения: 282
Форум: 2720/7963
Комментарии: 137
Каталог: 2
Игры: 297
Видео: 8596
—>

Источник: warcraft3ft.информация