Java 게임에서 Steamworks 기능을 구현할 수 있습니까? 어떻게?


11

나는 궁극적으로 더 나은 것으로 바꾸고 싶은 기본 게임을 가지고 있습니다. 게임은 지금 모두 Java이지만, Steamworks SDK를 내 게임에 구현하고 싶습니다 (따라서 성과와 워크샵 등을 가질 수 있음). 그러나 Steamworks에는 C ++이 필요합니다. 전체 Java 게임에서 C ++로 다시 작성하지 않고 Steamworks SDK를 구현할 수 있습니까? 현재 게임에 jMonkey Engine 3을 사용하고 있습니다.

답변:


11

Java Native Interface 를 통해 Steam SDK (또는 그 일부)를 Java로 래핑하는 얇은 계층을 만들어야합니다.

나는 이것을 위해 오픈 소스 라이브러리를 만들려는 노력을 모른다.


이것은 매우 실용적인 솔루션으로 보입니다. 이것으로 나의 유일한 걸림돌은 이것을 내 코드로 구현하는 방법을 알 수 없다는 것입니다. 메인 파일 어딘가에 있다고 가정합니다.
1Poseidon3

나는 그것을 더 깊이 들여다 보았고 그것을 알아낼 수있을 것이라고 확신합니다. 이 답변은 나를 올바른 길로 안내하는 데 정말 도움이되었습니다.
1Poseidon3

1
JNI를 사용하는 일부 C ++ steamworks API 주위에 Java 래퍼 인 steamworks4j 가 있습니다 .
mucaho

6

JNI는 전체 액세스 권한을 원하는 경우 사용할 수있는 방법이지만 Steamworks Web API 가 더 쉬운 방법 일 수 있습니다. 기본적으로 Steamworks 함수에 대한 HTTP / HTTPS 기반 채널이며 Java, Python, Ruby 및 본질적으로 C / C ++가 아닌 모든 항목의 액세스와 즉시 호환되도록 설계되었습니다.

물론 JNI의 문제는 사용 가능한 각 OS에 대해 별도로 컴파일해야한다는 것입니다.이 언어는 해당 언어의 목적을 상실합니다. Getter 메소드는 기본 HTTP로 실행될 수 있습니다. 내가 이해하는 세터 (업적 설정과 같은)는 HTTPS와 고유 한 개발자 식별자가 필요합니다. 그러나 인터페이스는 여전히 비교적 간단합니다.



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.