Warcraft Cavegame

Добавлен , опубликован
Карта
Жанр:
Other, FPS
Минимум игроков:
1
Максимум игроков:
12
Выпуск Warcraft:
Frozen Throne
Версия Warcraft:
1.24 - 1.28 [UjAPI v1.1.27.285]
Версия карты:
0.8
Защита:
Не защищена
Доступные языки:
Английский
Warcraft Cavegame - любимая игра про кубы теперь в вашем варкрафте!!!
Это примитивный клон Minecraft Classic в Warcraft 3, сделано было из научно-спортивного интереса и посмотреть на возможности/лимиты движка, UjAPI и AngelScript. Получилось, как мне кажется, неплохо.

Возможности и особенности

  • Песочница про блоки. Весь мир состоит из блоков, и вы вольны разрушать их и ставить новые так, как захотите, там, где захотите и тогда, когда захотите. Вы ограничены только вашей фантазией и ограничениями движка. и скудным инструменталом. и малым количеством контента.
  • Бесконечный* мир. Вы вольны передвигаться в любую сторону, и ничто вас не остановит. Никаких невидимых стен и ограничений карты. В отличии от майнкрафта, мир бесконечен и по вертикали (вверх и вниз)! * в следствии того, как устроен наш мир и компьютеры в частности, по-настоящему бесконечным мир быть не может. Однако никаких ограничений со стороны самой карты нет.
  • Рабочие сохранения. Не варкрафтовские!! Здесь используются свои. Миры можно сохранять и загружать.
  • Рабочий* Мультиплеер. Простая синхронизация игроков, блоков, и даже сохранений. Но тестировалось только на двух игроках и то на одном компьютере. Технически поддерживает 12 игроков, но, вероятно, сетевая часть этого не выдержит. Текущая API синхронизации не даёт передавать много данных (по крайней мере в моих тестах), так что мультиплеер сделан насколько возможно в рамках ограничений.
  • На всё про всё у вас одно ядро, старое двигло и очень устаревший графический движок. Скажу прямо, задача для варкрафта по-настоящему тяжелая. С моей стороны сделано многое, чтобы FPS держался на приемлимом уровне, но все-равно приходится сильно жертвовать дистанцией прорисовки и скоростью генерации мира. эти параметры настраиваются в меню игры.
Управление
WASD - Ходьба
Shift - Присесть
Ctrl - Спринт
Мышь - крутить камерой
Левая кнопка мыши - ломать блок
Правая кнопка мыши - ставить блок
Цифры (0 - 9) - Выбрать соответствующий блок из хотбара
E - "Инвентарь"
ESC - Меню
F3 - Отладочная информация

Установка

  1. Требуется Warcraft III версии 1.24 - 1.28 (Тестировалось на 1.26)
  2. Требуется UjAPI (Создавалось и тестировалось на v1.1.27.285)
  3. Если в UjAPI/UjAPIFiles/Modules нет AngelScript.dll, то скачать отсюда и положить туда.
  4. Закинуть карту в Warcraft III/Maps
  5. Играть
Послесловие
Было воплощено практически всё, что было в планах. Дальше только накидывание контента (больше блоков, больше типов блоков, больше систем, мобы), что мне уже не так интересно. Идея была "ачтоесли майнкрафт в варкрафте??!!", вот её результат. Обновлений, вероятно, не будет. Ну, возможно, кроме фиксов критических багов. Исходный код открыт! (но лучше туда не смотреть...)
Выпуск The Frozen Throne и Reign of Chaos на Windows:
  • (если это zip архив) Достать файл w3x, w3m или w3n из архива, открыв его двойным кликом
  • Открыть расположение игры с помощью правого клика по иконке игры - открыть расположение файла. Иногда это нужно повторить в открывшемся окне (ссылка на ссылку)
  • Если это карта:
    • Открыть папку Maps
    • (не обязательно) Создать там подпапку XGM
    • Переместить файл w3x или w3m в папку Maps или подпапку
  • Если это кампания (w3n):
    • Открыть папку Campaigns
    • Переместить файл w3n в папку Campaigns
Выпуск Reforged на Windows:
  • (если это zip архив) Достать файл w3x, w3m или w3n из архива, открыв его двойным кликом
  • Открыть проводник (Win + E)
  • Если это карта:
    • Ввести в адресной строке Documents\Warcraft III\Maps или %UserProfile%\Documents\Warcraft III\Maps и нажать Enter
    • (не обязательно) Создать там подпапку XGM
    • Переместить файл w3x или w3m в папку Maps или подпапку
  • Если это кампания (w3n):
    • Ввести в адресной строке Documents\Warcraft III\Campaigns или %UserProfile%\Documents\Warcraft III\Campaigns и нажать Enter
    • Переместить файл w3n в папку Campaigns
Выпуск The Frozen Throne и Reign of Chaos на Mac:
  • (если это zip архив) Достать файл w3x, w3m или w3n из архива, распаковав его двойным кликом
  • Откройте Искатель (Finder)
  • Нажмите и удерживайте клавишу OPTION или ALT, затем перейдите в меню Finder в верхней строке меню и откройте меню "Перейти". Когда вы удерживаете клавишу OPTION или ALT, в раскрывающемся меню появится опция "Библиотека". Нажмите "Библиотека". Теперь вы находитесь в папке "Библиотека"
  • Откройте "Поддержка приложений" - Blizzard - Warcraft III
  • Создайте папку "Maps", если ее нет
  • Поместите файлы карт в папку "Maps"
  • В случае кампаний вместо Maps папка Campaigns
Выпуск Reforged на Mac:
В выпуске Reforged такой же алгоритм, но надо перейти в раздел Библиотека от "вашего аккаунта", а не в глобальную библиотеку.
Пример пути: Users/ВАШ АККАУНТ/Library/Application Support/Blizzard
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
16
Наконец-то я затяну племянника в варкрафт...
36
Поиграл в это 10 минут.
Лагает постоянно, фпс просаживается каждые 3 секунды. генерация мира происходит за спиной, даже если кусок мира уже до пару секунд был сгенерированный. настройки рендеринга и скорости мало влияет на процесс, только если рендеринг в 1 поставить. а иначе будет фризы в нулину улетать сразу после 2 секунд.
Текстура скайбокса то дерево вылезает на весь экран. при беге фпс улетает еще быстрее.
Оцениваю это 2 из 10. если не лаги, было 5.
Фпс не анлокнут, традиционные 64

Остальные баллы не накидывал из-за отсутствие банально контента, вместо квадратного друга работник из альянса, руки нет, анимации нет блоках
Загруженные файлы
Ответы (6)
36
а, да, почему то фпс не выводится через команду /fps - с меня поржали в тиме из-за фрапса, но вот когда узнали, что фпс не выводится через команду - промолчали что-то
31
Anime Chan, поржали из-за того, что ты не знал про комманду /fps. Так что не надо тут.
15
Anime Chan, Спасибо за рецензию!
К сожалению, не было возможности протестировать на другом железе, на стандартных настройках на моем ПК играбельно. Судя по всему, требования к процессору здесь действительно суровые. С этим мало что могу поделать, реалии используемого движка, совсем не подходящего под эту идею.
ФПС видно в дебаг информации, включаемой клавишой F3.
36
fenathesnake, ну если у меня на майнкрафте лагает, как в этой карте, значит и правда процессор требуется мощный. потому что у меня стоит какой то атлонт по характесристикам как какой то офисный интел тех времен
38
Anime Chan, а что ты на таком пк забыл в кастомках. Тебе добро пожаловать в мили, к сожалению
36
ScorpioT1000, ну вообще то в китайских карт у меня не лагает, это может быть только некоторых моментах подлаги быть. а так кастомки играется. а вот мили лагает от большого количества юнитов на карте независимо - есть там модели нестандартные или триггеры. 🤣
9
Очень скоро появятся карты-вирусы.
Причём на Hive это уже обсуждается.

Кстати, а udgapi и memhack можно использовать только для warcraft 3?
Это же море возможностей будет, если использовать их для других игр (half-life 2, skyrim?)
Ответы (2)
15
Очень скоро появятся карты-вирусы.
карты-вирусы уже есть, и появляются они всегда, когда есть уязвимости с исполнением произвольного кода. Они были и во времена Return Bug, и с появляением мемхака в 2016. К чему это в этом топике, и почему они очень скоро начнут имено сейчас появляться, не очень понял.
К UjAPI это всё, кстати, не относится, ведь он не позволяет исполнять произвольный код, и патчит уязвимости, которыми пользуется memhack. Так что играть на 1.24 - 1.28 версиях с UjAPI это самый безопасный путь, если боишься зловреда.
Кстати, а udgapi и memhack можно использовать только для warcraft 3?
Это же море возможностей будет, если использовать их для других игр (half-life 2, skyrim?)
Как и практически любые модификации, UjAPI и memhack работают только на warcraft 3, потому что сделаны чисто под warcraft 3. Для других игр есть свои апишки и хаки для дополнения функционала. В том же Skyrim этим занимается SKSE, насколько мне известно. Это именно что хак екзешника с встраиванием своего кода, чем в сущности и является UjAPI.
9
fenathesnake, да, я ошибся, они были и раньше.
К чему это в этом топике, не очень понял
Просто мне кажется диким воссоздание майнкрафта в варкрафте. (не вам в обиду, ваша работа вправду впечатляет)
38
Между прочим, уже в 2010 году сделали карту на нативном движке, где была динамическая дальность прорисовки в зависимости от FPS.
Возможно, стоит и здесь это реализовать.
Ответы (6)
15
ScorpioT1000, спасибо за совет!
У меня так и делается, через UjAPI нативку GetFPS можно напрямую фпс получать, от него вычисляется farz камеры и макс. количество обработанных операций (в данном случае сгенерированных блоков). Подогнанно оно под мой конфиг пк так, что фпс почти всегда 30-60 держится, и в меню паузы можно немного подрегулировать.
Основная проблема все же в том что вк3 не умеет в эффективно рендерить тысячи+ объектов, что от него и не требуется в стандартных условиях. Так что сейчас в основном ищу способы впихать всю (или почти всю) графику блоков в один объект, может так полегче будет.
22
fenathesnake, попробуй сделать так, чтобы не кубы были моделями, а отдельные грани, и спавнить их / удалять в зависимости от того, видна ли грань игроку, и находится ли она под/за другим кубом или нет)
Тогда компу придётся отрисовывать куда меньше полигонов)
Но фиг знает, не будет ли лагать сама механика работы с этими гранями)
38
EugeAl, оно в майнкрафте так и работает)
22
ScorpioT1000, ну вот, тем более, значит, проверенная технология)
15
EugeAl,
простая окклюзия уже есть - блоки которые нельзя увидеть (закрыты со всех сторон другими блоками) не "рендерятся"
"рендерить" только отдельные грани - смысла не имеет, проблема не в количестве полигонов а в количестве объектов и в том, что Варкрафт неэффективно их отправляет на рендер видеокарте (вероятно, каждый объект рнндерится отдельным вызовом к ГПУ, что очень неэффективно <- мои догадки)
в реальном времени скрывать блоки которые игрок не видит конкретно сейчас - возможно, но, думаю, не стоит свеч. Убежден что в рамках текущей системы дальше оптимизировать почти некуда, упираюсь в устаревший графический движок игры. Буду пробовать рендерить все в один объект, если не получится, то ничего более менять не буду.
38
fenathesnake, мне кажется, в майнкрафте много работы по склеиванию чанков в один меш и расклеиванию только когда с ними работают. А тут самостоятельные блоки
10
Пердолинг с инструкциями в 5 пунктов чтобы пощупать гейплей напрягает, сделайте один архив, который распаковал и запустил
Ответы (2)
31
Slonick, а ты прям в штаны <вырезано цензурой> или как-то соображаешь до туалета дойти?
15
Slonick, установка этой карты от установки любой другой ванильной карты отличается только необходимостью установить UjAPI и AngelScript.
Причем если Unryze таки добавит AngelScript сразу в комплект с ужапи то вообще понадобится только ужапи поставить и все.
Это необходимые зависимости, ставятся в 3 тыка, и если уже даже это напрягает, то добро пожаловать в пк моддинг, привыкните.
18
Управление камерой у меня почему-то сломано, так что поиграть не вышло.
Ответы (5)
15
IceFog, Спасибо за репорт.
У меня на последней версии UjAPI все работает как должно, так что ничего не поломалось.
Могу посоветовать только поиграться с настройками мыши, особенно с акселлерацией (системной и хардварной, если такая есть).
Если не поможет, то тут я бессилен. Возможно, мне стоило добавить настройки чувствительности мыши, однако по видео возникает ощущение что у движении камерой есть сильная инерция и задержка, что сенсой не исправится, и как раз характерно для проблем с акселлерацией у старых игр, вроде бы, если не изменяет память.
15
IceFog, когда в конце видео открываешь меню, через несколько мгновений курсор мгновенно в край экрана уходит. У меня этого не происходит, то есть его увело в край экрана, причем, вероятно, ты мышкой не двигал когда только нажимал ESC. Явно что-то с мышью, либо акселлерация, либо дрова косячат, либо какой-то софт, возможно, мешает. Пока такие догадки.
18
Дело не в высокой чуствительности, а в том, что камера движется по какой-то странной траектории. Я снизил значение cameraSpeed со 100.0 до 5.0 и медленно двигаю мышь вниз:
На видео оконный режим, но до этого я запускался в полноэкранном режиме.
18
Мне кажется, что система игнорирует твои попытки сместить курсор обратно в центр.
Когда я его после этого двигаю, то он смещается относительно старой позиции, а не центра, из-за чего дельта получается совсем не той.
15
IceFog, Да, ты прав, на втором видео видно что курсор просто не смещается в центр. Каким-то образом у тебя не работает SetMouseScreenRelativePosition. Тут я уже реально ничего не сделаю, надо репортить Unryze.
Можешь попробовать простецкую карту сделать с этой функцией и проверить как себя будет вести курсор, если нативка действительно не срабатывает, то надо искать причину.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.