Данный репозиторий является копией части закрытого репозитория, в котором и происходит разработка игры. Цель - вывести часть кода в публичный доступ, чтобы с ним могли ознакомиться люди, желающие посмотреть на то, в каком стиле и на каком уровне качества пишется исходной код игры.
Solar Haven - это игра, которая позволит игроку познакомиться с деревней Аврора - местом, где зародился solarpunk. Игроку предстоит заниматься фермерством, животноводством, налаживать отношения с жителями деревни, заниматься изучением истории и аномалий этого места, находя различные артефакты и распутывая клубок историй, связанных с ними.
Игровой движок: Unreal Engine 5.7
Визуальный стиль: стилизованный solarpunk
Интерфейс: преимущественно диегетический
Проект разделен на несколько модулей:
SolarHaven-> главный модуль проекта. В нем находятся различные контроллеры состояния (PlayerController, GameMode, GameInstance и т.д.). Также в нем строится система фермы.SHCore-> "ядро" проекта, в котором находятся сущности, часто используемые в разных модулях.SHItems-> модуль, посвященный внутриигровым предметам. Здесь находятся PrimaryDataAssets для всех предметов, а также поведенческие классы (Behaviors). Сами предметы создаются и заполняются уже в самом движке (они хранятся вContent/Items/DataAssets/)SHComponent-> данный модуль используется для различных компонентов. На данный момент здесь реализован компонент инвентаря, в дальнейшем появятся и другие.SHSubsystems-> модуль для подсистем. На данный момент в нем реализована подсистема игрового времени, наследующаяся от UGameInstanceSubsystem.SHCharacters-> модуль для персонажей, как самого игрока, так и NPC, которые появятся в дальнейшем.
Для того, чтобы запустить проект, необходимо:
- Клонировать его.
- Нажав на файл с расширением .uproject правой кнопкой мыши, выбрать "Generate Visual Studio Project Files"
- Открыть .sln-файл
- Из IDE запустить сам проект
На данный момент проект не очень подготовлен к запуску игроками, поскольку находится в активной фазе разработки. Однако посмотреть как все устроено визуально, а не просто через код - вполне возможно.