Skip to content

Latest commit

 

History

History
76 lines (58 loc) · 8.56 KB

README_RU.md

File metadata and controls

76 lines (58 loc) · 8.56 KB

This document is available in English version, follow this link!

FreeHeroes

FreeHeroes - свободный (и бесплатный) движок для игры Heroes of Might and Magic 3, во многом схожий с проектом VCMI.
Цели проекта:

  1. Разработка свободного движка, который примерно повторит функциональность HotA + HD Mod;
  2. Пойти дальше и предоставить современный киберспортивные фичи, такие как реплеи, режим наблюдателя, онлайн игра без мапхаков и тп.
  3. Быть как минимум таким же гибким в плане моддинга, как и VCMI.

FreeHeroes - это исполняемый файл (exe), который может запускаться без оригинальной игры (Heroes III SoD/HotA), и даже без её данных. Конечно, с картинками заглушками игра приятной быть не может, поэтому сильно рекомендуется воспользоваться конвертером оригинальных ресурсов, который идет с движком. После конвертации ресурсов, оригинальные файлы для движка не требуются. Разумеется, вы должны быть полноправным обладателем лицензионной копии игры.

Текущее состояние: проект в ну очень ранней разработке(!); режима приключений нет, "играть" как полагается в игру - нельзя. Можно экспериментировать в режиме эмуляции сражений, "брать" объекты и тп.

Чтобы почитать больше о целях проекта; "почему не VCMI"; план на ближайшие релизы; "как вы взаимодействуете с HotA" - читаем план развития

Как запускать

  1. скачиваем 7z архив отсюда: https://github.com/mapron/FreeHeroes/releases (выбираем последнюю доступную сборку FreeHeroes_Win64_*.7z )
  2. распаковываем(7-zip программа для распаковки)
  3. запускаем LegacyConverter.exe, жмём "Конвертировать!"
  4. немного ждем, как конвертация закончится, можно запускать BattleEmulator.exe и нажать "Начать битву!"

Для более подробного описания что умеет Эмулятор, читаем статью

Как оно выглядит

Главное окно эмулятора
Главное окно эмулятора;
Диалог героя
Диалог героя
Процесс сражения
Процесс сражения

Если что-то пошло не так

... ну вы же используете пре-альфа версию! Если без шуток, напишите мне либо заведите Issue здесь: https://github.com/mapron/FreeHeroes/issues
Кроме подробно объяснения проблемы, важно предоставить логи и реплеи, если они есть.
Логи хранятся %USER%\AppData\Local\FreeHeroes\Logs (например, C:\Users\mapron\AppData\Local\FreeHeroes\Logs для меня) на платформе Windows.
Реплеи в соседней директории, %USER%\AppData\Local\FreeHeroes\Replays.
Прикрепление реплея крайне важно для отчетов от ошибках в боевой логике (а также ИИ).

Как собирать из исходников

Требования:

  1. Qt 5.15 LTS или Qt 6.4 (версии между 5.15 6.4 должны работать, но не проверялись, версия 5.13 теоретически минимальная для сборки, но это тоже не проверяется).
  2. CMake 3.18 (можно и более ранние версии, но нужны будут выставления флагов для C++20 вручную).
  3. C++20 компилятор (полная поддержка C++20 не требуется). Проверены: GCC 10, Clang 10, MSVC 16.11 (VS 2019), MSVC 17.4 (VS 2022).

Просто запускаем "cmake/make/make install" (либо ninja). Для Windows команда "make install" создает в сборочной директории каталог "install" со всеми необходимыми рантайм зависимостями (можно запускать на другой машине)

Опциональная зависимость: FFMpeg с webm енкодером. FFMpeg нужен для конвертации аудио/видео ресурсов. Можно выставить переменную CMake "FFMPEG_BINARY" для удобства установки (на сборку не влияет).

Вклад в проект

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

Лицензия

Исходный код под лицензией MIT. Ресурсы движка (изображения и аудио) под Attribution-ShareAlike 4.0 International CC BY-SA 4.0 лицензией.

Стороннее ПО, поставляемое вместе с исходным кодом проекта:

  1. Googletest, https://github.com/google/googletest, BSD-3-Clause License
  2. Lua interpreter, https://www.lua.org/ , MIT License
  3. Rapidjson, https://github.com/Tencent/rapidjson, MIT License/BSD license
  4. Frozen, https://github.com/serge-sans-paille/frozen, APACHE 2 License
  5. SOL, https://github.com/ThePhD/sol2, MIT License
  6. ZLib, https://github.com/madler/zlib, ZLib license

Все проекты поставляются под пермиссивными лицензиями, совместимыми с MIT.

Стороннее ПО, используемое как зависимости

  1. Qt , https://www.qt.io/, GPL/LGPL/Commercial; те модули, которые использует FreeHeroes - доступны под LGPL лиценизией.
  2. FFMpeg https://ffmpeg.org, LGPL
  3. Webm (как часть FFMpeg), https://github.com/webmproject/libwebp/, 3-Clause BSD

Примите информацию к сведению в случае разработки производной работы с закрытым исходным кодом.

Благодарности

  • Виталий / Gomunguls - за вдохновение и консультации;
  • Александра Чичулина - за поддержку, ранее тестирование а также за небольшие кусочки дизайна;
  • Артём Главатских / Monsieur Metal - за тщательное тестирование ранних релизов.