Question 1: Game Logic processing
What would be the best way to tack game logic in a game which has a lot of user defined/created content/paramaters which change over time by the game logic with level streaming?
So if I had a level streaming grid (50x50 levels), say player creates an object in level x1,y1 (will use x,y for level position calculation) and then moves to level x50,y14 and creates another object both of these objects are let’s say for example a resource collector or sorts, how would I go about doing that? Don’t all the blueprints and classes get unloaded?
I need to process a potentially large amount of game data which will be iterated over frequently for every user created object for value increases or decreases, apply AI actions such as is built, is damaged, is under attack, move unit of type, is attack feasible, is attack logical, if available / if not available / random events / etc etc, kind of basic automated gameplay but without the player being there.
Question 2: CPU & GPU Load
Also any ideas how much of this kind of logic processing I can get away with, with active gameplay? I foresee a possible max dynamic variable count of about 5,000 variables for each level, with 50x50 levels = 50x50x5,000 = 12,500,000 vars for logic to be processed by. (very doubtful a gamer would hit this amount but it’s a max best guess).
Question 3: Game save / State machine / Persistent data
Any tips on saving game data? EG Create XML, Save XML, Edit XML? Where would I save game data? How would I save game data? What would be the best way of doing this?
Does UE4 have file writing capabilities? XML capabilities? or some other method of storing data, game save positions or is there another format in use other than XML? JSON? Other? Custom DB?
And for large amounts of say XML data, is there a compressor / decompressor or encoder / decoder (so people don’t edit their worlds in a text editor) or would I have to write one in C++?
Any ideas? Tips? Pointers?