Purpose of GameZero
Background: The GameSDK project is a full blown game example. It demonstrates how most of the CRYENGINE features can be utilized. Based on Crysis 3, its size and complexity can be overwhelming for first time users. Furthermore prototyping games other than first person shooters can be tedious as the game project would have to be simplified to its core functionality first.
GameZero offers a minimalist approach to CRYENGINE. It allows first time users to get a quick overview of using the engine’s core functionality. It can be used as starting point for creating several types of games.
Highlights of GameZero
- Basic game functionality - not more, not less
- Engine + Level loading in a couple of seconds
- Small game DLL size
The GameZero example as illustrated below uses basic engine functionality such as Ocean water, Terrain, Environment probes, Light Entities, Geom Entities and Flowgraph.
When jumping into game (CTRL+G) from Sandbox or when loading GameZero by the launcher, the yellow spheres start rotating (left image). Camera movement has been added to navigate through the scene. There is also some Flowgraph logic assigned to each GeomEntity (in this case spheres). When pressing "t", each of the entity changes its render mesh to another one (right image).
If you already have a compiled version of GameZero.dll, all you need to do is telling the Launcher which game folder to read the assets from. As described in the section Using Different Game Folders you will have to apply a change to system.cfg:
Now you can run the Editor and Launcher as usual. A difference to GameSDK you will notice is that the USER folder is not created in the root folder. Instead is it created at C:\Users\<USER>\Saved Games\GameZero. If for any reason you would like to change this path, you can do the following:
- Change sys_user_folder = GameZero to another name
- Remove sys_user_folder = GameZero to force using USER folder in root
Assuming you are familiar with the Getting Started guide, select [GameZero] Profile, x64 from the configuration settings to compile CryGameZero.dll
- Sandbox/Launcher reads from system.cfg which game folder has to be loaded - sys_game_folder=GameZero
- game.cfg inside game folder specifies which game DLL has to be loaded - sys_dll_game = CryGameZero
- DLL Loading pipeline is triggered as illustrated below