Post by terrier on Apr 30, 2018 23:36:10 GMT
As a reminder, please note when using RCS or RCCE:
Optimization:
Before starting anything, you need to understand the limitations of RealmCrafter Standard:
RealmCrafter was designed in BlitzBasic, BASIC programming language and DirectX 7 graphics engine:
_ Bandwidth: The game uses almost 2 KB/s for one player, each time a player is next to another player it's 2KB/s * 2KB/s, and the more you will have players in the same zone, the more, you will have to multiply this value.
So keep your zone smaller !
RC also has some limits by ZONE that you must know:
-50 factions
-500 items
-150 triggers
-250 waypoints
-100 portals
-100 spawn points
-50 actors maximum per zone (recommended to avoid lag)
_ Textures: the specificities of DirectX7 are simple: The textures must be square and multiple of 2.
so 512 x 512, 256 x 256, 128 x 128, 64 x 64 etc ... A 256 x 512 texture consumes as much VRAM as a 512 x 512, because the .b3D readjusts it to square based on the biggest side...
Avoid textures in 1024 x 1024! (consume 4Mb of VRAM!)
512 x 512 maximum! (= 1Mb of VRAM so 4 X less heavy, ideal: 256 x 256).
The size of the textures makes the client slow down, the use of the textures has a 10-30% impact on the FPS.
For example, it's best to combine everything into a single 512x512 stackable texture (for buildings), rather than 4 separate 256x256 textures. The only textures that need to be unwrapped are those of actors and those of props (small elements of scenery). It is necessary to minimize GPU computation requests and changes.
_ Work with textures in .dds format (DXT5), it is the lightest format.
_ 3D and Animation: Modelize the characters with about 2000 faces and limit the animations.
If you use FragMotion for animation, do not hesitate to delete animation keys that are useless, manually. They make the actor file heavier for nothing.
_ Collisions must be calculated at the minimum.
Custom Tip: Check Disable actor-> Actor collisions in the Other tab of the GE.
it means that your characters will go through each other player, but that will lighten the client.
_ BlitzBasic supports very little animation key by default!
The official RC documentation advises 20 bones for playable characters. (and 37 maximum)
The Actor file size is responsible for the "loading lag" (every time a character spawns on the map, RC starts lagging and it affects each player on the map)
Too many bones = heavier updates for the server = longer answers = Lag in game!
_ Save your Actor in .B3D (an .x file is 2X heavier than a .b3d) and make sure the file's weight is less than 200 KB!
For example the characters of the game SiredBlood weigh 100ko all animated with 20 bones and his game is running perfectly.
The default character provides with RC is almost 3 seconds to load, it weighs 1.10mo!
RC Character by default :
1308 faces (without armor)
2 textures 512x512, Head and Body, in .png
32 bones
32 Animated sequences
1539 Frames in total (32 seq of 48 Frames)
1.10mo in .B3D
Loading time = 3 Seconds !!!
For instance, Mine:
1500 faces
512x512 body and 256x256 Head, in .dds
20 bones
30 Animated sequences
1020 Frames in total (30 seq from 34 Frames)
150KB in .B3D
Loading time = 0 so 0 lag!
Optimization:
Before starting anything, you need to understand the limitations of RealmCrafter Standard:
RealmCrafter was designed in BlitzBasic, BASIC programming language and DirectX 7 graphics engine:
_ Bandwidth: The game uses almost 2 KB/s for one player, each time a player is next to another player it's 2KB/s * 2KB/s, and the more you will have players in the same zone, the more, you will have to multiply this value.
So keep your zone smaller !
RC also has some limits by ZONE that you must know:
-50 factions
-500 items
-150 triggers
-250 waypoints
-100 portals
-100 spawn points
-50 actors maximum per zone (recommended to avoid lag)
_ Textures: the specificities of DirectX7 are simple: The textures must be square and multiple of 2.
so 512 x 512, 256 x 256, 128 x 128, 64 x 64 etc ... A 256 x 512 texture consumes as much VRAM as a 512 x 512, because the .b3D readjusts it to square based on the biggest side...
Avoid textures in 1024 x 1024! (consume 4Mb of VRAM!)
512 x 512 maximum! (= 1Mb of VRAM so 4 X less heavy, ideal: 256 x 256).
The size of the textures makes the client slow down, the use of the textures has a 10-30% impact on the FPS.
For example, it's best to combine everything into a single 512x512 stackable texture (for buildings), rather than 4 separate 256x256 textures. The only textures that need to be unwrapped are those of actors and those of props (small elements of scenery). It is necessary to minimize GPU computation requests and changes.
_ Work with textures in .dds format (DXT5), it is the lightest format.
_ 3D and Animation: Modelize the characters with about 2000 faces and limit the animations.
If you use FragMotion for animation, do not hesitate to delete animation keys that are useless, manually. They make the actor file heavier for nothing.
_ Collisions must be calculated at the minimum.
Custom Tip: Check Disable actor-> Actor collisions in the Other tab of the GE.
it means that your characters will go through each other player, but that will lighten the client.
_ BlitzBasic supports very little animation key by default!
The official RC documentation advises 20 bones for playable characters. (and 37 maximum)
The Actor file size is responsible for the "loading lag" (every time a character spawns on the map, RC starts lagging and it affects each player on the map)
Too many bones = heavier updates for the server = longer answers = Lag in game!
_ Save your Actor in .B3D (an .x file is 2X heavier than a .b3d) and make sure the file's weight is less than 200 KB!
For example the characters of the game SiredBlood weigh 100ko all animated with 20 bones and his game is running perfectly.
The default character provides with RC is almost 3 seconds to load, it weighs 1.10mo!
RC Character by default :
1308 faces (without armor)
2 textures 512x512, Head and Body, in .png
32 bones
32 Animated sequences
1539 Frames in total (32 seq of 48 Frames)
1.10mo in .B3D
Loading time = 3 Seconds !!!
For instance, Mine:
1500 faces
512x512 body and 256x256 Head, in .dds
20 bones
30 Animated sequences
1020 Frames in total (30 seq from 34 Frames)
150KB in .B3D
Loading time = 0 so 0 lag!