21

» WarCraft 3 / Устройство .w3m файлов

alexprey:
Русский чуть позже
Русский
Данные:
Каждая точка ландшафта (tilepoint) состоит из блока 7 байтов.
Число таких блоков еквивалентно Mx*My. (число всех тайлов в карте)
В эти 7 байт записывается:
  • short int: Высота земли:
C000h: минимальная высота (-16384)
2000h: высота равная нулю (ground level 0)
3FFFh: максимальная высота (+16383)
short int - Это короткая целочисленная
Короткие целочисленные размещаются используя 2 байта в "Little Endian" (зеркальном или хм.. перевёрнутом?) порядке.
Они близки к C++ "signed short" типу но их диапазон чисел от -16384 до 16383. Имеется ввиду что 2 верхних бита свободны для использования под флаг, например.
пример little endian - число 0x2151 в хексе представляется как 51 21
  • short int: уровень воды + привязка края карты (map edge boundary flag) *(см заметки)
  • 4 бита: флаги*(см заметки)
  • 4 бита: тип текстуры земли (трава, почва, камни)
  • 1 байт: детали текстур (какая именно текстура из нескольких будет отрисовываться из нижнего левого угла квадрата тайла) (камни, дыры, кости,...). Получается что только часть этого байта используется для информации о деталях. Необходимо подробное изучение этого момента.
  • 4 бита: тип текстуры клиффа (склоны? или как их назвать, в общем обрамление разных этажей ландшафта)
  • 4 бита: высота слоя
*заметки: Флаговые значения (выглядит как big endian): 0x4000 --> привязочный флаг 1 (тень генерируемая World Editor'ом на краях карты) 0x0010 --> флаг наклона (используется для установки наклона между двумя слоями) 0x0020 --> флаг проклятия (земля будет проклятой нежитью) 0x0040 --> флаг воды (включает воду) 0x0080 --> привязочный флаг 2 (используемый привязками камеры "camera bounds". Обычно устанавливается World Editor'ской привязочной "boundary" утилитой.) Уровень воды: Уровень воды хранится так же как уровень высоты земли. Высший бит (bit 15) используется для привязочного флага 1. Пример информации одной точки тайла (Tilepoint): 51 21 00 62 56 84 13 51 21 --(little endian)--> 0x2151 --(hex-->dec)--> высота = 8529 00 62 --(little endian)--> 0x6200 (узнаем привязочный флаг)--> (0x6200 & 0xC000) = 0x4000 установка привязочного флага (узнаем уровень воды)--> (0x6200 & 0x3FFF) = 0x2200 --(hex-->dec)--> уровень воды = 8704 56 --> 5 устанавливает оба флага воды и наклона (4+1), 6 говорит о том что тайлпоинт использует тайлсет земли #6 из набора тайлсетов (это подземелье) 84 --> означает что тайлпоинт использует детальную текстуру #132 (=0x084) 13 --> 1 означает тип клиффа #1 (из таблицы клиффов тайлсетов), 3 говорит о том что наша точка тайла располагается на 3ьем слое (layer) Итоговая высота "final height" которую вы видите в редакторе WE расчитывается как: (высота земли - 0x2000 + (слой - 2)*0x0200)/4 где "0x2000" это нулевой "ground zero" уровень земли, 2 это "layer zero" нулевой слой и "0x0200" это высота слоя = (0x2151 - 0x2000 + 1*0x0200)/4 = (8529 - 8192 + 512)/4 = 212,25
Тайлсет Обозначение
A Ashenvale
B Barrens
C Felwood
D Dungeon
F Lordaeron Fall
G Underground
L Lordaeron Summer
N Northrend
Q Village Fall
V Village
W Lordaeron Winter
X Dalaran
Y Cityscape
Z Sunken Ruins
I Icecrown
J Dalaran Ruins
O Outland
K Black Citadel
Точка воды "water level" которую вы видите в WE расчитывается: (уровень воды - 0x2000)/4 - 89.6 где "0x2000" это нулевой"ground zero" уровень земли, -89.6 это нулевой уровень воды (данный в water.slk файле, высота = -0,7 --> water_zero_level = -0,7*128): = 8704/4 - 89,6 = 38,4
В данном конкретном случае, флаг воды установлен, но уровень воды будет ниже уровня земли, получается мы не увидим воду. Это всего лишь пример, и я думаю вы не найдёте такого тайлпоинта внутри карты. Это только для примера.
Перевод изложил со своей точки зрения.. местами дополнив информацией из других мест и своими соображениями. Возможно я что-то не так понял где-то...
Вообще информация довольно интересная).
21

» Генератор случайных melee карт WarCraft III / Генератор случайных melee карт WarCraft III

alexprey, thx, буду знать. Вот действительно, жаль что никому до этого дела нет, эти форматы уже относительно давно разобраны по байтам.. А редактора нет.
21

» Spider Traps / Версия v4n [Релиз]

Кет:
Интересная идея — сделать логотип вместо модели часов. Надо будет в моей карте тоже так сделать =3
Эта идея мне ещё в конкурсной работе денди пришла). Для Spider Traps просто достойного арта не было, который бы можно было запилить в интерфейс. А теперь вот появился)).
Мне больше нравится анимированный лоадскрин в котором используется статичная картинка + когда полоска загрузки прошла включаются партиклы за картинкой синенькие. (что-то подобное так же было реализовано в денди)
Для меня было большим открытием разобраться в системе координат лоадскринов))) (от 0 до 0.8 по X и от 0 до 0.6 по Y)
Дак вот, про часы..
Bergi_Bear мне задал вопрос в личке, о том как это всё реализовано. Могу поделиться этим и даю ответ. На самом деле всё просто.
Так как в моей карте у всех игроков раса фиксированная - люди, я решил заменить часы людей на свой логотип. Для этого я распаковал модельку индикатора часов находящуюся по адресу:
UI\Console\Human\HumanUI-TimeIndicator.mdx
Через редактор моделей магоса из модели выпилил всё лишнее (мне же нужна только статичная текстура логотипа и не более).
На самом деле думаю можно и анимированные логотипы моделировать, используя игровое время. Я моделер никудышный поэтому даже пробовать воплотить такое боюсь)).
Вот мой вариант модели, для самых ленивых..:
Её можно импортировать куда угодно внутри карты, лишь бы она была потом прописана в интерфейсе именно из этого места.
Далее я импортировал свою модель по новому пути и выставил её в редакторе интерфейса.
это действие можно делать и через просто редактор mpq файлов. (если нет возможности открыть карту в редакторе карт).
Для этого в файле war3mapSkin.txt который находится в корне mpq архива карты в отсеке [CustomSkin] нужно прописать путь модели - TimeOfDayIndicator=TimeIndicator.mdx
Оставалось только нарисовать текстуру с альфой, которую будет читать модель. В своей модели я не менял путь расположения текстуры, она располагается по адресу
UI\Console\Human\HumanUITile-TimeIndicatorFrame.blp
Для того что бы в игре заменить текст который показывается при наведении мыши на часы нужно поменять два текста:
[картинка удалена]
Вот так это будет выглядеть:
Вот в принципе и всё). Если кто-то сделает анимированную от времени модель поделитесь результатом (с переливающимся логотипом, или чтоб свечение по нему двигалось), хотелось бы на это посмотреть.
Загруженные файлы
21

» Генератор случайных melee карт WarCraft III / Генератор случайных melee карт WarCraft III

вообще форматы это аббревиатуры же). wpm - warcraft path map, wts - warcraft trigger strings и т.д
Все данные по карте высот я так понимаю находятся всё же в файле warcraft 3 earth
на самом деле действительно хотелось бы увидеть в наше время качественный сторонний редактор файлов wpm w3e shd mmp что бы их отдельно от карты можно было ремейкать).
21

» WarCraft 3 / Запрет атаки

NickIAm:
Не надо забывать, что помимо ПКМ есть и атака, которой могут воспользоваться
Так темболее ненадо вообще значит класиффицировать ордеры. Любой ордер пускай пресекается.
Глянул как у меня сделано, вот пример, рабочий.
Загруженные файлы
21

» WarCraft 3 / Запрет атаки

NickIAm:
Кстати. Я сейчас провериил. Запрет атаки для triggering unit тоже не срабатывает. Декорацию всё равно уничтожают...
Я специально запихнул все реакции на события, ни одна не подействовала.
Так как все логичные возможные реакции не срабатывают...
Смотрю вашу картинку, с чего вы решили что правый клик по декорации это атака? Правый клик это ордер smart в первую очередь. И во что он вытекает это уже другое дело).
21

» Генератор случайных melee карт WarCraft III / Генератор случайных melee карт WarCraft III

Cancel:
ландшафт будет генерироваться намного дольше текущей версии.
Добавляй его конечно, есть карты которые грузятся по 5-10 минут. Если результат стоит свеч (а он имхо стоит их) - затрата оправдана.
21

» WarCraft 3 / Запрет атаки

NickIAm:
У меня с декорами по этому же принципу всё работает). Насчёт крита - крит вообще должен быть, что бы вылететь.. Крит можно невелировать другим триггером на получение урона)). Я вообще об этом заговорил к тому что иногда такая возможность необходима.
21

» WarCraft 3 / Запрет атаки

Учите основы триггеров
По такому же принципу делается запрет атаки по союзникам. Можно сделать проверку на процент хп. Что бы нельзя было бить только если у него 50% хп или меньше, если больше то можно.
21

» WarCraft 3 / "Игрушечное здание" и трабла с рудником

Через невидимого юнита (дамми, болванка) начинай проклятие рудника в момент когда способность используется.
Подробнее про создание триггерных заклинаний можно прочитать в разделе статьи.
Одна из статей - xgm.guru/p/wc3/trigger_spells
Отлавливаешь использование своей способности и производишь триггерные действия. (отдаёшь приказ даммиком построить) Если нужно что бы в процессе создание нельзя было отменить игроку то при создании создавай на другого игрока (скрыто), а затем если оно достроится передавай владение тому кто колдовал. Это в двух словах.
На самом деле вариантов много, можно и без дамми юнита, переделать разрешения стройки, и в момент каста добавлять умение постройки юниту и приказ на постройку, затем удалять. Через дамми самый удобный наверное вариант.
21

» XGM Team / Spotlight

Заголовок: Spider Traps
Краткое описание: Скользить сложнее чем кажется.
Ссылка на ресурс: xgm.guru/p/st
Ссылка на картинку: xgm.guru/files/402/97665/comments/271092/SpiderTraps250x120.jpg
Хочу в спотлайт, хотя бы на некоторое время). У меня стильная картинка и вроде не плохой проект, дайте слот).
21

» XGM Конкурсы / GameBoom: New Year 2015 - А судьи кто

Надеемся и ждём). Надеюсь достойно вышло, всё таки времени много было, хотя ясен пень большинство участников его потратили совсем на другое занятие)).
21

» Low-Poly Art в игровой индустрии / Сложности игровой разработки

Чёт как то список профессий удивил. Расписал графических редакторов, зато в области звукового сопровождения ограничился аудио режиссером. Маловато! Надо укрупнить, :D
А как же актеры озвучки, композитор, FX едитор
Есть игры где звуковая составляющая создает около 50% впечатления о игре, возможно даже больше). Нельзя недооценивать это направление)).
п.с Как уже выше сказал козинанка за многие вещи работая в команде приходится чем то платить. И не всегда платить деньгами выходит дороже.
В остальном - многие высказывания выше в чём то правы/неправы.
Я же хочу влепить своё утверждение: заниматься разработкой игры всегда будет лучше (для игры само собой) если живёшь (ты и/или команда занимающаяся девом) идеей игры (возможно геймплея, возможно визуальной части, возможно сюжетной или даже аудиальной, подразумеваю то состояние когда ты просто болен игрой, ты засыпая думаешь о том как что-то улучшить и где что переделать... что-то подобное.), а не грёзами о возможном заработке с этой игры. Увы, но многие разрабы в погоне за монетизацией своего продукта гробят свои проекты. Вообще эта мысль довольно КЭПовская, но я "притендую на истинность в последней инстанции" ©.
21

» WarCraft 3 / Помощь с mix архивами

Засунь свои файлы в архивы (MPQ игры), можешь оригинальных файлов копии сделать. И все нормально в редакторе редактируется.
Потом когда доделаешь карту перенесешь свои файлы в MIX архив.
21

» Несыть / Переработка существ (часть 1)

Nosferoh:
В Четвёртой Кваке скорости урезали до Дума Третьего.
Я не в курсе что уж там с 4ой частью кваки, но в 1ой 2ой 3ьей и лайве (а это 4 игры) распрыг был ;)
остальные игры... ты в каком году живешь?)
Quake Live - игра 2010 года
CS: GO - игра 2012 года
HL2 - игра 2004 года
По мне вполне так современные игры, хотя эти игры и появились уже лет почти 20 назад. Это классика жанра. Они вечны. Как и Warcraft III. Всех их ждёт не одно переиздание и развитие. Даже не стоит думать о том что это игры прошлого. Это игры как прошлого так настоящего и даже будущего.
Вот пример распрыга в ку3 и куда можно допрыгивать с помощью него. Карта одна из самых популярных q3dm6
Вот распрыг в халфлайфе.. советую любому более менее интересующемуся играми человеку к просмотру. Старый шедевр.
По сути шедевр начинается с 8ой минуты видео.
Вот пример распрыга в кс и куда можно допрыгивать с его помощью.
Халф-лайф 2 ?
Во всех случаях распрыг выполняется немного по разному. Хотя принцип примерно один - дальше прыжок, больше скорость.
И во всех трех случаях есть специальные моды и карты с трассами на скоростное прохождение. По мне так везде где есть более менее интересное управление (в моем примере выше - это распрыг) - должны существовать подобные моды. Поэтому и предлагаю инсатии подобное, потому что в ней управление тоже довольно интересное.
21

» Несыть / Переработка существ (часть 1)

ScorpioT1000:
распрыг - это баг, а не фича)
Очень много КСеров и Квакеров с тобой готовы спорить будут. Возможно что это и баг. Но в квейке в последствии этот баг стал фишкой игры, столько версий вышло, но баг специально не фиксят, не?
Собственно как и в КС и халфе).
Козинанка - бери мое предложение на вооружение! Это один из неплохих вариантов замены мультиплеера. Если игроки смогут мериться своими результатами - уже что-то.
21

» Несыть / Переработка существ (часть 1)

Kozinaka:
awesomesk1ll, ку3 тут не будет ни при каком раскладе. :) Управление я уже перебалансировал, но суть осталась та же.
Ну смотри). Я фан старых мультиплеерных игрушек... (квака, унреал, кармагедон 2к, халфа/кс, различные стратежки по фкусу и т.д) где всё только скиллом и определяется.
В современных играх пилят очень много рандумных факторов, игра уже не такая чистая, ну и дизбаланс ;).

Кстати раз ты улучшил управление, замути что-то типа Defrag, где надо будет на скорость проходить уровни - перепрыгивать препядствия, и т.д уворачиватся от всяких опасностей. Ну типа как рейс, который у тебя уже есть. Но только без соперников, но тоже на время. (для того чтобы соизмерить свой писюн с другими живыми игроками - реальными)
Там можно сделать такие ловушки:
  1. места которые нужно перепрыгнуть головой (и зацепится за другую сторону чтоб перебраться целиком)
  2. различные статично дергающиеся ловушки (на подобии всяких гильотин или прессов падающих сверху, а потом поднимающихся-перезаряжающихся.
  3. другие черви враги?
Так же тут еще можно предусмотреть сбор какой нибудь еды по пути, которая дает очки. В общем идея этого мода виртуозно овладеть червем, что бы в самое короткое время проходить трассу и съедать всю пищу расположенную на ней. Главный счетчик это время, но можно так же сделать некоторый расчет эффективности (как ты используешь время, сколько съел еды и т.д)
п.с хочу быть тестером, ну если тебе конечно интересно мое мнение.
Тем для кого слово Defrag ничего не говорит - вот видео объясняющее смысл мода:
21

» Несыть / Переработка существ (часть 1)

По мне так не надо упрощать управление :( Сам же любишь ку3 ;) Стремись к тому что бы приблизится к тому геймплею, хоть и по своему).
21

» Nine / Пре-релиз

  1. Ранкинг должен быть, не прям в меню ну из меню должна быть кнопка где можно узнать ранки.
  2. Можно сделать статистику, в конце выводить подробную стату по сыгранной игре, сколько тайлов двинуто, сколько ходов сделано, время раздумий на один ход и подобное
Сохранение очков помоему мимо в подобной игре.
  1. Можно сделать некоторое умножение, например если игрок быстро и чисто играет можно ввести понятие буста или разбега, чем чище играешь тем больше очков получаешь
С шопом определился? Продаешь отключение рекламы?
  1. Возможность кастумизации? Другие скины, озвучка?
  2. Мультиязычность?
  3. Тайл подсказка ? (Подсвечивает другие тайлы из которых можно сыграть ход)
21

» Несыть / Переработка существ (часть 1)

Ферментативная реакция улучшающая восприятие) меня не смущает природа этого, по смыслу действительно хорошо, просто слово некрасивое)
Само собой не волшебство, надо покопаться в биологических терминах) может что найдется..
21

» Несыть / Переработка существ (часть 1)

Kozinaka:
awesomesk1ll: ...это полоска способностей (Power). Нажатие на то или иное умение начинает тратить полоску.
Логично! Вот только с кнопками беда, даже один адреналин потребовал лишнюю кнопку на клавиатуре и я пока не знаю как продублировать его на мышке, чтобы клавиатуру не использовать. К тому же с кнопками клавиатуры серьёзная засада - они не работают в крупных комбинациях. Нельзя зажать три стрелки одновременно, также как нельзя, например, зажать две стрелки одновременно и пробел - последняя кнопка не сработает. Эта неприятная засада дешевых китайских клавиатур ставшая стандартном. Геймерские клавиатуры такого себе не позволяют, но они есть не у всех, поэтому приходится ориентироваться на то, что с аккордами кнопок не побалуешься.
Пока я не ввёл адреналин, я укладывался в четыре стрелки. Это было клёво. С адреналином пришлось задействовать ещё одну кнопку. Зря взял пробел - поменяю на шифт по умолчанию, он отделён от стрелок, его не отрубает.
А вот с названиями у меня точка зрения строго противоположная, я сторонник терминов на родном для меня языке. Резистов и демейджей не будет. Игра локализуемая, я могу себе позволить для каждого языка использовать нативные слова (там, где они есть, конечно).
А тебе не кажется что само слово адреналин странное, может другое.. ? Может сочетание слов
(Скоростное восприятие , подготовка , особое чутье , экстримальный взгляд.. Я хз в слове адреналин нсомненно есть смысл, но само слово некрасивое, кстати оно французкое)
По поводу управления - не заморачивайся на управлении одной рукой и даже больше:
Целенаправленно разложи управление на две руки. И вообще кто захочет одной рукой играть сообразит себе мышку типа наги с оверпицот кнопок. Или клавиатуру.
Но как не крути большинство геймеров играет двумя руками и от этого нужно отталкиваться! большинство!!, ты же сам про большинство говоришь, вот, управление двумя руками должно быть дефолтом
21

» Несыть / Переработка существ (часть 1)

Kozinaka:
Кроме замедления сейчас помощи никакой, т.к. замедление уже серьёзная помощь. Подсвечивать съедобное идея хорошая, у меня записана, но я думал задействовать её как-то отдельно от замедления времени, чтобы не портить красивый эффект подсветкой. По идее при накоплении шкалы с адреналином можно подключать разные полезные эффекты - подсветка съедобного, лучшая усвояемость пищи, дальность прыжка и т.д., но это тем, кто не пользуется адреналином включит подсветку на постоянку, а это плохо.
Думаю сделаю просто отдельного жука или ягодку, которые дают временное прозрение. А вообще из без подсветки понятно кого можно, а кого нельзя есть. На то, что нельзя есть червь не разивает пасть при приближении. :) Подсветка может быть просто забавным временным визуальным эффектом.
Сделай лучше так - полоска которая уже есть будет завязана не только к адреналину, а вообще - это полоска способностей (Power). Нажатие на то или иное умение начинает тратить полоску. Какие-то умения тратят сильнее какие то меньше. Если нажать сразу несколько то полоска быстро улетает).
Так же неплохо было бы придумать этим умениям достойные названия на русском и английском языках.
Адреналин меня несколько смущает, я например сторонник английских терминов, для меня всё скиллы хелсы кост демейдж хил резист и т.д