рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдореЛрдмрд╛рдЗрд▓ PvP рд╢реВрдЯрд░ рдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛрдб рд▓рд┐рдЦрд╛ рд╣реИ: рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкреНрд▓реЗрдпрд░ рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди

рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ, рд╣рдордиреЗ рдЙрди рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЬреЛ рд╣рдорд╛рд░реЗ рдирдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВ - рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рддреЗрдЬреА рд╕реЗ рдкреБрд╕реНрддрдХ рд╢реВрдЯрд░ред рдЕрдм рдореИрдВ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдХреЗ рдЧреЗрдо рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛрдб рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╛рдЧ рдХреЛ рдХреИрд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣рдореЗрдВ рдХрд┐рди рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рд╣реИред




рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд┐рдЫрд▓реЗ 20 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рдЧреЗрдо рдмрдирд╛рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рдЬреНрдпрд╛рджрд╛ рдирд╣реАрдВ рдмрджрд▓реЗ рд╣реИрдВред рдиреЗрдЯрд╡рд░реНрдХ рдХреЛрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рдХрдИ рддрд░реАрдХреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

  1. рд╕рд░реНрд╡рд░ рдкрд░ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЧрд▓рд╛ рдШреЛрдВрдЯрдирд╛ рдФрд░ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рдмрд┐рдирд╛ рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдЗрдирдкреБрдЯ (рдЗрдирдкреБрдЯ) рдЦреЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд╡реИрд╕реЗ, рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣рдорд╛рд░реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЖрдк рдпрд╣рд╛рдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
  2. Lockstep ред
  3. рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд╕рд╛рде рдирд┐рдпрддрд╛рддреНрдордХ рддрд░реНрдХ рдХреЗ рдмрд┐рдирд╛ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдиред
  4. рдПрдХ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрддрд╛рддреНрдордХ рддрд░реНрдХ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рдиред

рдЦрд╝рд╛рд╕рд┐рдпрдд рдЗрд╕ рддрдереНрдп рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ рдХрд┐ рдирд┐рд╢рд╛рдиреЗрдмрд╛рдЬреЛрдВ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдг рдХреА рдЬрд╡рд╛рдмрджреЗрд╣реА рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдЦрд┐рд▓рд╛рдбрд╝реА рдПрдХ рдмрдЯрди рджрдмрд╛рддрд╛ рд╣реИ (рдпрд╛ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рдЪрд▓рд╛рддрд╛ рд╣реИ) рдФрд░ рддреБрд░рдВрдд рдЕрдкрдиреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЦреЗрд▓реЛрдВ рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдмрд╣реБрдд рдЬрд▓реНрджреА рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реНрдерд┐рддрд┐ рдкрд░ рддреБрд░рдВрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рддрдВрддреНрд░ (рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди) рдХреЗ рдмрд┐рдирд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рдереЗ, рдФрд░ рд╣рдо рдПрдХ рд╡рд┐рдзрд┐ рдкрд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдЬреЛ рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдирд┐рдпрддрд╛рддреНрдордХ рддрд░реНрдХ рдХреЗ рдмрд┐рдирд╛ред

рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рд▓рд╛рдн: рдЗрдирдкреБрдЯ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╕рдордп рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд┐рдзрд┐ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХрдо рдЬрдЯрд┐рд▓рддрд╛ред
рдорд╛рдЗрдирд╕: рджреБрдирд┐рдпрд╛ рдХреЗ рдкреВрд░реЗ рд░рд╛рдЬреНрдп рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рднреЗрдЬрддреЗ рд╕рдордп рдЯреНрд░реИрдлрд╝рд┐рдХ рдореЗрдВ рд╡реГрджреНрдзрд┐ред рдореЛрдмрд╛рдЗрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЧреЗрдо рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЕрдиреБрдХреВрд▓рди рддрдХрдиреАрдХреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЧреЗрдордкреНрд▓реЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рджрд┐рд▓ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдИрд╕реАрдПрд╕ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдкрд╣рд▓реЗ рд╣реА рдмрд╛рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ ред рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЖрдкрдХреЛ рдЧреЗрдо рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ, рдиреЗрдЯрд╡рд░реНрдХ рдмрдирд╛рдиреЗ, рдХреЙрдкреА рдХрд░рдиреЗ рдФрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рд╕рдорд╛рди рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреАред

рдЦреЗрд▓ рдХреА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг 30 рдЯрд┐рдХ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХреА рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдп рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдкреНрд░рдХреНрд╖реЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП: рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдорд╛рди рдЖрд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ рд╣рдордиреЗ рд▓рдХреНрд╖реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореБрд▓реЗрд╢рди рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ред

рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддрдВрддреНрд░ (рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА)


рдХреНрд▓рд╛рдЗрдВрдЯ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддрдВрддреНрд░ ECS рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рджреЛрдиреЛрдВ рдкрд░ рд╕рдорд╛рди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдХрд╛рд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рд╡реЗ рд╣реА рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдбреЗрдЯрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг:



рдлрд┐рд▓рд╣рд╛рд▓, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд▓рдЧрднрдЧ 30 рдкреНрд░рдгрд╛рд▓рд┐рдпрд╛рдБ рд╣реИрдВ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд▓рдЧрднрдЧ 80 рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рдо рдиреБрдХрд╕рд╛рди рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ, рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпрд╛ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЗрди рдпрд╛рдВрддреНрд░рд┐рдХреА рдореЗрдВ рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ:

  1. рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ рдХреНрд╖рддрд┐ рдпрд╛ рдЪрд┐рдХрд┐рддреНрд╕рд╛ рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рдкрд░ рдбреЗрдЯрд╛ рд╕реЗ рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдЧрд╛ред
  2. рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдирдИ рдЗрдХрд╛рдЗрдпрд╛рдБ рдмрдирд╛рдирд╛ (рд╢реЙрдЯреНрд╕, рдЧреЛрд▓реЗ, рдЕрдиреЛрдЦреА рдХреНрд╖рдорддрд╛рдПрдБ) рдЬреЛ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, рд╕рд░реНрд╡рд░ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рд╛рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╡рд╣рди рдХрд░рддреА рд╣реИред

рдРрд╕реЗ рдореИрдХреЗрдирд┐рдХ рдХреЗ рд▓рд┐рдП, рдЦрд┐рд▓рд╛рдбрд╝реА рджреВрд╕рд░реЗ рддрд░реАрдХреЛрдВ рд╕реЗ рдЫрд┐рдк рдЬрд╛рддрд╛ рд╣реИред

рдЙрджрд╛рд╣рд░рдг: рд╣рдо рд╢реЙрдЯ рд╕реЗ рд╣рд┐рдЯрд┐рдВрдЧ рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рддреБрд░рдВрдд рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рд╣рд┐рдЯ рдХреА рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╣рдо рджреБрд╢реНрдорди рдХреЗ рдЬреАрд╡рди рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЛрдб рдХреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛




рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдЯрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдордп рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдзреЗ рдЖрд░рдЯреАрдЯреА + рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЖрдЧреЗ рд░рд╣рддрд╛ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдЯрд┐рдХ 20 (рдП) рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рднреЗрдЬрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЯрд┐рдХ 15 (рдмреА) рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЬрдм рддрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЗрдирдкреБрдЯ рд╕рд░реНрд╡рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛, рддрдм рддрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЯрд┐рдХ 20 рдкреНрд░реЛрд╕реЗрд╕ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ: рдХреНрд▓рд╛рдЗрдВрдЯ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ (a) тЖТ рдЗрд╕ рдЗрдирдкреБрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ HRTT + рдЗрдирдкреБрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ (b) рдХреЗ рдмрд╛рдж рдкреНрд░реЛрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред тЖТ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд░рд┐рдгрд╛рдореА рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рддрд┐ рднреЗрдЬрддрд╛ рд╣реИ () тЖТ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐рдХреГрдд рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рддрд┐ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рд╕рд░реНрд╡рд░ рд╕рдордп RTT + рдЗрдирдкреБрдЯ рдмрдлрд░ рдЖрдХрд╛рд░ + рдЦреЗрд▓ рд░рд╛рдЬреНрдп рдкреНрд░рдХреНрд╖реЗрдк рдмрдлрд░ рдЖрдХрд╛рд░ (рдбреА)ред

рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ (рдбреА) рд╕реЗ рджреБрдирд┐рдпрд╛ рдХреА рдПрдХ рдирдИ рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рд╕реБрд▓рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реА рджреБрдирд┐рдпрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдЗрдирдкреБрдЯ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЬрдм рд╕рд░реНрд╡рд░ рдкрд░ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдереА рдЙрд╕рд╕реЗ рдЕрд▓рдЧред рдРрд╕рд╛ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рджрдВрдЧ рд░рд╣ рдЬрд╛рдП рдпрд╛ рдорд╛рд░реЗ рдЬрд╛рдПред

рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:

  1. рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЯрд┐рдХ рдПрди рдХреЗ рд▓рд┐рдП рджреБрдирд┐рдпрд╛ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рддреБрд▓рдирд╛ред рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рддреБрд▓рдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╢реЗрд╖ рд╡рд┐рд╢реНрд╡ рдХрд╛ рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рд╕реНрдерд┐рддрд┐ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордиреНрд╡рдп рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред
  2. рддреБрд▓рдирд╛ рдХреЗ рджреМрд░рд╛рди, рджреЛ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

- рдЕрдЧрд░ рджреБрдирд┐рдпрд╛ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ, рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдбреЗрдЯрд╛ рдФрд░ рд╢реЗрд╖ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдирдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ;
- рдпрджрд┐ рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рджреБрдирд┐рдпрд╛ рдХреЗ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рд░рд╛рдЬреНрдп рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЗрдирдкреБрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдирдП рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд░рд╛рдЬреНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред

рдХреЛрдб рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
GameState Reconcile(int currentTick, ServerGameStateData serverStateData, GameState currentState, uint playerID) { var serverState = serverStateData.GameState; var serverTick = serverState.Time; var predictedState = _localStateHistory.Get(serverTick); //if predicted state matches server last state use server predicted state with predicted player if (_gameStateComparer.IsSame(predictedState, serverState, playerID)) { _tempState.Copy(serverState); _gameStateCopier.CopyPlayerEntities(currentState, _tempState, playerID); return _localStateHistory.Put(_tempState); // replace predicted state with correct server state } //if predicted state doesn't match server state, reapply local inputs to server state var last = _localStateHistory.Put(serverState); // replace wrong predicted state with correct server state for (var i = serverTick; i < currentTick; i++) { last = _prediction.Predict(last); // resimulate all wrong states } return last; } 


рджреЛ рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреЗрд╡рд▓ рдЙрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдирдореВрдирд╛ рд╣реИред

рддреБрд▓рдирд╛ рд╡рд┐рдзрд┐:
 public bool IsSame(GameState s1, GameState s2, uint avatarId) { if (s1 == null && s2 != null || s1 != null && s2 == null) return false; if (s1 == null && s2 == null) return false; var entity1 = s1.WorldState[avatarId]; var entity2 = s2.WorldState[avatarId]; if (entity1 == null && entity2 == null) return false; if (entity1 == null || entity2 == null) return false; if (s1.Time != s2.Time) return false; if (s1.WorldState.Transform[avatarId] != s2.WorldState.Transform[avatarId]) return false; foreach (var s1Weapon in s1.WorldState.Weapon) { if (s1Weapon.Value.Owner.Id != avatarId) continue; var s2Weapon = s2.WorldState.Weapon[s1Weapon.Key]; if (s1Weapon.Value != s2Weapon) return false; var s1Ammo = s1.WorldState.WeaponAmmo[s1Weapon.Key]; var s2Ammo = s2.WorldState.WeaponAmmo[s1Weapon.Key]; if (s1Ammo != s2Ammo) return false; var s1Reload = s1.WorldState.WeaponReloading[s1Weapon.Key]; var s2Reload = s2.WorldState.WeaponReloading[s1Weapon.Key]; if (s1Reload != s2Reload) return false; } if (entity1.Aiming != entity2.Aiming) return false; if (entity1.ChangeWeapon != entity2.ChangeWeapon) return false; return true; } 


рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдкреВрд░реА рдИрд╕реА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдХреЛрдб рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рд░реВрдкрд╛рдВрддрд░рдг рдШрдЯрдХ рддреБрд▓рдирд╛ рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрддреНрдкрдиреНрди рдХреЛрдб рджреЗ рджреВрдВрдЧрд╛:

рдХреЛрдб
 public static bool operator ==(Transform a, Transform b) { if ((object)a == null && (object)b == null) return true; if ((object)a == null && (object)b != null) return false; if ((object)a != null && (object)b == null) return false; if (Math.Abs(a.Angle - b.Angle) > 0.01f) return false; if (Math.Abs(a.Position.x - b.Position.x) > 0.01f || Math.Abs(a.Position.y - b.Position.y) > 0.01f) return false; return true; } 


рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдлреНрд▓реЛрдЯ рдореВрд▓реНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдЙрдЪреНрдЪ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИред рдпрд╣ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ desync рдХреА рдорд╛рддреНрд░рд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП, рдРрд╕реА рддреНрд░реБрдЯрд┐ рдЕрджреГрд╢реНрдп рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред

рд╕рдордиреНрд╡рдп рддрдВрддреНрд░ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рд░рд╛рдЬреНрдпреЛрдВ (рдорд┐рд╕рдкреНрд░рд┐рдВрдЯ) рдХреЗ рдЧрд▓рдд рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рднреА рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдХреНрд▓рд╛рдЗрдВрдЯ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдмрд╛рд░-рдмрд╛рд░ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреЛрдИ рдкреБрд╖реНрдЯрд┐ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдЯрд┐рдХ рддрдХред рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд┐рдВрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ 5 рд╕реЗ 20 рд╕рд┐рдореБрд▓реЗрд╢рди рдЯрд┐рдХ рд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рд╕рдордп рд╕реАрдорд╛ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЛрдб рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдерд╛: 30 рдПрдлрдкреАрдПрд╕ред

рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рд╣рдХ рдкрд░ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:

  1. рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдмрддрд╛рддрд╛ рд╣реИред
  2. рдФрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ред

рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкрд░рд┐рдкрддреНрд░ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 32 рдЯрд┐рдХ рд╣реИред 30 HZ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛ рд▓рдЧрднрдЧ 1 рд╕реЗрдХрдВрдб рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕ рдмрдлрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддрдВрддреНрд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рд╕рдВрдЧрддрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдордиреНрд╡рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд▓рд╛рдЧрдд рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдлрд░ рдЖрдХрд╛рд░ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреВрд░реНрдг рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХрд░рдирд╛ рд╕рд╕реНрддрд╛ рд╣реИред

рд▓рд╛рдЧ рд╕рдордп рдореЗрдВ рдХрдореА


рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЦреЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдмрдлрд╝рд░ рд╣реИрдВ:

  • рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░;
  • рдЧреНрд░рд╛рд╣рдХ рдкрд░ рджреБрдирд┐рдпрд╛ рдХрд╛ рдПрдХ рдмрдлрд░ рдмрддрд╛рддрд╛ рд╣реИред

рдЗрди рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рд╣реА рд╣реИ - рдиреЗрдЯрд╡рд░реНрдХ рдЬрдВрдкрд░реНрд╕ (рдШрдмрд░рд╛рдирд╛) рдХреА рднрд░рдкрд╛рдИ рдХрд░рдирд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреИрдХреЗрдЯ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдЕрд╕рдорд╛рди рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬрди 30 HZ рдХреА рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕реА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЗрдВрдЬрди рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЬрдм рддрдХ рдЕрдЧрд▓рд╛ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рддрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ ms "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИред рд╣рдо рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдШрдмрд░рд╛рд╣рдЯ рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрд╛ рдПрдХ рдорд╛рд░реНрдЬрд┐рди рд╣реЛред рдпрджрд┐ рдкреИрдХреЗрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдЧреЗрдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдИ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕реНрдЯреЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 3 рдЯрд┐рдХ (100 рдПрдордПрд╕) рд╣реИред

рдЙрд╕реА рд╕рдордп, рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рд░реНрд╡рд░ рд╕рдордп рд╕реЗ рдЖрдЧреЗ "рд░рди" рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреБрдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрд┐рддрдирд╛ рдЖрдЧреЗ рд╣реИред рдЗрдирдкреБрдЯ рдмрдлрд░ рдХрд╛ рд╢реБрд░реБрдЖрддреА рдЖрдХрд╛рд░ рднреА 3 рдЯрд┐рдХ (100 рдПрдордПрд╕) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред

рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ рдЗрди рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╛рдиреА рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдмрд░рд╛рдирд╛ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 200 рдПрдордПрд╕ (рдЗрдирдкреБрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ + рдЧреЗрдо рд╕реНрдЯреЗрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ) рдХреА рдирд┐рд╢реНрдЪрд┐рдд рджреЗрд░реА рдереАред рдпрджрд┐ рд╣рдо 200 рдПрдордмреА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдФрд╕рдд рдЕрдиреБрдорд╛рдирд┐рдд рдкрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЗрд░реА 400 рдПрдордПрд╕ рдереА!

рдпрд╣ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ - рдЬреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдПрдЪрдкреА рдХреА рдЧрдгрдирд╛ред рдЗрд╕ рджреЗрд░реА рдХреЗ рд╕рд╛рде, рдЦрд┐рд▓рд╛рдбрд╝реА рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ 400 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЛ рдХреИрд╕реЗ рдорд╛рд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЧрддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдорддреМрд░ рдкрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рджреАрд╡рд╛рд░ рдХреЗ рдкреАрдЫреЗ рдпрд╛ рдХрд╡рд░ рдореЗрдВ рднрд╛рдЧрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рдорд░ рд░рд╣рд╛ рдерд╛ред рдЯреАрдо рдХреЗ рднреАрддрд░ рдХреЗ рдкреНрд▓реЗрдЯреЗрд╕реНрдЯреНрд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рджреЗрд░реА рдкреВрд░реЗ рдЧреЗрдордкреНрд▓реЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреЛрдбрд╝ рджреЗрддреА рд╣реИред

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдЗрдирдкреБрдЯ рдмрдлрд╝рд░реНрд╕ рдФрд░ рдЧреЗрдорд╕реНрдЯреЗрдЯреНрд╕ рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛:
  • рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рдмрдлрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕рдордп, рдЧреНрд░рд╛рд╣рдХ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рд░рд╛рдЬреНрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдлрд░ рдореЗрдВ рд╣реИрдВ;
  • рдЗрдирдкреБрдЯ рдмрдлрд╝рд░ рдХреЗ рд▓рд┐рдП - рд╕рд░реНрд╡рд░, рдЧреЗрдо рд╕реНрдЯреЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдлрд┐рд▓рд┐рдВрдЧ рдХреЗ рдореВрд▓реНрдп рдХреЛ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдЗрди рджреЛ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред

рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

  1. рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдордп рдФрд░ рд╡рд┐рдЪрд░рдг рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдмрдлрд░ рдЖрдХрд╛рд░ рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рдорд╛рдирддрд╛ рд╣реИред
  2. рдпрджрд┐ рд╡рд┐рдЪрд░рдг рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╣реИ (рдпрд╛рдиреА, рджрд┐рдП рдЧрдП рд╕рдордп рдХреЗ рд▓рд┐рдП, рдмрдлрд░ рд╕реЗ рднрд░рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреЛрдИ рдмрдбрд╝реА рдЫрд▓рд╛рдВрдЧ рдирд╣реАрдВ рдереА), рддреЛ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдмрдлрд░ рдЖрдХрд╛рд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред
  3. рдпрджрд┐ рдФрд╕рдд рдмрдлрд╝рд░ рдлрд┐рд▓рд┐рдВрдЧ рдКрдкрд░реА рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐ (рдпрд╛рдиреА, рдмрдлрд╝рд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рднрд░рд╛ рдЬрд╛рдПрдЧрд╛) рд╕реЗ рдЕрдзрд┐рдХ рдерд╛, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рдореБрд▓реЗрд╢рди рдЯрд┐рдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдХреЗ рдмрдлрд╝рд░ рдЖрдХрд╛рд░ рдХреЛ "рдХрдо" рдХрд░ рджреЗрддрд╛ рд╣реИред
  4. рдпрджрд┐ рдФрд╕рдд рдмрдлрд╝рд░ рдлрд┐рд▓рд┐рдВрдЧ рдХрдо рдмрд╛рдЙрдВрдбреНрд░реА рдХрдВрдбреАрд╢рди рд╕реЗ рдХрдо рдереА (рдЕрд░реНрдерд╛рдд, рдмрдлрд╝рд░ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛) - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рдПрдХ рдЯрд┐рдХ рдХреЛ рд╕реНрдХрд┐рдк рдХрд░рдХреЗ рдмрдлрд░ рд╕рд╛рдЗрдЬрд╝ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
  5. рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╡рд┐рдЪрд░рдг рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдКрдкрд░ рдерд╛, рд╣рдо рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рд╡реГрджреНрдзрд┐ рдмрд╣реБрдд рдмрдбрд╝реА рдереАред рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рднреА рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

рд╕рд░реНрд╡рд░ рдХреА рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐


рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рджреЗрд░реА (рдЕрдВрддрд░рд╛рд▓) рд╕реЗ рд╡рд┐рд╢реНрд╡ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЦрд┐рд▓рд╛рдбрд╝реА рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреЗрдЦрддрд╛ рд╣реИред рдЦрд┐рд▓рд╛рдбрд╝реА рдЦреБрдж рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдФрд░ рдмрд╛рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ - рдЕрддреАрдд рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рдПрдХ рд╕рдордп рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдореМрдЬреВрдж рд╣реИред


рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд▓рдХреНрд╖реНрдп рдкрд░ рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИред

рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рд╡рд╛рдЗрдВрдб рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:

  1. рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЯрд┐рдХ рдЯрд╛рдЗрдо рднреЗрдЬрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдмрд╛рдХреА рджреБрдирд┐рдпрд╛ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред
  2. рд╕рд░реНрд╡рд░ рдЗрд╕ рд╕рдордп рдХреЛ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдФрд░ рджреГрд╢реНрдпрдорд╛рди рд╕рдордп рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИред
  3. рдпрджрд┐ рд╕рдордп рдорд╛рдиреНрдп рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдореМрдЬреВрджрд╛ рд╕рдордп рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ рджреБрдирд┐рдпрд╛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдиреЗ рджреЗрдЦрд╛ рдФрд░ рд╢реЙрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
  4. рдпрджрд┐ рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдиреБрдХрд╕рд╛рди рд╡рд░реНрддрдорд╛рди рд╕рд░реНрд╡рд░ рд╕рдордп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рд╡рд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рдордп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рджреБрдирд┐рдпрд╛ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ (рдИрд╕реАрдПрд╕ рдореЗрдВ) рдФрд░ рднреМрддрд┐рдХреА рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ ( рдЕрд╕реНрдерд┐рд░ рднреМрддрд┐рдХреА рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд) рдЙрддреНрддрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЬрд┐рд╕ рд╕рдордп рд╢реЙрдЯ рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА, рдЙрд╕ рд╕рдордп рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдбреЗрдЯрд╛ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╢реЗрд╖ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╢реЙрдЯ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
 public void Execute(GameState gs) { foreach (var shotPair in gs.WorldState.Shot) { var shot = shotPair.Value; var shooter = gs.WorldState[shotPair.Key]; var shooterTransform = shooter.Transform; var weaponStats = gs.WorldState.WeaponStats[shot.WeaponId]; // DeltaTime shouldn't exceed physics history size var shootDeltaTime = (int) (gs.Time - shot.ShotPlayerWorldTime); if (shootDeltaTime > PhysicsWorld.HistoryLength) { continue; } // Get the world at the time of shooting. var oldState = _immutableHistory.Get(shot.ShotPlayerWorldTime); var potentialTarget = oldState.WorldState[shot.Target.Id]; var hitTargetId = _singleShotValidator.ValidateTargetAvailabilityInLine(oldState, potentialTarget, shooter, shootDeltaTime, weaponStats.ShotDistance, shooter.Transform.Angle.GetDirection()); if (hitTargetId != 0) { gs.WorldState.CreateEntity().AddDamage(gs.WorldState[hitTargetId], shooter, weaponStats.ShotDamage); } } } 


рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдЯрд┐рдХ рдХреЗ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдкрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╣ рджреЗрдЦрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдмрдврд╝рддреЗ рдкрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдкрд┐рдВрдЧ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдЕрддреАрдд рдореЗрдВ рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИред

рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛


рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди, рд╣рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░ рд╣реА рд╕реНрдкрд░реНрд╢ рдХрд░реВрдВрдЧрд╛ред

рдПрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдирдХрд▓ рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдорд╛рд░реЗ ECS рдХреА рд╕рднреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╡рд┐рдзрд┐ рдереА: рд╢реВрдиреНрдп рдирд┐рд╖реНрдкрд╛рджрд┐рдд (GameState gs)ред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ, рд╕рднреА рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рдерд╛ред

рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдПрдХ рдЧрддрд┐ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 public sealed class MovementSystem : ISystem { public void Execute(GameState gs) { foreach (var movementPair in gs.WorldState.Movement) { var transform = gs.WorldState.Transform[movementPair.Key]; transform.Position += movementPair.Value.Velocity * GameState.TickDuration; } } } 


рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕реЗ рдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред

рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:

  1. рдЦреЗрд▓ рд░рд╛рдЬреНрдп рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЧрдИ рдереАред
  2. рдПрдХ рдкреНрд░рддрд┐ рдИрд╕реАрдПрд╕ рдЗрдирдкреБрдЯ рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рдереАред
  3. рдИрд╕реАрдПрд╕ рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдерд╛ред
  4. рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдирдП рдкреНрд░рд╛рдкреНрдд рдЧреЗрдорд╕реНрдЯреЗрдЯ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреА:
 void PredictNewState(GameState state) { var newState = _stateHistory.Get(state.Tick+1); var input = _inputHistory.Get(state.Tick); newState.Copy(state); _tempGameState.Copy(state); _ecsExecutor.Execute(_tempGameState, input); _playerEntitiesCopier.Copy(_tempGameState, newState); } 


рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:

  1. рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдирд╣реАрдВ - рдирдХрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рдСрдкрд░реЗрд╢рди рд╣реИ (рдЖрдИрдлреЛрди 5 рдПрд╕ рдкрд░ рд▓рдЧрднрдЧ 0.1-0.15 рдПрдордПрд╕)ред
  2. рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ (рдЖрдИрдлреЛрди 5 рдПрд╕ рдкрд░ рд▓рдЧрднрдЧ 1.5-2 рдПрдордПрд╕)ред

рдпрджрд┐ рд╣рдо рдЗрд╕ рдмрд╛рдд рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдордиреНрд╡рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди рдПрдХ рдлреНрд░реЗрдо рдореЗрдВ 5 рд╕реЗ 15 рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рд╕реЗ рдкреБрдирд░реНрдЧрдгрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдзреАрдорд╛ рдерд╛ред

рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рд╕рд░рд▓ рдерд╛: рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд╛рдЧреЛрдВ рдореЗрдВ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╕реАрдЦрдирд╛ред рд╣рдо рд╕рднреА рд╕рд┐рд╕реНрдЯрдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдк рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рдЖрдИрдбреА рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрд╕рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░ рд╕рдХреЗрдВред

рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж рдПрдХ рдЖрдВрджреЛрд▓рди рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
 public sealed class MovementSystem : ISystem { public void Execute(GameState gs) { foreach (var movementPair in gs.WorldState.Movement) { Move(gs.WorldState.Transform[movementPair.Key], movementPair.Value); } } public void ExecutePlayer(GameState gs, uint playerId) { var movement = gs.WorldState.Movement[playerId]; if(movement != null) { Move(gs.WorldState.Transform[playerId], movement); } } private void Move(Transform transform, Movement movement) { transform.Position += movement.Velocity * GameState.TickDuration; } } 


рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рдмрд╛рдж, рд╣рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдкреНрд░рддрд┐рдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдФрд░ рдорд┐рд▓рд╛рди рдкреНрд░рдгрд╛рд▓реА рдкрд░ рднрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред

рдХреЛрдб:
 void PredictNewState(GameState state, uint playerId) { var newState = _stateHistory.Get(state.Tick+1); var input = _inputHistory.Get(state.Tick); newState.Copy(state); _ecsExecutor.Execute(newState, input, playerId); } 


рдПрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛ рдФрд░ рд╣рдЯрд╛рдирд╛


рд╣рдорд╛рд░реА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХрд╛ рдорд┐рд▓рд╛рди рдкреВрд░реНрдгрд╛рдВрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ (рдЖрдИрдбреА) рджреНрд╡рд╛рд░рд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреА рдПрдВрдб-рдЯреВ-рдПрдВрдб рдирдВрдмрд░рд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдирдИ рдЗрдХрд╛рдИ рдХрд╛ рдореВрд▓реНрдп id = oldID + 1 рд╣реИред

рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рд╣реИ: рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдирдИ рд╕рдВрд╕реНрдерд╛рдПрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдХреНрд░рдо рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред

рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдпрдВ рдкреНрд░рдХрдЯ рд╣реБрдИ рдЬрдм рд╣рдордиреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рд╢реЙрдЯреНрд╕ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХреАред рд╣рдорд╛рд░реЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╢реЙрдЯ рд╢реЙрдЯ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╢реЙрдЯ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЖрдИрдбреА рдЕрдиреБрдХреНрд░рдорд┐рдХ рдереАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЙрд╕реА рдХреНрд╖рдг рдХрд┐рд╕реА рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдиреЗ рдЧреЛрд▓реА рдорд╛рд░ рджреА, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рд╢реЙрдЯреНрд╕ рдХреА рдЖрдИрдбреА рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдИред

рд╕рд░реНрд╡рд░ рдкрд░ рд╢реЙрдЯреНрд╕ рдПрдХ рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдереЗ:



рд╢реЙрдЯреНрд╕ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЧреЗрдо рдХреА рдЧреЗрдордкреНрд▓реЗ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░ рджрд┐рдпрд╛ред рд╢реЙрдЯреНрд╕ рдлрд╛рд╕реНрдЯ-рдЬреАрд╡рд┐рдд рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВ рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдмрд╛рдж рдПрдХ рд╕реЗрдХрдВрдб рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдирд╖реНрдЯ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░, рд╣рдордиреЗ рдЖрдИрдбреА рдХреА рдПрдХ рдЕрд▓рдЧ рд╢реНрд░реЗрдгреА рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛, рдЬреЛ рд╕рд░реНрд╡рд░ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рд╕реЗрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдм рд╕рдордиреНрд╡рдп рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╢реЙрдЯ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реИред рдпрд╛рдиреА рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд╢реЙрдЯ рд╣рдореЗрд╢рд╛ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЦреЗрд▓ рдореЗрдВ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реНрдХреНрд░реАрди рдкрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рджреЗрдЦрддрд╛ (рд╣рдЯрд╛рдиреЗ, рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ, рд╢реЙрдЯреНрд╕ рдХреЗ рд░реЛрд▓рдмреИрдХ), рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдВ рдорд╛рдореВрд▓реА рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЧреЗрдордкреНрд▓реЗ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред

рдЗрд╕ рдкрджреНрдзрддрд┐ рдиреЗ рд╢реЙрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА, рд▓реЗрдХрд┐рди рдПрдХ рдкреВрд░реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рд╕рдВрд╕реНрдерд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреА рдкреВрд░реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВред рд╣рдо рдЕрднреА рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдмрдирд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреА рддреБрд▓рдирд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЛрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдпрд╣ рднреА рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ рдирдИ рд╕рдВрд╕реНрдерд╛рдУрдВ (рдирдИ рдЖрдИрдбреА рдХреЗ рд╕рд╛рде) рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЪрд┐рдВрддрд╛ рдХрд░рддреА рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рд╕рдВрд╕реНрдерд╛рдУрдВ рдкрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдШрдЯрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдЖрдорддреМрд░ рдкрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдХрд╛рдЗрдпрд╛рдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ / рд╣рдЯрд╛рддреЗ рд╣реИрдВред

рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИред

рдХреНрдпрд╛ рдкрдврд╝рдирд╛ рд╣реИ?


Source: https://habr.com/ru/post/hi415959/


All Articles