User Tools

Site Tools


global:network

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
global:network [2024/01/02 22:34]
Mistermind
global:network [2024/01/02 23:38] (current)
Mistermind
Line 1: Line 1:
 ===== Network Options ===== ===== Network Options =====
-**UFE 2** comes with a completely revision of its core physics and network mechanics. The second iteration allows you to run online matches in a smooth lag-free environment thanks to its native //rollback mechanics// (similar to [[https://en.wikipedia.org/wiki/GGPO|GGPO]]) and //deterministic physics//. The netcode also uses raw //manual tracking// to its own variables, optimizing CPU usage (including mobile devices).\\+UFE 2 comes with a completely revision of its core physics and network mechanics. The second iteration allows you to run online matches in a smooth lag-free environment thanks to its native //rollback mechanics// (similar to [[https://en.wikipedia.org/wiki/GGPO|GGPO]]) and //deterministic physics//. The netcode also uses raw //manual tracking// to its own variables, optimizing CPU usage (including mobile devices).\\
 The new network options also comes with its own client/server structure (using Photon Network or UNet) allowing direct player connection without the use of IP. The new network options also comes with its own client/server structure (using Photon Network or UNet) allowing direct player connection without the use of IP.
  
 For detailed instructions on UFE 2 Netcode and how to convert your previous UFE 1.x project, [[global:netcode|click here]]. For detailed instructions on UFE 2 Netcode and how to convert your previous UFE 1.x project, [[global:netcode|click here]].
 +
 +----
  
 {{ :global:global_networkoptions.png |}} {{ :global:global_networkoptions.png |}}
Line 68: Line 70:
 ==== Rollback Netcode ==== ==== Rollback Netcode ====
  
-**Allow Rollbacks:** Enable Rollbacks in your game (Make sure you've gone through [[global:netcode|setup]]).+**Available only on PRO and Source licenses**
  
-**Track UFE Variables:** Toggle so UFE will use the //auto tracking// technique to search for its interface (''UFEInterface'') and attributed variables (''RecordVar''on its own instantiated classes. The deeper a variable is from the UFE instance, the more CPU power it consumes.+**Allow Rollbacks:** Enable Rollbacks in your game (Make sure you've gone through [[global:netcode|setup]]).
  
 **Max Fast-Forward Per Frame:** When using rollback, depending on the distance between packages sent, how many frames can your game recover from. The more frames, the more CPU power it needs. **Max Fast-Forward Per Frame:** When using rollback, depending on the distance between packages sent, how many frames can your game recover from. The more frames, the more CPU power it needs.
Line 82: Line 84:
   * //Conservative:// One player feels the effects of rollback more often the other.   * //Conservative:// One player feels the effects of rollback more often the other.
   * //Aggressive:// Both players share the same impact when a rollback is needed to stabilize the connection. Use this option to "share" the impact of a rollback between players (recommended).   * //Aggressive:// Both players share the same impact when a rollback is needed to stabilize the connection. Use this option to "share" the impact of a rollback between players (recommended).
 +
 +**Track UFE Variables (disabled):** Toggle so UFE will use the //auto tracking// technique to search for its interface (''UFEInterface'') and attributed variables (''RecordVar'') on its own instantiated classes. The deeper a variable is from the UFE instance, the more CPU power it consumes.
  
  
Line 98: Line 102:
  
 ---- ----
-===== Synchronization Test =====+==== Synchronization Test ====
  
 If you are making modifications to the source code, specially the core files, there is a chance you could cause an accidental desynchronization. Don't worry, UFE offers plenty of tools for you to try detecting what went wrong. If you are making modifications to the source code, specially the core files, there is a chance you could cause an accidental desynchronization. Don't worry, UFE offers plenty of tools for you to try detecting what went wrong.
Line 140: Line 144:
 ====== Hints ====== ====== Hints ======
 Networking is a relatively complicated aspect of the engine. Don't be alarmed if you can't get running at first. Here are a few hints to help out on common issues: Networking is a relatively complicated aspect of the engine. Don't be alarmed if you can't get running at first. Here are a few hints to help out on common issues:
-  * If you are having trouble connecting to the other peers, you might need to work on your router's [[http://portforward.com/|port forwarding]]. 
   * If you are experiencing lag, try changing the hosting option and protocol under 'PhotonServerSettings'. For more information on Photon options, [[https://doc.photonengine.com/en-us/pun/current/getting-started/initial-setup|click here]].   * If you are experiencing lag, try changing the hosting option and protocol under 'PhotonServerSettings'. For more information on Photon options, [[https://doc.photonengine.com/en-us/pun/current/getting-started/initial-setup|click here]].
   * Make sure you have no 'self-destruct' scripts attached to your particle effects. UFE needs to control the spawn and despawn of every GameObject. If you need to use one, use ''UFE\Engine\Scripts\DestroyScript.cs'' instead.   * Make sure you have no 'self-destruct' scripts attached to your particle effects. UFE needs to control the spawn and despawn of every GameObject. If you need to use one, use ''UFE\Engine\Scripts\DestroyScript.cs'' instead.
Line 146: Line 149:
  
 ---- ----
-====== Video Tutorial ======+====== Related Videos ======
 {{youtube>-dmVAf_cyN8?medium}} {{youtube>-dmVAf_cyN8?medium}}
 +{{youtube>j3B-lhd8JBw?medium}}
  
 ---- ----
global/network.1704252875.txt.gz · Last modified: 2024/01/02 22:34 by Mistermind