Re: GamePlugin Vs GameZero

The templates (plugin based games) are a great palce to start learning the cryengine and immediately start building a small to medium sized game.

Using _only_ the plugin system does have its limitations, the biggest one is the reliance solely on the cry common and (to be refactored) cry action interfaces.
Some one more educated in cryengine internals can give a more thorough explanation of the limitations of a plugin-based game - although I know the plugin system is not finished and things will be added along the way.

If you're looking to get a team together and really flesh out a full thought-out and designed game from scratch, then IMO the only way to go is with the GameZero project based inside the engine solution from github. This is basically the "Blank" project from the templates, but integrated into the engine build process. You can fairly easily rip the gamezero project from the engine solution and use your own separate project (without using the plugin system) still, as you can with GameSDK - some editing of cryproject and cmake files is necessary).

Are you just starting out with cryengine/experimental learning?
Use templates

Are you making a plugin to be used by a host game project?
Use the blank plugin template

Are you likely to modify the engine code? (Pretty much necessary to release a commercial game reliably)
Use GameZero project

As an aside, you should not base your projects off gamesdk, but rather use its assets and code to learn how certain things can be implemented. GameSDK is only maintained as reference and is marked to be completely deprecated. Though the assets are usable commercially and the code still works today (mostly, of what is actually imlpemented) so you might want to grab those to save some time.

good luck
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: GamePlugin Vs GameZero

I suggest that you don't worry about performance until you learn a few things about cryengine.

Get the FPS template, look at how it does everything (including GameRules)

The only things that can't be moved to the new CryEngine 5.3 system are the Views and the base IActor. Everything else can be converted to IEntityComponents directly, along with any IEntityProperties so that you could start experimenting.

Majority of the GameSDK code is a unreadable and convulted/deprecated mess. Go ahead and check out the templates first before diving into the GameSDK code for those odd bits of unusual syntax that you want. Or just ask in the CE slack! (coding) and I/others can try to help.

Several nice links: ... ty-system/ ... 4&t=135916

If you don't know what something is, look it up! You can find most of what you need on the forums or in their documentation (best docs by far are the Mannequin ones).

Re: GamePlugin Vs GameZero

>can't be moved to the new CryEngine 5.3 system are the Views
The "Views" actually can be moved (with direct using of IView system) ... yer/View.h
The "Input" also can be moved to new component system by using IInputEventListener, but in my case I have hardcoded ActionMaps ... er/Input.h
well, in my scheme I have the host component = CPlayer (IEntityComponent) and extension for it as few other IEntityComponents (CInput, CView, CAttack)

Code: Select all

void CPlayer::OnResetState() { LoadModel(); Physicalize(); GetEntity()->SetFlags(ENTITY_FLAG_CASTSHADOW | ENTITY_FLAG_CLIENT_ONLY | ENTITY_FLAG_TRIGGER_AREAS); pInput = GetEntity()->GetOrCreateComponent<CInput>(); pView = GetEntity()->GetOrCreateComponent<CView>(); pMarker = GetEntity()->GetOrCreateComponent<CMarker>(); pAttack = GetEntity()->GetOrCreateComponent<CAttack>(); }

Who is online

Users browsing this forum: No registered users and 2 guests