Чи можливо реалізувати функціональність Steamworks в грі Java? Як?


11

У мене є основна гра, яку я хочу врешті перетворити на щось краще. Зараз у грі є вся Java, але я хочу впровадити SDK Steamworks у свою гру (щоб вона могла мати досягнення, і майстерню тощо). Але Steamworks вимагає C ++. Чи можна, щоб моя повна гра Java реалізувала SDK Steamworks, не переписуючи її на C ++? Зараз я використовую jMonkey Engine 3 для своєї гри.

Відповіді:


11

Це, безумовно, можливо, вам просто потрібно створити тонкий шар, що обгортає SDK Steam (або його частину) до Java через інтерфейс Java Native

Я не знаю жодних зусиль щодо створення бібліотеки з відкритими джерелами для цього.


Це, здається, є дуже життєздатним рішенням. Єдиний мій вміст із цим зараз - це те, що я не знаю, як це реалізувати у своєму коді чи куди. Я б припустив, що це буде десь у головному файлі, правда?
1Посейдон3,

Я глибше поглянув на це і впевнений, що зможу це зрозуміти. Ця відповідь була дуже корисною для того, щоб встановити мене на правильний шлях.
1Посейдон3,

1
Існує steamworks4j , обгортка Java навколо деяких C ++ API парових мереж, що використовують JNI.
mucaho

6

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

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



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.