рдиреЛрдб.рдЬреЗрдПрд╕ рдкрд░ рдПрдХ рдмрд╣реБ-рдЦрд┐рд▓рд╛рдбрд╝реА рд░реАрдпрд▓рдЯрд╛рдЗрдо рдЧреЗрдо рдмрдирд╛рдирд╛



рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдФрд░ рдореЗрд░реЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдиреЗ рдПрдХ рдорд▓реНрдЯреА-рдкреНрд▓реЗрдпрд░ рд░рд┐рдпрд▓рдЯрд╛рдЗрдо рдЧреЗрдо рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЬреЛ рд╡реЗрдм рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рдерд╛ред рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП node.js рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдареЛрд╕ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА - рд╣рдорд╛рд░реЗ рд╕рд░реНрд╡рд░ рдиреЗ рдХрдИ рдорд╣реАрдиреЛрдВ рддрдХ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдПрдХ рднреА рдмреВрдВрдж рдпрд╛ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ред

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

Node.js рднреА рдкреАрдХ рд╕рдордп рдореЗрдВ рднреА рдПрдХ рдмрд╣реБрдд рд╣реА рд╣рд▓реНрдХреА рднрд╛рд╖рд╛ рд╕рд╛рдмрд┐рдд рд╣реБрдИред рд╣рдорд╛рд░реЗ рдЦреЗрд▓ рдХреЗ рд▓рд┐рдП, рдиреЛрдб.рдЬреЗрдПрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдиреЗ рдХреЗрд╡рд▓ рдПрдХ рдзрд╛рдЧреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдФрд░ рд╕реАрдкреАрдпреВ рдХреЗ рдХреЗрд╡рд▓ 3-4% рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдпрд╛, рдЬрдмрдХрд┐ рдЦреЗрд▓ рдХреА 8-10 рдкреНрд░рддрд┐рдпрд╛рдВ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реА рдереАрдВ, рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреЗ рдЯрдХреНрдХрд░ рдЯрдХреНрдХрд░ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рдеред


рдкреНрд░рд╛рд░рдВрднрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг


рдорд▓реНрдЯреАрдкреНрд▓реЗрдпрд░ рд░реАрдпрд▓рдЯрд╛рдЗрдо рдЧреЗрдо рд▓рд┐рдЦрддреЗ рд╕рдордп рдкреНрд░рд╛рд░рдВрднрд┐рдХ (рднреЛрд▓реА) рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

var info = {}; info.position = {x:10, y:15}; info.velocity = {x:0.5,y: 0.2}; info.currentWeapon = 1; info.radius = 10; this.netChannel.send( info ); 

рд╕рд░реНрд╡рд░ рдкреНрд░рддреНрдпреЗрдХ рдЬреБрдбрд╝реЗ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рднреА рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ:

 function broadcastInfo( sendingClient, messageInfo ) { for(var aClient in allClients) { if(aClient != sendingClient) { aClient.connection.send( messageInfo ); } } } 

рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдЖрдк рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реНрдерд╛рди рдЬрд╛рдирдХрд╛рд░реА рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬреЛ рд╡рд╣ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рдЙрд╕реЗ рдЬрд░реВрд░рдд рд╣реИ, рдкреВрд░реНрдг рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рд╡рд┐рд░реЛрдзрд┐рдпреЛрдВ рдореЗрдВ рдЧрд┐рд░ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдкреВрд░реА рдЖрдкреВрд░реНрддрд┐ рд╣реЛрддреА рд╣реИред

рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдХрднреА рднреА рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреА рдЧрддрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

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



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

рдПрдХ рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдореЙрдбрд▓ рд╣реИ


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



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

рд╡рд┐рд╢реНрд╡ рдкреНрд░рддрд┐рдкрд╛рджрди

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

рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛




RealtimeMultiplayerNodeJS


рд╣рдо рд╡рд┐рд╢реНрд╡рд╛рд╕рдкреВрд░реНрд╡рдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдордиреЗ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛рдл рдХрд░рдиреЗ рдФрд░ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рд╣рдо рдЕрдЪреНрдЫреЗ рдирд╛рдореЛрдВ рдХреЛ рдЪреБрдирдиреЗ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдлрд▓ рдирд╣реАрдВ рдереЗ, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдирд╛рдо RealtimeMultepsNodeJS рд░рдЦрд╛ред

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

рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

  1. рдбрд╛рдЙрдирд▓реЛрдб рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА
  2. рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ, рд╕рд░реНрд╡рд░ "рдиреЛрдб js / DemoHelloWorld / server.js" рд╢реБрд░реВ рдХрд░реЗрдВ
  3. рдкреГрд╖реНрда "/DemoHelloWorld.html" рдЦреЛрд▓реЗрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЖрдк рд╡реЗрдмрд╕реНрдХреИрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдиреЗрдХреНрдЯ рдХрд░ рд╕рдХреЗрдВ)

рднреМрддрд┐рдХреА рдкреНрд░рджрд░реНрд╢рди

рдпрд╣ рдбреЗрдореЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рднреМрддрд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрдм рд╕рд░реНрд╡рд░ рдкрд░ рд╕рднреА рд╕рд┐рдореБрд▓реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВред Box2D.js рдХрд╛ рдЙрдкрдпреЛрдЧ рджреБрдирд┐рдпрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЛ рднреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рдлрд┐рд░ рд╕реЗ рдЗрд╕рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред



DemoHelloWorld

рд╕рдмрд╕реЗ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдбреЗрдореЛ рд╣рдо рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╕реНрддреБрдПрдВ рдмрд╛рдПрдВ рд╕реЗ рджрд╛рдПрдВ рдЪрд▓рддреА рд╣реИрдВред



DemoCircle

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



рдЕрдВрдд рдореЗрдВ, рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЬреЛрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП - ASCII рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдПрдХ рдЗрдХрд╛рдИ рдкреНрд░рдХреНрд╖реЗрдк рдЪрд┐рддреНрд░:

  (actual time) (snapshot interval) | | | _ (rendered time) | / \ | / vv / | ------|-----|----v|---|----|----|--v---------> 0.0sec 0.1sec 0.2sec 0.3sec time | | \ / \------\/----/ | | (interpolation time) 

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


All Articles