Unfortunately no. The current Schematyc system is not exposed to the save game logic. It would be advised to create your logic in a way that reads data from such systems as GameTokens upon level load to crate your starting state.3. If we expose some Variables, Structs or similar to Schematyc, will these values be automatically serialized when creating a savegame? Or how do we serialize? Inside the doc I found multiple functions for this (see here: https://docs.cryengine.com/plugins/serv ... w/29797021)
So do we need to use the GameSerialize function for this purpose? Or is there some kind of auto savegame serialization for values that are exposed to Schematyc?
Yeah, I already thought that. All right. I guess that the IEntityComponent functions "virtual bool NeedGameSerialize ()" and "virtual void GameSerialize (TSerialize ser)" should be used now. Makes kind of sense. Just wanted to know if there is a simpler way (so that I wouldn't have to care about it). But that's all right.
This LUA functionality is not exposed to Schematyc as the Schematyc graphs are to be a considered a complete replacement for LUA based scripting. The idea of the LUA scripts was to allow designers the ability to create and extend functionality in the engine to suit their needs. Now designers can do this visually inside of Schematyc - in Sandbox.4. In the old entity system we could easily (with LUA) implement a FlowNode for an entity. However I couldn‘t find anything like that in Schematyc. Is there any way to do so?
5. Also in the old entity system we could easily create states in LUA (by just adding their names as a string to our state table). Then we could easily switch between states and have some logik for entering and leaving the state. I know that Schematyc has a state machine aswell. But can we somehow access it inside of C++? If so, how do we create states? How do we switch between them? How do we react to entering and leaving the state?
This however is something that I don't really understand, because Schematyc already offers a state machine. I would have thought that we could use it in our code aswell. But all right. I guess that I will create kind of a state machine component, so that my other components can still use a similar system.
But what I really don't get is that there is no FlowGraph interaction currently. This would be really great for "one time events" that typically happen in the story of a game. If we need to create a new component for every of these situations it would really be kind of a mess. I think that it would be highly benefitial if we would have some kind of FlowNode for each entity just like it was before. It would make life much easier. So basically just the ability to create some C++ Code that would then be used für Entity FlowNodes. I guess that adding entities to FlowGraph communication is a "must have".
This varies from game to game and you would need to use the base AI functions like perception to build your AI logic around. Not every game will tell the AI to shoot the player on sight. I am not an AI designer but the way I see it at the moment these actions are handled by behavior trees. you can read more about the stock AI system in CRYENGINE on our revised documentation at https://docs.cryengine.com/pages/viewpa ... d=255342726. Is there any good approach about how to implement AI? I know that we have a pathfinder component, factions, MBT, perception, dynamic respone system and so on, but did anyone have any success in actually putting everything together to implement a basic AI? I currently have no idea about how to approach this. Specially about how to make it react to the player (recognize the player, shoot at him or hunt him, recognizes when player is not in sight anymore, etc.). I would really appreciate any help about this.
Yep, of course this varies. I'm currently looking at the CryAISystem code to get familiar with it. However it's pretty complex and hard to understand. So what I basically mean is just some kind of explanation about how to get all of these bricks together (some basic stuff like how to move an AI, how to make it recognize others, how to react to others, or how to include the ability to read an MBT and use it). So just basic stuff.
CRYENGINE now ships with release binaries. For templates, it should be as easy as right-clicking your project file and selecting "Package build". This will consolidate all the engine binaries and necessary files, as well as packaging your game assets into a single folder that you can redistribute. Depending on what assets you are packaging, you may need to tweak the RC Jobs file to your specific needs. You can find out more about the RC Jobs file in our documentation here:7. How do we properly pack these Template Games for publishing? I guess that we now need to do proper release builds of all the default components, etc. aswell?
https://docs.cryengine.com/display/CEMA ... nd+Job+XML
The files in question to modify would be here by default:
C:\Program Files (x86)\Crytek\CRYENGINE Launcher\Crytek\CRYENGINE_5.5\Tools\CryVersionSelector\rc_jobs
I hope this answers most if not the rest of your questions. If you still have questions feel free to ask again.
I just looked into the rcjob_release_game_assets.xml, which is at the location that you stated. I have to admit that this is pretty cool. Just tried to pack a game. Works fine. However I couldn't find out if it properly sets the "#define RELEASE" for release builds. If you look for example into CryDefaultAssets, you'll notice, that this needs to be defined for a release build. However I could not see this anywhere inside the rcjob_release_game_assets.xml. But the good news is this: the CryDefaultComponents and everything else is properly packed into the bin folder.
The other thing was about encryption (see my first question). After I packed the game, I noticed that the Assets don't get auto-encrypted, not even signed. So I had no problem to just unpack them. I couldn't find anything about encryption inside the rcjob_release_game_assets.xml. So how do we do this now?
Furtheremore the GameLauncher.exe does not seem to work (just tried a win64 release build. Nothing happens if I try to start GameLauncher.exe).
Greetings
- Jannis