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

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

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

рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдЯрд┐рдХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдордп рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЖрдзреЗ
рдЖрд░рдЯреАрдЯреА + рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдЖрдЧреЗ рд░рд╣рддрд╛ рд╣реИред рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рдЯрд┐рдХ 20 (рдП) рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдирдкреБрдЯ рднреЗрдЬрддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЯрд┐рдХ 15 (рдмреА) рд╕рд░реНрд╡рд░ рдкрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрддрд╛ рд╣реИред рдЬрдм рддрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЗрдирдкреБрдЯ рд╕рд░реНрд╡рд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛, рддрдм рддрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдЯрд┐рдХ 20 рдкреНрд░реЛрд╕реЗрд╕ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрд░рдг рд╣реЛрддреЗ рд╣реИрдВ: рдХреНрд▓рд╛рдЗрдВрдЯ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ (a) тЖТ рдЗрд╕ рдЗрдирдкреБрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ HRTT + рдЗрдирдкреБрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ (b) рдХреЗ рдмрд╛рдж рдкреНрд░реЛрд╕реЗрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред тЖТ рд╕рд░реНрд╡рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдкрд░рд┐рдгрд╛рдореА рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рддрд┐ рднреЗрдЬрддрд╛ рд╣реИ () тЖТ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╕рд╛рде рдкреБрд╖реНрдЯрд┐рдХреГрдд рд╡рд┐рд╢реНрд╡ рд╕реНрдерд┐рддрд┐ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рд╕рд░реНрд╡рд░ рд╕рдордп RTT + рдЗрдирдкреБрдЯ рдмрдлрд░ рдЖрдХрд╛рд░ + рдЦреЗрд▓ рд░рд╛рдЬреНрдп рдкреНрд░рдХреНрд╖реЗрдк рдмрдлрд░ рдЖрдХрд╛рд░ (рдбреА)ред
рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ (рдбреА) рд╕реЗ рджреБрдирд┐рдпрд╛ рдХреА рдПрдХ рдирдИ рдкреБрд╖реНрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕реЗ рд╕реБрд▓рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реА рджреБрдирд┐рдпрд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рдХреЗ рдЗрдирдкреБрдЯ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рд╣реИред рдФрд░ рдЬрдм рд╕рд░реНрд╡рд░ рдкрд░ рджреБрдирд┐рдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдПрдХ рдЕрд▓рдЧ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдиреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рдереА рдЙрд╕рд╕реЗ рдЕрд▓рдЧред рдРрд╕рд╛ рддрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рджрдВрдЧ рд░рд╣ рдЬрд╛рдП рдпрд╛ рдорд╛рд░реЗ рдЬрд╛рдПред
рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рджреЛ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ:
- рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЯрд┐рдХ рдПрди рдХреЗ рд▓рд┐рдП рджреБрдирд┐рдпрд╛ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рдХреА рддреБрд▓рдирд╛ред рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдбреЗрдЯрд╛ рддреБрд▓рдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╢реЗрд╖ рд╡рд┐рд╢реНрд╡ рдХрд╛ рдбреЗрдЯрд╛ рд╣рдореЗрд╢рд╛ рд╕рд░реНрд╡рд░ рд╕реНрдерд┐рддрд┐ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рдордиреНрд╡рдп рдореЗрдВ рднрд╛рдЧ рдирд╣реАрдВ рд▓реЗрддрд╛ рд╣реИред
- рддреБрд▓рдирд╛ рдХреЗ рджреМрд░рд╛рди, рджреЛ рдорд╛рдорд▓реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЕрдЧрд░ рджреБрдирд┐рдпрд╛ рдХреА рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ, рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдбреЗрдЯрд╛ рдФрд░ рд╢реЗрд╖ рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдирдП рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдореЛрдб рдореЗрдВ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИ;
- рдпрджрд┐ рдЕрдиреБрдорд╛рдирд┐рдд рд╕реНрдерд┐рддрд┐ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреА рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рджреБрдирд┐рдпрд╛ рдХреЗ рдкреВрд░реЗ рд╕рд░реНрд╡рд░ рд░рд╛рдЬреНрдп рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЗрдирдкреБрдЯ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рдирдП рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд░рд╛рдЬреНрдп рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
рдХреЛрдб рдореЗрдВ, рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:GameState Reconcile(int currentTick, ServerGameStateData serverStateData, GameState currentState, uint playerID) { var serverState = serverStateData.GameState; var serverTick = serverState.Time; var predictedState = _localStateHistory.Get(serverTick);
рджреЛ рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдХреЗрд╡рд▓ рдЙрди рдЖрдВрдХрдбрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВред рдбреЗрдЯрд╛ рдЦрд┐рд▓рд╛рдбрд╝реА рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдирдореВрдирд╛ рд╣реИред
рддреБрд▓рдирд╛ рд╡рд┐рдзрд┐: 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 рдПрдлрдкреАрдПрд╕ред
рдЕрдиреБрдореЛрджрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рд╣рдХ рдкрд░ рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП:
- рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рдмрддрд╛рддрд╛ рд╣реИред
- рдФрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ред
рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рдкрд░рд┐рдкрддреНрд░ рдмрдлрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 32 рдЯрд┐рдХ рд╣реИред 30 HZ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛ рд▓рдЧрднрдЧ 1 рд╕реЗрдХрдВрдб рджреЗрддрд╛ рд╣реИред рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕ рдмрдлрд░ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░реНрд╡рд░ рд╕реЗ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рддрдВрддреНрд░ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреБрдирд┐рдпрд╛ рдХреЗ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд┐рд╕рдВрдЧрддрд┐ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдордиреНрд╡рдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд▓рд╛рдЧрдд рдХреЗ рдХрд╛рд░рдг рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреЗ рдмрдлрд░ рдЖрдХрд╛рд░ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдПрдХ рд╕реЗрдХрдВрдб рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдкреВрд░реНрдг рдкреБрдирд░рд╛рд╡рд░реНрддрди рдХрд░рдирд╛ рд╕рд╕реНрддрд╛ рд╣реИред
рд▓рд╛рдЧ рд╕рдордп рдореЗрдВ рдХрдореА
рдКрдкрд░ рджрд┐рдП рдЧрдП рдЖрд░реЗрдЦ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЦреЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдпреЛрдЬрдирд╛ рдореЗрдВ рджреЛ рдмрдлрд╝рд░ рд╣реИрдВ:
- рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░;
- рдЧреНрд░рд╛рд╣рдХ рдкрд░ рджреБрдирд┐рдпрд╛ рдХрд╛ рдПрдХ рдмрдлрд░ рдмрддрд╛рддрд╛ рд╣реИред
рдЗрди рдмрдлрд╝рд░реНрд╕ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдПрдХ рд╣реА рд╣реИ - рдиреЗрдЯрд╡рд░реНрдХ рдЬрдВрдкрд░реНрд╕ (рдШрдмрд░рд╛рдирд╛) рдХреА рднрд░рдкрд╛рдИ рдХрд░рдирд╛ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреИрдХреЗрдЯ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рдЕрд╕рдорд╛рди рд╣реИред рдФрд░ рдЪреВрдВрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬрди 30 HZ рдХреА рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдбреЗрдЯрд╛ рдХреЛ рдЙрд╕реА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЗрдВрдЬрди рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЬрдм рддрдХ рдЕрдЧрд▓рд╛ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рдЬрд╛рддрд╛ рддрдм рддрдХ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдЫ ms "рдкреНрд░рддреАрдХреНрд╖рд╛" рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдирд╣реАрдВ рд╣реИред рд╣рдо рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдФрд░ рд╡рд┐рд╢реНрд╡ рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмрдлрд╝рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдШрдмрд░рд╛рд╣рдЯ рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХреЗ рд▓рд┐рдП рд╕рдордп рдХрд╛ рдПрдХ рдорд╛рд░реНрдЬрд┐рди рд╣реЛред рдпрджрд┐ рдкреИрдХреЗрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдЦреЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЧреЗрдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдИ рджреБрдирд┐рдпрд╛ рдХреЗ рд╕реНрдЯреЗрдЯреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рд░реНрд╡рд░ рд╕реЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдкреВрд░рд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ 3 рдЯрд┐рдХ (100 рдПрдордПрд╕) рд╣реИред
рдЙрд╕реА рд╕рдордп, рдЬрдм рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рдореВрд▓реНрдп рд╕реЗ рд╕рд░реНрд╡рд░ рд╕рдордп рд╕реЗ рдЖрдЧреЗ "рд░рди" рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдХреНрд▓рд╛рдЗрдВрдЯ рдЦреБрдж рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╕рд░реНрд╡рд░ рд╕реЗ рдХрд┐рддрдирд╛ рдЖрдЧреЗ рд╣реИред рдЗрдирдкреБрдЯ рдмрдлрд░ рдХрд╛ рд╢реБрд░реБрдЖрддреА рдЖрдХрд╛рд░ рднреА 3 рдЯрд┐рдХ (100 рдПрдордПрд╕) рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИред
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ рдЗрди рдмрдлрд╝рд░реНрд╕ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред рдпрд╛рдиреА рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдШрдмрд░рд╛рдирд╛ рдореМрдЬреВрдж рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдбреЗрдЯрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 200 рдПрдордПрд╕ (рдЗрдирдкреБрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ + рдЧреЗрдо рд╕реНрдЯреЗрдЯ рдмрдлрд░ рд╕рд╛рдЗрдЬ) рдХреА рдирд┐рд╢реНрдЪрд┐рдд рджреЗрд░реА рдереАред рдпрджрд┐ рд╣рдо 200 рдПрдордмреА рдХреЗ рдЖрд╕рдкрд╛рд╕ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдФрд╕рдд рдЕрдиреБрдорд╛рдирд┐рдд рдкрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрд░ рдЗрдирдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЗрд░реА 400 рдПрдордПрд╕ рдереА!
рдпрд╣ рд╣рдореЗрдВ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред
рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рд┐рд╕реНрдЯрдо рдХреЗрд╡рд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ - рдЬреИрд╕реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдПрдЪрдкреА рдХреА рдЧрдгрдирд╛ред рдЗрд╕ рджреЗрд░реА рдХреЗ рд╕рд╛рде, рдЦрд┐рд▓рд╛рдбрд╝реА рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ 400 рдПрдордПрд╕ рдХреЗ рдмрд╛рдж рджреЗрдЦрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдкреНрд░рддрд┐рджреНрд╡рдВрджреНрд╡реА рдХреЛ рдХреИрд╕реЗ рдорд╛рд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЧрддрд┐ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдорддреМрд░ рдкрд░ рдЦрд┐рд▓рд╛рдбрд╝реА рджреАрд╡рд╛рд░ рдХреЗ рдкреАрдЫреЗ рдпрд╛ рдХрд╡рд░ рдореЗрдВ рднрд╛рдЧрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣рд╛рдВ рдорд░ рд░рд╣рд╛ рдерд╛ред рдЯреАрдо рдХреЗ рднреАрддрд░ рдХреЗ рдкреНрд▓реЗрдЯреЗрд╕реНрдЯреНрд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЗрд╕ рддрд░рд╣ рдХреА рджреЗрд░реА рдкреВрд░реЗ рдЧреЗрдордкреНрд▓реЗ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рддреЛрдбрд╝ рджреЗрддреА рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдЗрдирдкреБрдЯ рдмрдлрд╝рд░реНрд╕ рдФрд░ рдЧреЗрдорд╕реНрдЯреЗрдЯреНрд╕ рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдерд╛:
- рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ рд╣рдореЗрд╢рд╛ рд╡рд░реНрддрдорд╛рди рдмрдлрд░ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЬрд╛рдирддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рдЯрд┐рдХ рдХреА рдЧрдгрдирд╛ рдХреЗ рд╕рдордп, рдЧреНрд░рд╛рд╣рдХ рдпрд╣ рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рддрдиреЗ рд░рд╛рдЬреНрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдлрд░ рдореЗрдВ рд╣реИрдВ;
- рдЗрдирдкреБрдЯ рдмрдлрд╝рд░ рдХреЗ рд▓рд┐рдП - рд╕рд░реНрд╡рд░, рдЧреЗрдо рд╕реНрдЯреЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдмрдлрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдлрд┐рд▓рд┐рдВрдЧ рдХреЗ рдореВрд▓реНрдп рдХреЛ рднреЗрдЬрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдмрджрд▓реЗ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдЗрди рджреЛ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред
рдЧреЗрдорд╕реНрдЯреЗрдЯ рдмрдлрд░ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
- рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдордп рдФрд░ рд╡рд┐рдЪрд░рдг рдХреА рдЕрд╡рдзрд┐ рдореЗрдВ рдмрдлрд░ рдЖрдХрд╛рд░ рдХрд╛ рдФрд╕рдд рдореВрд▓реНрдп рдорд╛рдирддрд╛ рд╣реИред
- рдпрджрд┐ рд╡рд┐рдЪрд░рдг рд╕рд╛рдорд╛рдиреНрдп рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╣реИ (рдпрд╛рдиреА, рджрд┐рдП рдЧрдП рд╕рдордп рдХреЗ рд▓рд┐рдП, рдмрдлрд░ рд╕реЗ рднрд░рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдореЗрдВ рдХреЛрдИ рдмрдбрд╝реА рдЫрд▓рд╛рдВрдЧ рдирд╣реАрдВ рдереА), рддреЛ рдЧреНрд░рд╛рд╣рдХ рдЗрд╕ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдФрд╕рдд рдмрдлрд░ рдЖрдХрд╛рд░ рдХреЗ рдореВрд▓реНрдп рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред
- рдпрджрд┐ рдФрд╕рдд рдмрдлрд╝рд░ рдлрд┐рд▓рд┐рдВрдЧ рдКрдкрд░реА рд╕реАрдорд╛ рд╕реНрдерд┐рддрд┐ (рдпрд╛рдиреА, рдмрдлрд╝рд░ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рднрд░рд╛ рдЬрд╛рдПрдЧрд╛) рд╕реЗ рдЕрдзрд┐рдХ рдерд╛, рддреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рдореБрд▓реЗрд╢рди рдЯрд┐рдХ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдХреЗ рдмрдлрд╝рд░ рдЖрдХрд╛рд░ рдХреЛ "рдХрдо" рдХрд░ рджреЗрддрд╛ рд╣реИред
- рдпрджрд┐ рдФрд╕рдд рдмрдлрд╝рд░ рдлрд┐рд▓рд┐рдВрдЧ рдХрдо рдмрд╛рдЙрдВрдбреНрд░реА рдХрдВрдбреАрд╢рди рд╕реЗ рдХрдо рдереА (рдЕрд░реНрдерд╛рдд, рдмрдлрд╝рд░ рдХреЗ рдкрд╛рд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдкрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдерд╛) - рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рдПрдХ рдЯрд┐рдХ рдХреЛ рд╕реНрдХрд┐рдк рдХрд░рдХреЗ рдмрдлрд░ рд╕рд╛рдЗрдЬрд╝ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
- рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╡рд┐рдЪрд░рдг рд╕рд╛рдорд╛рдиреНрдп рд╕реЗ рдКрдкрд░ рдерд╛, рд╣рдо рдЗрди рдЖрдВрдХрдбрд╝реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рдирд┐рд╢реНрдЪрд┐рдд рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдиреЗрдЯрд╡рд░реНрдХ рд╡реГрджреНрдзрд┐ рдмрд╣реБрдд рдмрдбрд╝реА рдереАред рдлрд┐рд░ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рднреА рд╡рд░реНрддрдорд╛рди рдбреЗрдЯрд╛ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕реЗ рдЖрдВрдХрдбрд╝реЗ рдПрдХрддреНрд░ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдХреА рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐
рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рджреЗрд░реА (рдЕрдВрддрд░рд╛рд▓) рд╕реЗ рд╡рд┐рд╢реНрд╡ рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЦрд┐рд▓рд╛рдбрд╝реА рджреБрдирд┐рдпрд╛ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рджреЗрдЦрддрд╛ рд╣реИред рдЦрд┐рд▓рд╛рдбрд╝реА рдЦреБрдж рдХреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдФрд░ рдмрд╛рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ - рдЕрддреАрдд рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реИред рд╕рд░реНрд╡рд░ рдкрд░, рдПрдХ рд╕рдордп рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдореМрдЬреВрдж рд╣реИред

рдЗрд╕ рд╡рдЬрд╣ рд╕реЗ, рд╕реНрдерд┐рддрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд▓рдХреНрд╖реНрдп рдкрд░ рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИред
рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд▓рд┐рдП рдХреНрд╖рддрд┐рдкреВрд░реНрддрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рд╡рд╛рдЗрдВрдб рд╕рдордп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд▓рдЧрднрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
- рдкреНрд░рддреНрдпреЗрдХ рдЗрдирдкреБрдЯ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЯрд┐рдХ рдЯрд╛рдЗрдо рднреЗрдЬрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡рд╣ рдмрд╛рдХреА рджреБрдирд┐рдпрд╛ рдХреЛ рджреЗрдЦрддрд╛ рд╣реИред
- рд╕рд░реНрд╡рд░ рдЗрд╕ рд╕рдордп рдХреЛ рдорд╛рдиреНрдп рдХрд░рддрд╛ рд╣реИ: рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЕрдВрддрд░рд╛рд▓ рдореЗрдВ рдЧреНрд░рд╛рд╣рдХ рдХреА рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдФрд░ рджреГрд╢реНрдпрдорд╛рди рд╕рдордп рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рд╣реИред
- рдпрджрд┐ рд╕рдордп рдорд╛рдиреНрдп рд╣реИ, рддреЛ рд╕рд░реНрд╡рд░ рдореМрдЬреВрджрд╛ рд╕рдордп рдореЗрдВ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд╢реЗрд╖ рджреБрдирд┐рдпрд╛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖрддреА рд╣реИ рдЬреЛ рдЦрд┐рд▓рд╛рдбрд╝реА рдиреЗ рджреЗрдЦрд╛ рдФрд░ рд╢реЙрдЯ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдЧрдгрдирд╛ рдХрд░рддрд╛ рд╣реИред
- рдпрджрд┐ рдХреЛрдИ рдЦрд┐рд▓рд╛рдбрд╝реА рд╣рд┐рдЯ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдиреБрдХрд╕рд╛рди рд╡рд░реНрддрдорд╛рди рд╕рд░реНрд╡рд░ рд╕рдордп рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рд░реНрд╡рд░ рдкрд░ рд░рд┐рд╡рд╛рдЗрдВрдбрд┐рдВрдЧ рд╕рдордп рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рджреБрдирд┐рдпрд╛ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ (рдИрд╕реАрдПрд╕ рдореЗрдВ) рдФрд░ рднреМрддрд┐рдХреА рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ (
рдЕрд╕реНрдерд┐рд░ рднреМрддрд┐рдХреА рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд) рдЙрддреНрддрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред рдЬрд┐рд╕ рд╕рдордп рд╢реЙрдЯ рдХреА рдЧрдгрдирд╛ рдХреА рдЧрдИ рдереА, рдЙрд╕ рд╕рдордп рдЦрд┐рд▓рд╛рдбрд╝реА рдХрд╛ рдбреЗрдЯрд╛ рджреБрдирд┐рдпрд╛ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдФрд░ рдЗрддрд┐рд╣рд╛рд╕ рдХреЗ рд╢реЗрд╖ рдЦрд┐рд▓рд╛рдбрд╝рд┐рдпреЛрдВ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╢реЙрдЯ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ: 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];
рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЙрд╕ рдЯрд┐рдХ рдХреЗ рд╕рдордп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдкрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╣ рджреЗрдЦрддрд╛ рд╣реИред рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ, рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдмрдврд╝рддреЗ рдкрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд▓рд╛рдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЗ рдкрд╛рд╕ рдЬрд┐рддрдирд╛ рдЕрдзрд┐рдХ рдкрд┐рдВрдЧ рд╣реЛрддрд╛ рд╣реИ, рд╡рд╣ рдЕрддреАрдд рдореЗрдВ рд╢реВрдЯ рдХрд░рддрд╛ рд╣реИред
рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╣рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛
рдЗрд╕ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЬрди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди, рд╣рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХреЗ рдпреЛрдЧреНрдп рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдкрд░ рд╣реА рд╕реНрдкрд░реНрд╢ рдХрд░реВрдВрдЧрд╛ред
рдПрдХ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдирдХрд▓ рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдорд╛рд░реЗ 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; } } }
рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд╣рдордиреЗ рдЗрд╕реЗ рдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ред
рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдереА:
- рдЦреЗрд▓ рд░рд╛рдЬреНрдп рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рдИ рдЧрдИ рдереАред
- рдПрдХ рдкреНрд░рддрд┐ рдИрд╕реАрдПрд╕ рдЗрдирдкреБрдЯ рдХреЛ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЧрдИ рдереАред
- рдИрд╕реАрдПрд╕ рдореЗрдВ рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрдХрд░рдг рдерд╛ред
- рд╕реНрдерд╛рдиреАрдп рдЦрд┐рд▓рд╛рдбрд╝реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рдирдП рдкреНрд░рд╛рдкреНрдд рдЧреЗрдорд╕реНрдЯреЗрдЯ рд╕реЗ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреА рд╡рд┐рдзрд┐ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рджрд┐рдЦреА: 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); }
рдЗрд╕ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рджреЛ рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВ:
- рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХрд╛ рдирд╣реАрдВ - рдирдХрд▓ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдлреА рдорд╣рдВрдЧрд╛ рдСрдкрд░реЗрд╢рди рд╣реИ (рдЖрдИрдлреЛрди 5 рдПрд╕ рдкрд░ рд▓рдЧрднрдЧ 0.1-0.15 рдПрдордПрд╕)ред
- рдкреВрд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд╕рд┐рдореБрд▓реЗрд╢рди рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд▓рдЧрддрд╛ рд╣реИ (рдЖрдИрдлреЛрди 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 рд╣реИред
рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрдореА рд╣реИ: рдЧреНрд░рд╛рд╣рдХ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рдирдИ рд╕рдВрд╕реНрдерд╛рдПрдВ рдмрдирд╛рдиреЗ рдХрд╛ рдХреНрд░рдо рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛрдВрдЧреЗред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдпрдВ рдкреНрд░рдХрдЯ рд╣реБрдИ рдЬрдм рд╣рдордиреЗ рдЦрд┐рд▓рд╛рдбрд╝реА рд╢реЙрдЯреНрд╕ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдХреАред рд╣рдорд╛рд░реЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рд╢реЙрдЯ рд╢реЙрдЯ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЗрдХрд╛рдИ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП, рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╢реЙрдЯ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдЖрдИрдбреА рдЕрдиреБрдХреНрд░рдорд┐рдХ рдереАред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЙрд╕реА рдХреНрд╖рдг рдХрд┐рд╕реА рдЕрдиреНрдп рдЦрд┐рд▓рд╛рдбрд╝реА рдиреЗ рдЧреЛрд▓реА рдорд╛рд░ рджреА, рддреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рд╢реЙрдЯреНрд╕ рдХреА рдЖрдИрдбреА рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рдЧрдИред
рд╕рд░реНрд╡рд░ рдкрд░ рд╢реЙрдЯреНрд╕ рдПрдХ рдЕрд▓рдЧ рдХреНрд░рдо рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдереЗ:

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