*Disclaimer: This Information is suggestion based only and designed for Novice and Pro users.
Game Guru being a 32 bit Application has a standard address space of 2gb Memory on 64bit windows.
Due to modern hardware, such as faster GPU's. Thanks to the help of Granada proved that more efficient speed
reduces Memory usage in game, saving around 0.4 Gb usage cost.
However, creating a game on a more efficient PC doesn't create the same experience for other End Users.
In some cases worse, not allowing head room for additional memory usage. Example: Loading the next level.
This means to be more playable, games need to be more streamlined, cut back in design, or built in an efficient manner.
Memory 4096 MB vs 4096 MB
Memory Speed 1752 MHz vs 1250 MHz
Memory Bus 128 Bit vs 512 Bit
MAP FILE DESIGN:
1. Plan your game/map ahead of time. Get an idea of scope, limits and Theme.
2. Test and prototype ideas and textures via test maps, never in a main level build.
Large scenes can be achieved with serious design structure and pre-planing, comparing to other engines based on 64bit have larger address space and then more content can be achieved. Unless GG is moved to 64bit, attention to your MapBank File size is important.
The lower the File size, the faster the load times. This also applies to Running Scripts and Detail in design on screen.
START MARKER: Placed / Assigned Gun, first on map is a suggestion to help eliminate sound delay.
DYNAMIC/SCRIPT: Group Physics and Script based Entities in your design structure.
VIDEO EXAMPLE, SAVING ADDITIONAL TEXTURE DATA TO SAVE FILE VIA UI:
* Loading Game Guru - Save Default Map, No change/edits = 41kb
* Importing Texture via UI - Save Map = 53,490kb (using a 256kb Texture)
* 50AI Stock Soldiers + Some static pillars and zones - Save Map = 43kb
* Test Game / Tab options, change Terrain type - Save Map = 774kb
* Multiple Test Game Terrain changes, adds additional data after selection - Save Map = 863Kb
* Load your selected Terrain Texture Theme on boot, via = Files/Terrainbank/style.txt (Folder name) - Save Map = 41Kb
POSSIBLE WAY TO MEASURE MEMORY CAP:
After several tests pushing a save Map File past 200,000Kb would result in reaching engine memory address space.
This is however a guide, as mentioned above a more efficient PC map be able to handle single/multiple higher save file sizes.
As seen in video example, Stutter, fps reading changes, some AI non responsive, missing entities, such as guns.
(Possible reason for missing files on standalone builds) - Suggest a fresh Load of Game Guru before Standalone build.
Second example showing high frames, until too many functions are being processed, creating stalls until the next calculation.
This is not caused by Memory cap, or Gpu usage flooding into shared memory.
Pipeline stall creating wait states can have performance issues. Function call/ if conditions.
Functions need to execute, bouncing from physics to graphics create stalls waiting to handle the next function.
Based on the information, Individual objects are then spread all over memory, update code cycling physics, graphics and logic.
STANDALONE SHOWING 0.1Gb USAGE USING TAB/EDIT TERRAIN MODE:
* System Memory @ 3.0Gb / Then @ 3.4Gb on Start screen (0.4Gb usage on load)
* Level 1: 50AI Stock Soldiers + static pillars and zones @ 3.5Gb Memory usage. (dumping dynamic data)
* Loading screen @ 3.7Gb Memory usage.
* Level 2: 50AI Stock Soldiers + static pillars, zones and terrain modify @ 3.5Gb Memory usage. (dumping dynamic data)
* Level 3: New Terrain texture change on 3rd Level via in Test Game / Tab change and save.
50AI Stock Soldiers + static pillars, zones and terrain modify @ 3.6Gb Memory usage. (dumping dynamic data)
* Second time running the Test game showed Memory going down @3.4Gb up to a cap of 3.6Gb.
ADJUSTMENT TO 3RD LEVEL USAGE:
* Replacing the 3rd Level with a New Map using Terrain Load in, Not change via Test game. Loaded the 3rd Level @ 3.5Gb
* Removing the Trigger Zones (dumping dynamic data) Stacked the Memory @ 0.1Gb per level load up to 3.8Gb
* Using standalonefreememorybetweenlevels=1 would spike memory on second play through @0.4Gb = 0.8Gb usage over 0.2Gb
* Keep an eye on Map Bank Save file size during your build process.
* EBE will also stack the Imported Texture data as Terrain, more changes more data saved to the file.
* Rename saves to suit adjustments made than may alter your outcome.
* Reduce where possible, this includes active scripts planned for your level.
* Consider End Users of your Game, if intended for public.
* Using Destroy() where possible, focus on dynamics and script usage.
* Anything you do in the Editor UI may be saved as data in your Map save file.
Below is the example shot , shown in the Newsletter. Due to minimal entity usage, Texture imports and adjustments
are saved in the Map file save as shown after all other media is removed and deleted.
- Fps change in game
- Thread on design
- Interesting thread example of Lua causing issues.