Задача каждого уровня игры - собрать заданное число алмазов, и не потерять весь запас здоровья при контакте с монстрами. Трикси может ходить, атаковать, использовать щит, телепортироваться горизонтально и между слоями уровня. Доступны несколько градацией сложности, а также секретные достижения.
Проект разработан на основе моего движка GameStudyJS, логика игры частично реализована на C++, частично на JavaScript. в качестве графической библиотеки используется SFML.
bin
- каталог для вывода собранного исполнимого файла, а также динамические библиотеки SFML, необходимые для запуска проекта под Windowsbuild
- cкрипты сборки игры для Windows и Linux без использования QtCreatordata
- каталог контента игры (графика, звуки, тексты, уровни)GameStudyJS-core
- субмодуль той части движка GameStudyJS, которую использует проектgraphics
- иконки игры для дистрибутива и AppImagesetup
- скрипты создания дистрибутивов/архивов для Windows, и AppImage для LinuxSFML-2.5.1-mingw
- заголовочные и библиотечные файлы библиотеки SFML для сборки проекта под WindowsTrixieDiamonds
- исходный код игры в виде проекта на С++/Qt для QtCreator
Для сборки проекта нужен установленный Qt вместе с MinGW для Windows или gcc под Linux
(проверено на версии Qt 5.14.1).
При сборке под Linux, также нужно установить SFML и библиотеки его разработки
(пакеты libsfml
и libsfml-dev
). Для сборки под Windows, необходимые библиотеки и заголовочные файлы
уже включены в репозиторий.
Создание дистрибутива для Windows выполняется с помощью программы NSIS
Создание архива для Windows выполняется с помощью скриптовой утилиты построения архивов SmartZipBuilder
Для создания AppImage под Linux необходим инструмент сборки AppImageKit - appimagetool-x86_64.AppImage
После получения файлов репозитория, нужно обновить субмодуль движка GameStudyJS-core
,
выполнив в каталоге проекта команды
git submodule init
git submodule update
Для сборки проекта при помощи QtCreator нужно открыть проект
TrixieDiamonds\TrixieDiamonds.pro
и выполнить его сборку в конфигурации Release.
В каталоге bin
появится исполняемый файл TrixieDiamonds.exe
для Windows
или TrixieDiamonds
для Linux.
Для сборки проекта без QtCreator нужно открыть каталог
build
и запустить файл make_linux.sh
для Linux или make_win32.bat
для Windows.
Результат должен быть аналогичен сборке из IDE.
При работе под Windows может потребоваться изменить путь к файлу qmake.exe
в скрипте make_win32.bat
Чтобы запустить версию для Windows, вне зависимости от способа сборки,
может потребоваться скопировать в каталог bin
библиотечные файлы из каталогов Qt.
libgcc_s_dw2-1.dll
libstdc++-6.dll
libwinpthread-1.dll
Qt5Core.dll
Qt5Script.dll
Версия для Linux запускается без дополнительного копирования файлов.
ВАЖНО: при создании дистрибутивов, информация о версии, ветке и коммите берется из репозитория git, поэтому все описанные ниже команды будут работать корректно только при вызове из каталога-репозитория git и при наличии установленного git.
Создание архива и дистрибутива для Windows выполняется
после сборки проекта запуском файла build32.bat
из каталога setup/windows
В скрипте сборки нужно указать путь к компилятору NSIS.
Также в скрипте нужно задать правильное значение переменной QTDIR
- указав
каталог, где находятся библиотеки Qt.
Создание AppImage для Linux выполняется
после сборки проекта запуском файла build64.sh
из каталога setup/linux
. В каталоге /tmp
появятся готовые образы AppImage для 64-битной версии Linux.