Возможно ли реализовать функциональность Steamworks в Java-игре? Как?

11

У меня есть базовая игра, которую я хочу превратить в нечто лучшее. На данный момент игра полностью на Java, но я хочу внедрить Steamworks SDK в свою игру (чтобы он мог иметь достижения, и Мастерскую, и так далее). Но Steamworks требует C ++. Возможно ли, чтобы моя полная Java-игра реализовала Steamworks SDK, не переписывая его на C ++? В настоящее время я использую jMonkey Engine 3 для своей игры.

1Poseidon3
источник

Ответы:

11

Это определенно возможно, вам просто нужно создать тонкий слой, оборачивающий Steam SDK (или его часть) в Java через собственный интерфейс Java

Я не знаю о каких-либо попытках создать для этого библиотеку с открытым исходным кодом.

Эльва
источник
Похоже, это очень жизнеспособное решение. Моя единственная загвоздка с этим сейчас в том, что я не знаю, как внедрить это в мой код или где. Я бы предположил, что это будет где-то в главном файле, верно?
1Посейдон3
Я посмотрел на это глубже, и я уверен, что смогу понять это. Этот ответ был действительно полезен, чтобы направить меня на правильный путь.
Посейдон3
1
Есть steamworks4j , Java-оболочка для некоторых API C ++ steamworks с использованием JNI.
Мукахо
6

JNI - это путь, если вам нужен полный доступ, но веб-API Steamworks может быть проще. По сути, это канал на основе HTTP / HTTPS для функций Steamworks, предназначенный для мгновенной совместимости с доступом из Java, Python, Ruby и всего, что по сути не является C / C ++.

Конечно, вы знаете, что проблема с JNI заключается в том, что вам нужно будет скомпилировать ее отдельно для каждой доступной ОС, что в некоторой степени противоречит цели любого из этих языков. Методы получения могут быть запущены с базовым HTTP; сеттеры (например, установка достижений), насколько я понимаю, требуют HTTPS и уникальный идентификатор разработчика; но интерфейс все еще относительно прост.

Майкл Эрик Оберлин
источник
-3

Используйте Steam SDK и вы можете использовать Jar, если они предоставляют. проверьте их выпуск и API. и после думать о реализации. http://steamcommunity.com/dev/

глубоко
источник