LINUX.ORG.RU

VCMI 0.99

 , , , ,


3

4

Опубликована новая версия свободного движка классической пошаговой стратегии Heroes of Might & Magic 3 — VCMI 0.99.
Для игры требуются оригинальные файлы Heroes Complete или Shadow of Death. WoG более не требуется.
Все рекомендуемые дополнения могут быть скачаны и установлены при помощи программы запуска игры, поставляемой в пакете.

Просим сообщать об ошибках на багтрекер.

Общие изменения

  • Добавлен бонус NO_TERRAIN_PENALTY: кочевники избавят армию от штрафа при передвижении по песку.
  • Полёт и хождение по воде добавлены в планировщик маршрута.
  • Добавлены слухи в окно таверны.
  • Добавлена поддержка новых артефактов «Крылья Ангела» и «Ботинки Левитации».

Новые чит-коды

  • vcmiglaurung: добавляет по 5000 кристальных драконов в каждый слот.
  • vcmiungoliant: убирает туман войны для текущего игрока.

Новые консольные команды

  • gosolo: ИИ управляет человеческими игроками и наоборот.
  • controlai: даёт игроку управление одним или всеми ИИ.
  • set hideSystemMessages on/off: включает или отключает сообщения сервера в чате.

Битвы

  • Добавлена механика подъёмного моста (анимация пока отсутствует).
  • Реализовано слияние городских и входящих в город армий во время осады.
  • Добавлена подсказка об умениях и мане героя.

ADVETURE AI

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

Генератор случайной карты

  • Изменён генератор фракталов таким образом, что теперь возможно создание окружностей.
  • Зоны теперь не будут иметь прямых путей, они теперь полностью случайны.
  • Созданные зоны будут иметь разные размеры в зависимости от настроек шаблона.
  • Добавлен случайный объект Гильдии Воров (1 на зону).
  • Добавлена хижина провидца с заданиями, соответствующими OH3.
  • Генератор случайной карты будет гарантировать хотя бы 100 пар Монолитов.

VCMI в социальных сетях:

>>> VK

>>> Facebook

>>> Twitter

>>> Google+

Другие страницы:

>>> Steam Community

>>> Reddit

>>> ModDB

>>> Подробности

★★★★★

Проверено: Klymedy ()
Последнее исправление: cetjs2 (всего исправлений: 13)

В 0.98 у меня стабильно на одной карте при ходе АI игра сегфолтилась. Проверим, может и поправили. Я даж баг заводил в апреле(не помню какого года), но он потом просто куда-то пропал.

Loki13 ★★★★★
()

Осталосб запилить свободную версию ресурсов игры.

Ancient
()
Ответ на: комментарий от ados

Облом

[ 86%] Building CXX precompiled header AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx.gch
In file included from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:12:0,
                 from /usr/include/boost/iostreams/detail/resolve.hpp:26,
                 from /usr/include/boost/iostreams/detail/push.hpp:24,
                 from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31,
                 from /usr/include/boost/iostreams/stream_buffer.hpp:22,
                 from /usr/include/boost/iostreams/stream.hpp:21,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/../filesystem/FileStream.h:14,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/CLogger.h:15,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../Global.h:253,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/StdInc.h:3,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.cxx:4,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx:4:
/usr/include/boost/type_traits/detail/bool_trait_def.hpp:18:79: note: #pragma message: NOTE: Use of this header (bool_trait_def.hpp) is deprecated
 # pragma message("NOTE: Use of this header (bool_trait_def.hpp) is deprecated")
                                                                               ^
In file included from /usr/include/boost/type_traits/detail/bool_trait_def.hpp:21:0,
                 from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:12,
                 from /usr/include/boost/iostreams/detail/resolve.hpp:26,
                 from /usr/include/boost/iostreams/detail/push.hpp:24,
                 from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31,
                 from /usr/include/boost/iostreams/stream_buffer.hpp:22,
                 from /usr/include/boost/iostreams/stream.hpp:21,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/../filesystem/FileStream.h:14,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/CLogger.h:15,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../Global.h:253,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/StdInc.h:3,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.cxx:4,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx:4:
/usr/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
 # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
                                                                                    ^
In file included from /usr/include/boost/iostreams/detail/is_dereferenceable.hpp:13:0,
                 from /usr/include/boost/iostreams/detail/resolve.hpp:26,
                 from /usr/include/boost/iostreams/detail/push.hpp:24,
                 from /usr/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:31,
                 from /usr/include/boost/iostreams/stream_buffer.hpp:22,
                 from /usr/include/boost/iostreams/stream.hpp:21,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/../filesystem/FileStream.h:14,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../lib/logging/CLogger.h:15,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../Global.h:253,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/StdInc.h:3,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.cxx:4,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx:4:
/usr/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: note: #pragma message: NOTE: Use of this header (template_arity_spec.hpp) is deprecated
 # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated")
                                                                                    ^
In file included from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/StdInc.h:3:0,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.cxx:4,
                 from /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx:4:
/tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/../../Global.h:700:24: fatal error: can’t write PCH file: No space left on device
 using vstd::make_unique;
                        ^
compilation terminated.
CMake Error at /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/cmake_modules/cotire.cmake:1826 (message):
  cotire: error 1 precompiling
  /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx.
Call Stack (most recent call first):
  /tmp/yaourt-tmp-redarch19/aur-vcmi/src/vcmi-0.99/cmake_modules/cotire.cmake:3421 (cotire_precompile_prefix_header)


make[2]: *** [AI/StupidAI/CMakeFiles/StupidAI.dir/build.make:63: AI/StupidAI/cotire/StupidAI_CXX_prefix.hxx.gch] Error 1
make[1]: *** [CMakeFiles/Makefile2:693: AI/StupidAI/CMakeFiles/StupidAI.dir/all] Error 2
make: *** [Makefile:150: all] Error 2
ados ★★★★★
()
Ответ на: комментарий от dees

Черт - только сейчас увидел причину. Но уже всё удалил. Странно я перед тем как постить это подозревал такую причину, но там было ок 150М свободных.

ados ★★★★★
()
Ответ на: комментарий от ados

Ему на сборку много места надо.

toney ★★★★★
() автор топика
Ответ на: Облом от ados

cotire

Наркоманы! Я на разных проектах пробовал это чудо, там прирост в скорости сборки 3-5%. Если так хотят ускорить сборку, лучше бы использовали модули из clang, там при грамотной модуляризации исходников можно на 30-50% ускорить сборку.

DELIRIUM ☆☆☆☆☆
()

свободные ресурсы планируются запилить, как сделали разработчики openttd, полностью отвязав от оригинала?

anonymous
()
Ответ на: комментарий от Falcon-peregrinus

Вполне полное, 99% всего реализовано и уже даже есть почти готовый новый формат карты и редактор которые в данный релиз не попали. Стабильность и ИИ это пока оставшиеся задачи.

o-
()
Ответ на: комментарий от Loki13

В 0.98 у меня стабильно на одной карте при ходе АI игра сегфолтилась.

Мы тонну маленьких багов закрыли приводивших к схожему результату, твой баг я скорее всего закрыл. Сейчас там есть только несколько проблем приводящих к крашам или фризам (например ИИ битвы, к сожалению, не умеет в понятия рва на два тайла у Fortress) на ходе ИИ. Ну и вероятно есть пачечка race condition которые просто сложно поймать.

o-
()
Ответ на: комментарий от ados

Я собираю за пару минут шлангом на i7 4771, но нужно по гигу памяти на процесс. GCC, к сожалению, может легко сожрать и 2-2.5GB в зависимости от версии. Темплейты с огромным уровнем вложенности жрут много, ничего не поделаешь.

o-
()
Ответ на: комментарий от medik

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

o-
()
Ответ на: комментарий от DELIRIUM

Я думаю cotire у нас было прикручено сбоку чтобы было. Какой-то прирост в скорости оно вроде дает из-за того что у нас совершенно отвратная структура кода / инклюдов и при сборке везде тащится половина буста и почти все заголовочные файлы движка.

Если так хотят ускорить сборку, лучше бы использовали модули из clang, там при грамотной модуляризации исходников можно на 30-50% ускорить сборку.

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

o-
()
Ответ на: комментарий от anonymous

свободные ресурсы планируются запилить, как сделали разработчики openttd, полностью отвязав от оригинала?

Если речь не о заглушках вида «чтоб запустилось», то просто нет людей которые бы хотели и могли эту работу хорошо проделать. Даже достойно выглядящих модов с моменты выхода тройки сделали довольно мало, а тут надо пилить не один замок, а девять плюс тонну объектов карты. И все должно быть в одном стиле, не на основе сворованных моделей, etc.

За деньги же на качественную замену только графики которая была бы не хуже оригинальной нужно $20,000-30,000. В общем лет через 8 когда уже никто не будет играть в оригинал, а только в VCMI может и появится возможность сделать что-то на уровне.

o-
()
Ответ на: комментарий от thunar

В Horn of the Abyss на нём возможно сыграть?

Все зависит от того, что ты понимаешь под HotA. У нас есть адаптация, но ведь как и почти любой «мод» для героев оно патчит бинарник для добавления своих фитч и у нас в движке реализовано далеко не все.

Да и если честно много что и не должно быть реализовано на С++, а скриптов же у нас пока нет и раньше следующего релиза не появится.

o-
()
Ответ на: комментарий от o-

общем лет через 8 когда уже никто не будет играть в оригинал

Да будут еще катать, только вряд ли vcmi - от действий ИИ очень много зависит при игре «на тоненького». Проще виртуалку с оффтопиком/wine/reactos. Вот здесь http://heroesworld.ru/forum/ число сообщений в разделах ~«homm <version> online» намекает, что тройка очень даже жива.

anonymous
()
Ответ на: комментарий от anonymous

Дак я и не говорю что с игрой что-то не так, но через пару-тройку лет VCMI будет во всех отношениях лучше чем оригинал и народ так или иначе будет переползать. Да и никто не мешает запилить ИИ который ведет себя как в оригинале.

o-
()
Ответ на: комментарий от o-

через пару-тройку лет VCMI будет во всех отношениях лучше чем оригинал и народ так или иначе будет переползать

Xотелось бы. Нo особого оптимизма не питаю. Немного напоминает ситуацию с xmoto: игра неплохая, но кому-то не хватало физики elastomania (ну пока та закрытая была); или worms armageddon и hedgewars - все же на первoм продвинутая туса, а подкрутить параметры чтобы переползли довольно сложно.

anonymous
()

Нужно! Молодцы!

ashot ★★★★
()
Ответ на: комментарий от anonymous

При всей моей любви к hedgewars это таки не worms. Плюс аудитория червей довольно сильно фрагментирована и так по разным играм серии и владельцы прав регулярно выпускают новые и новые ненужные версии. Ежики это качественный проект, но он реально теряется на фоне over9000 игр про червяков и ещё очень большим фактором является то, что люди хотя играть именно с червячной графикой и ничего тут не сделаешь.

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

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

o-
()
Последнее исправление: o- (всего исправлений: 1)
Ответ на: комментарий от o-

А вот я линуксом пользуюсь. Дистрибутив — федора. С играми тут туго, так что ваш проект пришёлся бы очень ко двору. Но как мне его установить? Собирать из исходников? Даже с учётом того, что я, вроде, умею собирать из исходников, но мне просто тупо лень это делать ради игры. А сколько таких, которые даже собрать не смогут?

Wizard_ ★★★★★
()
Ответ на: комментарий от Wizard_

А сколько таких, которые даже собрать не смогут?

Такие обычно качают архив с экзешниками. А если серьёзно, то до недавнего времени оно было недостаточно играбельно и больно часто крашилось для того, чтобы об этом заботиться.

Я уже давно сделал ежедневные билды с линукса под оффтотик со своей машине и хочу в будущем вообще собирать архивы с CI под все оси. Как будет время сделаю и линуксовые сборки со Steam runtime, так как считаю, что опакечиванием должны заниматься майнтейнеры дистрибутивов. Но если кто-то займется и прикрутит к Travis создание deb/rpm то тогда и их тоже можно выкладывать.

Другой вопрос что для этого нам нужно обновить сайт и это ещё одна задача которой не особо есть кому заниматься. И ещё непонятно где обновленную инфраструктуру хостить - написал вроде в Red Hat OpenShift, но без ответа. Они, видимо, дают хостинг только оформленным nonprofit проектам. Надо попробовать спросить в толксах.

o-
()
Последнее исправление: o- (всего исправлений: 4)
Ответ на: комментарий от anonymous

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

О конкретных ограничениях можно почитать, например, в физмиге: https://vk.com/fizmig

o-
()

А можно тонко настроить игровые правила, как в ВоГе, например, выборочно выключить артефакты, заклинания, способности и всё такое? Особенно интересует, можно ли выключить в генераторе карт монолиты (ненавижу монолиты)?

Strafer
()
Ответ на: комментарий от Strafer

А можно тонко настроить игровые правила, как в ВоГе, например, выборочно выключить артефакты, заклинания, способности и всё такое?

Нет. В принципе все это очень просто реализовать, но наверное для начала надо по хорошему переделать интерфейс чтобы не прикручивать дополнительные кнопочки через зад как в WoG.

ненавижу монолиты

По какой причине ненавидишь? У нас искалка путей ищет через них если что.

o-
()
Ответ на: комментарий от o-

Темплейты преимущественно в хедерах обычно живут, если хедера сделать модулями, то есть шанс ускориться.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от o-

Нет

Ладно, я пока на ВоГе посижу, у меня много специфических требований.

Ну в принципе-то есть в планах это сделать?

По какой причине ненавидишь? У нас искалка путей ищет через них если что.

Чисто эстетически не люблю.

Strafer
()
Ответ на: комментарий от DELIRIUM

Проблема не в самих темплейтах а в том что это сериализация с огромным уровнем вложенности (она у нас своя, но основой был boost::serialization). Скажем есть у нас CGameState и он по сути хранит все игровые данные.

Оно естественно работает очень медленно, зато можно весь геймстейт отправить по сети при необходимости и с сейвами все относительно просто. У нас среди разработчиков есть несколько профессиональных программистов на крестах (коим я лично не являюсь) и никто пока не нашел сколько-либо простого решения как все можно улучшить.

o-
()
Ответ на: комментарий от Strafer

Ну в принципе-то есть в планах это сделать?

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

Поэтому как мне лично кажется перед тем как допиливать две тонны опций было бы логично вообще переписать pregame меню так, чтобы при необходимости туда можно было добавить сколько угодно опций. В конце концов нам для этого не нужно ассемблерные патчи для бинарника 17 летней давности писать.

Ну а так в планах есть поддержка нормальных (python / lua) и ненормальных (ERM) скриптов, тогда можно будет много чего настраивать.

o-
()
Ответ на: комментарий от o-

но но пилить именно «менюшку как в воге» мы не будем

«как в воге» == «те же возможности настройки», важна суть, а не форма.

как мне лично кажется перед тем как допиливать две тонны опций было бы логично вообще переписать pregame меню так, чтобы при необходимости туда можно было добавить сколько угодно опций

Просто подожду, когда проект разовьётся до нужного лично мне уровня. К героям у меня особая любовь, поэтому жду с нетерпением.

Ну а так в планах есть поддержка нормальных (python / lua)

Хорошо бы. Пробовал скриптить на ERM и хапнул немало горя.

Strafer
()
Ответ на: комментарий от Strafer

«как в воге» == «те же возможности настройки», важна суть, а не форма.

Ну у нас просто все упирается в то, что интерфейс написан очень давно и местами очень плохо, а потому сами настройки реализовать проще чем гуй для них.

o-
()
Ответ на: комментарий от o-

А есть ли возможность положить ресурсы игры куда угодно и указать к ним путь лончеру?

toney ★★★★★
() автор топика
Ответ на: комментарий от toney

Почему бы просто не поставить симлинк?

Вообще я выше писал про билды в стиле оффтопика со Steam runtime. Если я их когда-нибудь сделаю то наверное в них будет возможность отключать XDG на линуксе и класть в одну директорию, или указывать путь к ресурсам. Так в лаунчере эта опция всегда была.

o-
()
Ответ на: комментарий от anonymous

«свободные ресурсы планируются запилить»

Поляки вроде начинали работу, но подозреваю, что почти ничего нет спустя год после начала. Нужны желающие собрать/нарисовать плейсхолдеры как минимум. Кто-то предлагал всобачить графику из Wesnoth, например.

anonymous
()
Ответ на: комментарий от Wizard_

А вот я линуксом пользуюсь. С играми тут туго

/me заглянул в свой аккаунт Стима

Чувак, а ты игры покупать не пробовал? У меня под сотню игр линуховых в Стиме. При чем тут тебе и Civilization 5, тут тебе и «Ведьмак 2», тут тебе и всякие контры и ко. Скоро ожидаем релиз Civilization 6.

Просто покупай игры и они будут, а не ври про малое их количество.

ergil ★★★
()
Ответ на: комментарий от o-

Что тебе нужно для хостинга?
Место-мощности-ширина канала?
Я, конечно, не Red Hat, но для VCMI могу посмотреть место в закромах родины, много не обещаю, но сообщи что нужно, поговорим.

ergil ★★★
()
Ответ на: комментарий от Wizard_

dnf remove fedora
apt-get install ubuntu

Хотя лично я сомневаюсь в том, что для федоры нет аналогов убунтушных ppa (а с учётом того, в в дебиане vcmi уже в тестинге есть, то вскоре и в убунте в основных репах будет).

redgremlin ★★★★★
()
Ответ на: комментарий от RazrFalcon

У них есть роадмап?

Можно посмотреть тут: http://wiki.vcmi.eu/index.php?title=TODO_list https://trello.com/b/68e5rAAl/vcmi-missing-features-only

Насколько оно готово?

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

o-
()
Ответ на: комментарий от ergil

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

Для меня лично не проблема потратить скажем $20/месяц на DigitalOcean и захостить там, но хочется чтобы работоспособность инфраструктуры от меня зависела.

o-
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.