Steps to compile gamesdk

#1
Hello, we are trying to compile cryengine and the gamesdk in order to encrypt the pak files and setup steam achievements.

The first major headache is that it seems to be missing the CryScaleformHelper.dll (i have tried to copy the bin/win_x64_release folder directly to the bin folder of our compiled version.) - this results in a game where the menu doesn't appear, however the game can still be launched via the console command "map MAPNAME"

I am using Visual Studio 14 (2015) and Windows SDK 10.0.10586.0 and have pulled the latest version of cryengine from Github and downloaded the SDKs with the download_sdks.exe. I have used the cmake approach to make a solutions_cmake folder from where i run and compile the project (I let everything be standard in the cmake gui when that appeared) - to start with I have compiled the project as profile x64.

The second headache is that the sound seems to be missing, more specifically Wwise is not working - what could we be missing

Hope you can help us out

Best/
Mikael Olsen, Investigate North

Re: Steps to compile gamesdk

#2
I haven't done a release build yet, but as you mention, you're also getting problems with the profile build. I can compile gamesdk + engine with VS2015 (Community). Basically, you just need to get everything from github. Then download the SDKs (you can do it manually, but the github engine also provides an automatic download. You just need to start it).
Then you can launch the cmake gui and generate the project.
If you are using a custom engine (and if you want to work with it), you also need to copy some stuff from the launcher engine to your engine (e.g. the editor) and register it. But if you don't modify the engine, you can just build in profile mode and use the launcher engine and just build the githib engine when releasing.

As far as I know, the SDKs provide everything. They should even provide a pre-build version of the scaleform data. But I'm not sure about that.
Good luck.

- Jannis

Re: Steps to compile gamesdk

#4
I tried once more now a little more controlled.. still no UI - here is what i did:

downloaded CRYENGINE-release from Github
executed download_sdks.exe
executed Tools\CMake\cmake_create_win64_solution.bat
changed nothing in the Cmake gui and pressed Configure
pressed Generate in the Cmake gui
opened the project in visual studio - select profile x64 - and pressed build (F7)
then I created a new folder on my computer and began to setup a new build:
copied the Assets folder from the downloadable sample sdk project (gamesdk_5.3)
copied the engine folder from the latest 5.3 engine (also tried to copy it from the Github folder, but then there are nothing on screen when i load a level)
copied the bin folder from Github folder which I compiled earlier
lastly I setup the system.cfg to use Assets folder and the game.cfg to use the correct CryGameSDK.dll

Then i start the bin/win_x64/GameLauncher.exe from the new folder and the engine starts, but there are nothing, i can then bring up the console and write "map woodland" and it load and I can play the sample without problem, however there are still no UI so I have to exit with the command "quit"

Hope this can help

Re: Steps to compile gamesdk

#5
Check my github branch uniflare/cryengine/local_release

Contains a few changes required for release testing.

If you build your engine in profile x64 using release git branch you should be able to copy the launcher binaries (sandbox etc) into your git binary folder but dont overwrite ofc.

Then copy the launcher engine folder (pak files).
If you did copy sandbox and its associated dlls then copy the editor folder too just in case.

For release, no sandboz but you do have a compatible scaleform dll in the launcher bin/win_x64_release folder.

Also i reccomend using WAF for current release branch. Seems the most stable in release mode. And links statically.

Good luck
Uniflare
CRYENGINE Technical Community Manager
Here to help the community and social channels grow and thrive.

My personal belongings;
Beginner Guides | My GitHub | Splash Plugin

Re: Steps to compile gamesdk

#6
I don't quite understand what you mean by coping the sandbox to the compiled folder - you mean copy everything from the preinstalled bin/win_x64 to the compiled bin/win_x64? Because i'm not interested in having the sandbox, just the launcher.

Also i'm interested in knowing what is up with the bin_x64 and the bin_x64_release - what is the difference? what should be used? why is the cmake solution not producing the _release folder?

Also is it possible for anybody to follow my steps and see if they get the same result with no UI (or maybe with UI)

/Best
Mikael Olsen

Re: Steps to compile gamesdk

#8
Sorry, it don't really answer my questions - i'm only interested in compiling a working version of the release build from github. Meaning, I want a binary folder which can be used for release, also within the rules from crytek (on the docs it says you are not allowed to ship the bin_x64 folder..

Re: Steps to compile gamesdk

#9
I swear people just skim what I write, take more notice of what I'm saying;
Check my github branch uniflare/cryengine/local_release

Contains a few changes required for release testing.
Quickest option to working RELEASE compilation of GameSDK (working anims etc).
------------------
If you build your engine in profile x64 using release git branch you should be able to copy the launcher binaries (sandbox etc) into your git binary folder but dont overwrite ofc.
This includes scaleform helper, if your developing, you obv want to test your scaleform? not for for release ofc.
------------------
Then copy the launcher engine folder (pak files).
If you did copy sandbox and its associated dlls then copy the editor folder too just in case.
Required as stated*
------------------
For release, no sandbox but you do have a compatible scaleform dll in the launcher bin/win_x64_release folder.
This is why you have no "UI". Copy the scaleform dll... from release folder from the launcher engine.......
------------------
Also i reccomend using WAF for current release branch. Seems the most stable in release mode. And links statically.
I dont say this for no reason. It will be easier for you and less errors to deal with.
------------------
(on the docs it says you are not allowed to ship the bin_x64 folder..
What? Where? this is 100% not the case. distribute your binaries however you want.
------------------
I don't quite understand what you mean by coping the sandbox to the compiled folder - you mean copy everything from the preinstalled bin/win_x64 to the compiled bin/win_x64? Because i'm not interested in having the sandbox, just the launcher
What? misreading what I am saying. Only do this if your building in profile x64. I am telling you how the dlls are compatible. Profile==Profile, Release /= Profile!.
------------------
Also i'm interested in knowing what is up with the bin_x64 and the bin_x64_release - what is the difference? what should be used? why is the cmake solution not producing the _release folder?
Seems obvious? Release for release built binaries, they contain optimisations etc etc and NOT compatible with profile/debug versions. CMake doesnt have the output renaming, so it will only build to the same folder.
Also is it possible for anybody to follow my steps and see if they get the same result with no UI (or maybe with UI)
No. The problem has been explained. No need.
------------------

To package a release is very simple. But by default the engine will not load plugins (.csv file), animations will not work correctly in GameSDK without forcing use_imgcaf to 0, these are just a couple reasons out of many why i pointed you to my "local_release" branch on my forked CryEngine. I have been through this already.

Folder structure can be something like this:

|-- Root Folder (My Game)
|--|-- assets (.pak files/level folder/game.cfg)
|--|-- bin (no need for win_x64, just put all binaries here. inc any plugins/game dlls)
|--|-- engine (.pak files)
|--|-- system.cfg (one single line required. "sys_game_folder=assets"
Uniflare
CRYENGINE Technical Community Manager
Here to help the community and social channels grow and thrive.

My personal belongings;
Beginner Guides | My GitHub | Splash Plugin

Who is online

Users browsing this forum: No registered users and 1 guest

cron