FXGL icon indicating copy to clipboard operation
FXGL copied to clipboard

Steam sdk support? e.g. fxgl-steam module

Open chengenzhao opened this issue 4 years ago • 6 comments

A clear and concise description of what the feature is. To provide Java module version(should be better in jmod format) of Steamworks SDK https://partner.steamgames.com/doc/sdk

Describe alternatives you've considered (optional) Steamworks4j https://github.com/code-disaster/steamworks4j but it is not modularized thus we couldn't use javafx:jlink to build the custom runtime

Additional context (optional) If there is modularized jni wrapper of Steamworks SDK, then I could build custom FXGL runtime by using Gluon javafx plugin Screen Shot 2021-01-20 at 8 31 24 PM

chengenzhao avatar Apr 06 '21 15:04 chengenzhao

This could be an interesting area to explore, however making the lib above (https://github.com/code-disaster/steamworks4j) modular is probably significantly easier rather than writing a new one.

AlmasB avatar Apr 06 '21 15:04 AlmasB

This could be an interesting area to explore, however making the lib above (https://github.com/code-disaster/steamworks4j) modular is probably significantly easier rather than writing a new one.

indeed, but that project seems like deprecated already and the last commit is stay in about 2 years ago...

chengenzhao avatar Apr 06 '21 22:04 chengenzhao

I made it here is modularized jars that could be used as jlink resources the module name is steam.sdk should used as

jlink --module-path ../jmods --add-modules steam.sdk,and other modules --output runtime

steam-sdk-linux-x64.zip steam-sdk-mac-x64.zip steam-sdk-win-x64.zip

in zip file because github doesn't allow jar files to be uploaded users could download zip files then rename the suffix to jar

I have tested in my macbook pro and it works pretty good with gluon javafx plugin could use javafx:jlink to generate game image

cheers

chengenzhao avatar Apr 14 '21 14:04 chengenzhao

source code in maven format steam-sdk.zip

chengenzhao avatar Apr 14 '21 14:04 chengenzhao

current my game module-info too sad netty and vert.x is not manually modularized so I have to remove dependencies of vert.x Screen Shot 2021-04-14 at 10 16 15 PM

chengenzhao avatar Apr 14 '21 14:04 chengenzhao

https://github.com/code-disaster/steamworks4j is under MIT license, so we could technically use your solution related to adding a module-info.java and integrate it into FXGL natively. However, given it already works for your use case, we can probably park this issue for now but keep it open for any future development.

AlmasB avatar Mar 31 '23 10:03 AlmasB