Epic Game's EOS SDK support to Ren'Py

A place for Ren'Py tutorials and reusable Ren'Py code.
Forum rules
Do not post questions here!

This forum is for example code you want to show other people. Ren'Py questions should be asked in the Ren'Py Questions and Announcements forum.
Post Reply
Message
Author
User avatar
Andredron
Miko-Class Veteran
Posts: 688
Joined: Thu Dec 28, 2017 2:37 pm
Location: Russia
Contact:

Epic Game's EOS SDK support to Ren'Py

#1 Post by Andredron »

Epic Online Services extension for Ren’Py

This extension adds Epic Games achievements support to Ren’Py. Ensure that you have accepted the usage conditions for the Epic Games SDK on the Epic Games Dev Portal before using this extension.

In the future, the extension will be updated to cover more EOS features such as authentication. The end goal is to provide a thin ctypes wrapper around all EOS functions as well as helpers for the most commonly used features.

Installation
Unpack the archive of the extension in your game’s directory

Update EOS_runner.ini to point towards the game’s generated exe file. This is most easily done and maintained by setting define build.executable_name = "MyGameName" in game/options.rpy.

Create a new game/epic.rpy file with the following information:

Code: Select all

# Get all attribute values under "Product Settings" -> "SDK Download & Credentials" at dev.epicgames.com
# You may need to create an EOS client for your game in "Product Settings" -> "Clients"
define config.epic_product = '0123456789abcdef0123456789abcdef'
define config.epic_sandbox = 'abcdef0123456789abcdef0123456789'
define config.epic_deployment = '456789abcdef0123456789abcdef0123'
define config.epic_client = 'AbCdEfGhIjKlMnOpQrStUv0123456789'
define config.epic_clientsecret = 'OT60Kvx3QM0ivZTncg8+yypmnNC1bcawfmQQ5C+8AGX'

# The client's policy must have the following Achievements features:
# findAchievementsForLocalUser, unlockAchievementForLocalUser,
# findAchievementDefinitions, readAchievementDefinition
define config.enable_epic_achievements = True

# The requested permissions. See EOS_EAuthScopeFlags for potential value
define config.epic_scopes = 0x0

init -1499 python:
    achievement.backends.insert(0, epicapi.EpicBackend())

init python in epicapi:
    # Start the Epic EOS handler here
    init()
Add the library files to your packaging rules file (usually game/options.rpy):

Code: Select all

init python:
    ## Epic support, none of those files may be in an archive
    # Epic extension
    build.classify('game/epic_eos.rpe', 'all')
    # Renamed EOSBootstrapperTool.exe from the SDK
    build.classify('EOS_runner.exe', 'windows')
    build.classify('EOS_runner.ini', 'windows')
    # Epic libs
    build.classify('libs/EOSSDK-Win*-Shipping.dll', 'windows')
    build.classify('libs/*/xaudio2_9redist.dll', 'windows')
    build.classify('libs/libEOSSDK-Linux-Shipping.so', 'linux')
    build.classify('libs/libEOSSDK-Mac-Shipping.dylib', 'mac')

https://github.com/Ayowel/renpy-epicgames-eos

User avatar
Triority
Regular
Posts: 183
Joined: Fri Jul 20, 2018 1:28 pm
Completed: Welcome To... Chichester 0, 1,2 OVN 1, OVN 2, OVN 3, No Regrets For The Future
Projects: Welcome To... Chichester series
Organization: Triority
Tumblr: Sku-te
itch: triority
Location: England
Discord: sku_te
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#2 Post by Triority »

Has anyone managed to get accepted for the Epic Store ? I find they never reply when submitting games.

User avatar
Triority
Regular
Posts: 183
Joined: Fri Jul 20, 2018 1:28 pm
Completed: Welcome To... Chichester 0, 1,2 OVN 1, OVN 2, OVN 3, No Regrets For The Future
Projects: Welcome To... Chichester series
Organization: Triority
Tumblr: Sku-te
itch: triority
Location: England
Discord: sku_te
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#3 Post by Triority »

I just get :

File "game/epic.rpy", line 17, in script
init -1499 python:
File "game/epic.rpy", line 17, in script
init -1499 python:
File "game/epic.rpy", line 18, in <module>
achievement.backends.insert(0, epicapi.EpicBackend())
AttributeError: 'StoreModule' object has no attribute 'EpicBackend'

User avatar
Andredron
Miko-Class Veteran
Posts: 688
Joined: Thu Dec 28, 2017 2:37 pm
Location: Russia
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#4 Post by Andredron »

Triority wrote: Thu Mar 30, 2023 11:57 am I just get :

File "game/epic.rpy", line 17, in script
init -1499 python:
File "game/epic.rpy", line 17, in script
init -1499 python:
File "game/epic.rpy", line 18, in <module>
achievement.backends.insert(0, epicapi.EpicBackend())
AttributeError: 'StoreModule' object has no attribute 'EpicBackend'
First of all, did you do everything according to the instructions? My friend used this plugin, and it worked for him. Judging by the error, you did something wrong, because it does not see the class. Double-check all of the action, please, and if the error still comes out, describe:

Under what conditions you get the error.

For example at reaching 2 the error comes out, or at any start the error comes out.

For a better idea of what you did wrong, try to make a video of what you're doing that error occurs

And preferably write to the author on githab, of course I can be a negotiator, but I'm afraid with my bad English there will be a messed up phone when each other is misunderstood.

User avatar
Triority
Regular
Posts: 183
Joined: Fri Jul 20, 2018 1:28 pm
Completed: Welcome To... Chichester 0, 1,2 OVN 1, OVN 2, OVN 3, No Regrets For The Future
Projects: Welcome To... Chichester series
Organization: Triority
Tumblr: Sku-te
itch: triority
Location: England
Discord: sku_te
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#5 Post by Triority »

It happens when trying to run from the launcher - and just before actually starting

Put all the files into the game directory - also tried the root of the project directory, but no luck there either.

User avatar
Triority
Regular
Posts: 183
Joined: Fri Jul 20, 2018 1:28 pm
Completed: Welcome To... Chichester 0, 1,2 OVN 1, OVN 2, OVN 3, No Regrets For The Future
Projects: Welcome To... Chichester series
Organization: Triority
Tumblr: Sku-te
itch: triority
Location: England
Discord: sku_te
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#6 Post by Triority »

A video is here : https://utreon.com/v/DwHCwXGATDW

Can't submit in Github as the "submit" button isn't working...

User avatar
Andredron
Miko-Class Veteran
Posts: 688
Joined: Thu Dec 28, 2017 2:37 pm
Location: Russia
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#7 Post by Andredron »

Triority wrote: Sat Apr 01, 2023 9:40 am A video is here : https://utreon.com/v/DwHCwXGATDW

Can't submit in Github as the "submit" button isn't working...
https://github.com/Ayowel/renpy-epicgames-eos/issues/1

User avatar
Triority
Regular
Posts: 183
Joined: Fri Jul 20, 2018 1:28 pm
Completed: Welcome To... Chichester 0, 1,2 OVN 1, OVN 2, OVN 3, No Regrets For The Future
Projects: Welcome To... Chichester series
Organization: Triority
Tumblr: Sku-te
itch: triority
Location: England
Discord: sku_te
Contact:

Re: Epic Game's EOS SDK support to Ren'Py

#8 Post by Triority »

Yes, he's looking into it - from what we discussed, it appears to be a timing issue with Lint (got it running from the Launcher, but can't create a distributable or Check script)

Post Reply

Who is online

Users browsing this forum: No registered users