danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

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

split97 split97

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

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Unreal Engine

Внедрение Steamworks SDK в Unreal Engine

Внедрение Steamworks SDK в Unreal Engine

Steam SDK нужен для внедрения в игру различных функций Steam, такие как достижения, таблицы лидеров, мультиплеерная составляющая и прочие. В интернете множество различных инструкций, но все они переполнены ненужной информацией, и большинство из них для старых версий движка. Мы с вами сделаем всё максимально просто и быстро и без лишних телодвижений.

Если у вас ещё нет ID приложения, то не беда - мы будем тестировать всё на игре Spacewar - тестовая игра от Steam для таких случаев. В материале будет использоваться Unreal Engine последней версии - 4.22, но и на предыдущих версиях движка всё аналогично. Так же, в качестве примера, я буду использовать стандартный шаблон Анриала First-person shooter.

Online Subsystem Steam

Первым делом открываем проект и идём на вкладку Plugins (Edit -> Plugins) и активируем плагин Online Subsystem Steam. Потребуется перезапуск движка, о чём нам и сообщают.

Окно плагинов и Online Subsystem Steam в нём — Внедрение Steamworks SDK в Unreal Engine — Unreal Engine — DevTribe: инди-игры, разработка, сообщество
Окно плагинов и Online Subsystem Steam в нём

Копирование dll

Далее проходим в папку
/Epic Games/ваша версия движка/Engine/Binaries/ThirdParty/Steamworks/Steamv139

Обратите внимание, не в папку проекта, а в папку самого установленного движка. В этой директории находятся папки Win32 и Win64, а каждой из которых есть по файлу steam_api. Сейчас нам нужно добавить нужные dll. Переходим в папку с установленным Steam-клиентом и в ней находим и копируем файлы:

В папку Win64 движка:

  • steamclient64.dll
  • tier0_s64.dll
  • vstdlib_s64.dll

В папку Win32 движка:

  • steamclient.dll
  • tier0_s.dll
  • vstdlib_s.dll
Вид папки Win32 после копирования. В Win64 всё аналогично, только версии файлов для 64 бит. — Внедрение Steamworks SDK в Unreal Engine — Unreal Engine — DevTribe: инди-игры, разработка, сообщество
Вид папки Win32 после копирования. В Win64 всё аналогично, только версии файлов для 64 бит.

Конфигурация DefaultEngine.ini

Переходим в папку вашего проекта, в каталоге /Config находим файл DefaultEngine.ini и открываем его блокнотом. Вставляем в него следующие строки:

[/Script/Engine.GameEngine]
!NetDriverDefinitions=ClearArray
+NetDriverDefinitions=(DefName="GameNetDriver",DriverClassName="/Script/OnlineSubsystemSteam.SteamNetDriver",DriverClassNameFallback="/Script/OnlineSubsystemUtils.IpNetDriver")

[OnlineSubsystem]
DefaultPlatformService=Steam
PollingIntervalInMs=20

[OnlineSubsystemSteam]
bEnabled=true
SteamDevAppId=480
GameServerQueryPort=27015
bRelaunchInSteam=false
GameVersion=1.0.0.0
bVACEnabled=1
bAllowP2PPacketRelay=true
P2PConnectionTimeout=90

[/Script/OnlineSubsystemSteam.SteamNetDriver]
NetConnectionClassName="/Script/OnlineSubsystemSteam.SteamNetConnection"

Финал

Первоначальная настройка завершена! Запустите свой проект в режиме Standalone Game. Если всё прошло хорошо, то после запуска в правом нижнем углу вы увидите стандартную всплывающую подсказку Steam. Внимание! Steam-клиент должен быть запущен на вашем компьютере! В оверлее (Shift-Tab) будет светиться игра Spacewar - то самое приложение для тестов от Стима.

Оверлей игры Spacewar в стандартном шаблоне UE4 — Внедрение Steamworks SDK в Unreal Engine — Unreal Engine — DevTribe: инди-игры, разработка, сообщество
Оверлей игры Spacewar в стандартном шаблоне UE4

Если у вас уже есть ID вашей игры, то снова открываем DefaultEngine.ini:

  • Изменяем SteamDevAppId=480 на SteamDevAppId=ID вашего приложения
  • После неё добавляем строку SteamAppId=ID вашего приложения

(Скорее всего вы уже догадались, что 480 - это ID игры Spacewar)

Всё готово к работе! Теперь в вашу игру интегрирован Steamworks SDK и можно спокойно тестировать его функции на стандартном Spacewar. В следующей статье поговорим о том, как добавить достижения в вашу игру.

Смотрите также:


Комментарии



Спасибо большое за этот гайд! А то уже волосы дыбом от отсутствия инфы)) Хотелос бы больше по этой теме. Например, что дальше. Т.е. я подключился к тестовому серверу стим. Как теперь мне синхронизировать двух и более игроков, подключенных к комнате. Вобщем куча вопросов осталось.
Но все равно спасибо!

P.S. : Хотелось бы видеть простые примеры (с кубами) например. И реализацией на С++ в UE4

EfimovMax есть че сказать по этому поводу?

А что мне делать я включил данный плагин компилирую игра не компилица выдает ошибку

Haibo,

не компилица выдает ошибку

Ошибку в студию.

Jusper, ошибка была в том что путь был на русском языке а именно папка с документами

Справка