Как Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° балистичното изчислСниС Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ стрСлСц с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компСнсиранС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ забавянС

Как Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° балистичното изчислСниС Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ стрСлСц с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компСнсиранС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ забавянС

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅, Π°Π· съм Никита Π‘Ρ€ΠΈΠΆΠ°ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Pixonic. ДнСс Π±ΠΈΡ… искал Π΄Π° говоря Π·Π° компСнсиранС Π½Π° изоставанСто Π² мобилния ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€.

Много статии са написани Π·Π° компСнсиранС Π½Π° забавянС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π° руски Π΅Π·ΠΈΠΊ. Π’ΠΎΠ²Π° Π½Π΅ Π΅ ΠΈΠ·Π½Π΅Π½Π°Π΄Π²Π°Ρ‰ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ тСхнология сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈ ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ FPS ΠΎΡ‚ края Π½Π° 90-Ρ‚Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° си спомнитС ΠΌΠΎΠ΄Π° QuakeWorld, ΠΊΠΎΠΉΡ‚ΠΎ бСшС Π΅Π΄ΠΈΠ½ ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…Π°.

ИзползвамС Π³ΠΎ ΠΈ Π² нашия ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ ΠΌΡƒΠ»Ρ‚ΠΈΠΏΠ»Π΅ΠΉΡŠΡ€ ΡˆΡƒΡ‚ΡŠΡ€ Dino Squad.

Π’ Ρ‚Π°Π·ΠΈ статия Ρ†Π΅Π»Ρ‚Π° ΠΌΠΈ Π½Π΅ Π΅ Π΄Π° повтарям Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ написано хиляди ΠΏΡŠΡ‚ΠΈ, Π° Π΄Π° Ρ€Π°Π·ΠΊΠ°ΠΆΠ° ΠΊΠ°ΠΊ Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ компСнсация Π½Π° забавянС Π² Π½Π°ΡˆΠ°Ρ‚Π° ΠΈΠ³Ρ€Π°, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅Ρ…ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ нашия Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅Π½ стСк ΠΈ основнитС характСристики Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°.

Няколко Π΄ΡƒΠΌΠΈ Π·Π° нашия кортСкс ΠΈ тСхнология.

Dino Squad Π΅ ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΠΌΠΎΠ±ΠΈΠ»Π½Π° PvP стрСлба. Π˜Π³Ρ€Π°Ρ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ Π΄ΠΈΠ½ΠΎΠ·Π°Π²Ρ€ΠΈ, ΠΎΠ±ΠΎΡ€ΡƒΠ΄Π²Π°Π½ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΡ€ΡŠΠΆΠΈΡ, ΠΈ сС бият ΠΏΠΎΠΌΠ΅ΠΆΠ΄Ρƒ си Π² ΠΎΡ‚Π±ΠΎΡ€ΠΈ 6 Π½Π° 6.

И ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚, ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ са Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Unity. АрхитСктурата Π΅ доста класичСска Π·Π° стрСлцитС: ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π΅ Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π°Ρ€Π΅Π½ ΠΈ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ Π²ΡŠΡ€Ρ…Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈΡ‚Π΅. Бимулацията Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Π΅ написана с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ΅Π½ ECS ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠ°ΠΊΡ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‚Π°ΠΊΠ° ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Ако Π·Π° ΠΏΡŠΡ€Π²ΠΈ ΠΏΡŠΡ‚ Ρ‡ΡƒΠ²Π°Ρ‚Π΅ Π·Π° компСнсация Π·Π° изоставанС, Π΅Ρ‚ΠΎ ΠΊΡ€Π°Ρ‚ΠΊΠ° Скскурзия Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Π’ FPS ΠΈΠ³Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΠΈ ΠΌΠ°Ρ‡ΡŠΡ‚ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС симулира Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€. Π˜Π³Ρ€Π°Ρ‡ΠΈΡ‚Π΅ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‚ своя Π²Ρ…ΠΎΠ΄ (информация Π·Π° натиснатитС клавиши) Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ Π² ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΈΠΌ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°, ΠΊΠ°Ρ‚ΠΎ Π²Π·Π΅ΠΌΠ° ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ. Π‘ Ρ‚Π°Π·ΠΈ схСма Π½Π° взаимодСйствиС забавянСто ΠΌΠ΅ΠΆΠ΄Ρƒ натисканСто Π½Π° клавиша Π·Π° Π½Π°ΠΏΡ€Π΅Π΄ ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΠ΅Ρ€ΡΠΎΠ½Π°ΠΆΡŠΡ‚ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π° сС прСмСсти Π½Π° Π΅ΠΊΡ€Π°Π½Π°, Π²ΠΈΠ½Π°Π³ΠΈ Ρ‰Π΅ бъдС ΠΏΠΎ-голямо ΠΎΡ‚ ΠΏΠΈΠ½Π³Π°.

Π”ΠΎΠΊΠ°Ρ‚ΠΎ Π² Π»ΠΎΠΊΠ°Π»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ Ρ‚ΠΎΠ²Π° забавянС (популярно Π½Π°Ρ€ΠΈΡ‡Π°Π½ΠΎ забавянС Π½Π° Π²Ρ…ΠΎΠ΄Π°) ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅Π·Π°Π±Π΅Π»Π΅ΠΆΠΈΠΌΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ ΠΏΡ€Π΅Π· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Ρ‚ΠΎ създава усСщанС Π·Π° β€žΠΏΠ»ΡŠΠ·Π³Π°Π½Π΅ ΠΏΠΎ Π»Π΅Π΄β€œ ΠΏΡ€ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π³Π΅Ρ€ΠΎΠΉ. Π’ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ Π΄Π²ΠΎΠΉΠ½ΠΎ Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΌΡ€Π΅ΠΆΠΈ, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ ΡΠ»ΡƒΡ‡Π°ΠΉΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ping Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π° Π΅ 200 ms, всС ΠΎΡ‰Π΅ сС счита Π·Π° ΠΎΡ‚Π»ΠΈΡ‡Π½Π° Π²Ρ€ΡŠΠ·ΠΊΠ°. ЧСсто ΠΏΠΈΠ½Π³ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС 350, 500 ΠΈΠ»ΠΈ 1000 ms. Π’ΠΎΠ³Π°Π²Π° става ΠΏΠΎΡ‡Ρ‚ΠΈ нСвъзмоТно Π΄Π° ΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ Π±ΡŠΡ€Π· стрСлСц със забавянС Π½Π° Π²Ρ…ΠΎΠ΄Π°.

Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° симулация ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Π’ΡƒΠΊ самият ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΏΡ€ΠΈΠ»Π°Π³Π° Π²Ρ…ΠΎΠ΄Π° към гСроя Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, Π±Π΅Π· Π΄Π° Ρ‡Π°ΠΊΠ° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°. И ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€, Ρ‚ΠΎΠΉ просто сравнява Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅. Π—Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ натисканС Π½Π° клавиш ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚Π° Π½Π° Π΅ΠΊΡ€Π°Π½Π° Π² Ρ‚ΠΎΠ·ΠΈ случай Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ.

Π’ΡƒΠΊ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ нюанса: ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ Π²ΠΈΠ½Π°Π³ΠΈ сС Ρ‡Π΅Ρ€Ρ‚Π°Π΅ спорСд послСдното ΠΌΡƒ въвСТданС, Π° Π²Ρ€Π°Π³ΠΎΠ²Π΅Ρ‚Π΅ - с ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎ забавянС, спорСд ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ ΠΎΡ‚ ΡΡŠΡ€Π²ΡŠΡ€Π°. ВоСст, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стрСля ΠΏΠΎ Π²Ρ€Π°Π³, ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π³ΠΎ Π²ΠΈΠΆΠ΄Π° Π² ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ спрямо сСбС си. ΠŸΠΎΠ²Π΅Ρ‡Π΅ Π·Π° ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° писахмС ΠΏΠΎ-Ρ€Π°Π½ΠΎ.

По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ€Π΅ΡˆΠ°Π²Π° Π΅Π΄ΠΈΠ½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ създава Π΄Ρ€ΡƒΠ³: Π°ΠΊΠΎ ΠΈΠ³Ρ€Π°Ρ‡ стрСля Π² Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π°, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π²Ρ€Π°Π³ΡŠΡ‚ Π΅ Π±ΠΈΠ» Π² ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ, Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ стрСля Π² ΡΡŠΡ‰Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ°, Π²Ρ€Π°Π³ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π²Π΅Ρ‡Π΅ Π΄Π° Π½Π΅ Π΅ Π½Π° Ρ‚ΠΎΠ²Π° място. ΠšΠΎΠΌΠΏΠ΅Π½ΡΠ°Ρ†ΠΈΡΡ‚Π° Π·Π° забавянС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° Ρ€Π΅ΡˆΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС стрСля с ΠΎΡ€ΡŠΠΆΠΈΠ΅, ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π΅ видял Π»ΠΎΠΊΠ°Π»Π½ΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° изстрСла, ΠΈ провСрява Π΄Π°Π»ΠΈ наистина Π΅ могъл Π΄Π° ΡƒΠ΄Π°Ρ€ΠΈ Π²Ρ€Π°Π³Π°. Ако ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΡŠΡ‚ Π΅ β€žΠ΄Π°β€œ, ΡƒΠ΄Π°Ρ€ΡŠΡ‚ сС Π·Π°Ρ‡ΠΈΡ‚Π°, Π΄ΠΎΡ€ΠΈ Π°ΠΊΠΎ Π²Ρ€Π°Π³ΡŠΡ‚ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π² Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚.

Π’ΡŠΠΎΡ€ΡŠΠΆΠ΅Π½ΠΈ с Ρ‚ΠΎΠ²Π° Π·Π½Π°Π½ΠΈΠ΅, Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…ΠΌΠ΅ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ компСнсация Π·Π° забавянС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π² Dino Squad. На ΠΏΡŠΡ€Π²ΠΎ място, Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡŠΡ‚ видя? И ΠΊΠ°ΠΊΠ²ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ трябва Π΄Π° сС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈ? Π’ Π½Π°ΡˆΠ°Ρ‚Π° ΠΈΠ³Ρ€Π° попадСнията ΠΎΡ‚ ΠΎΡ€ΡŠΠΆΠΈΡ ΠΈ способности сС изчисляват Ρ‡Ρ€Π΅Π· ΠΈΠ·Π»ΡŠΡ‡Π²Π°Π½ΠΈΡ ΠΈ наслагвания – тоСст Ρ‡Ρ€Π΅Π· взаимодСйствия с физичСскитС ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ Π½Π° Π²Ρ€Π°Π³Π°. Π‘ΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° Π²ΡŠΠ·ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅ΠΌ позицията Π½Π° Ρ‚Π΅Π·ΠΈ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ β€žΠ²ΠΈΠΆΠ΄Π°ΡˆΠ΅β€œ Π»ΠΎΠΊΠ°Π»Π½ΠΎ, Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. По Ρ‚ΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Unity вСрсия 2018.x. API Π½Π° Ρ„ΠΈΠ·ΠΈΠΊΠ°Ρ‚Π° Ρ‚Π°ΠΌ Π΅ статичСн, физичСският свят ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° Π² Π΅Π΄Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅. Няма Π½Π°Ρ‡ΠΈΠ½ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΄Π° Π³ΠΎ Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΎΡ‚ кутията. И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° правя?

Π Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ бСшС Π½Π° ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚Ρ‚Π°, всички Π½Π΅Π³ΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π²Π΅Ρ‡Π΅ бяха ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΠΎΡ‚ нас Π·Π° Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ:

  1. Π—Π° всСки ΠΊΠ»ΠΈΠ΅Π½Ρ‚ трябва Π΄Π° Π·Π½Π°Π΅ΠΌ ΠΏΠΎ ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅ Π΅ видял ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΡ†ΠΈ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ натиснал ΠΊΠ»Π°Π²ΠΈΡˆΠΈΡ‚Π΅. Π’Π΅Ρ‡Π΅ записахмС Ρ‚Π°Π·ΠΈ информация във входния ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΈ я ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅, Π·Π° Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°Ρ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  2. Врябва Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°ΠΌΠ΅ историята Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. ИмСнно Π² Π½Π΅Π³ΠΎ Ρ‰Π΅ Π΄ΡŠΡ€ΠΆΠΈΠΌ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ ΠΎΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ (ΠΈ слСдоватСлно Ρ‚Π΅Ρ…Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ). Π’Π΅Ρ‡Π΅ ΠΈΠΌΠ°Ρ…ΠΌΠ΅ история Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ я Π·Π° ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π΄Π΅Π»Ρ‚ΠΈ. Познавайки Ρ‚ΠΎΡ‡Π½ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, лСсно Π±ΠΈΡ…ΠΌΠ΅ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π½Π°ΠΌΠ΅Ρ€ΠΈΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π² историята.
  3. Π‘Π΅Π³Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΈΠΌΠ°ΠΌΠ΅ Π² Ρ€ΡŠΠΊΠ° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ историята, трябва Π΄Π° ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° синхронизирамС Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π° със ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° физичСския свят. Π‘ΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ - прСмСстСтС, липсващитС - ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅, Π½Π΅Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ - ΡƒΠ½ΠΈΡ‰ΠΎΠΆΠ΅Ρ‚Π΅. Π’Π°Π·ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡŠΡ‰ΠΎ бСшС Π²Π΅Ρ‡Π΅ написана ΠΈ сС ΡΡŠΡΡ‚ΠΎΠ΅ΡˆΠ΅ ΠΎΡ‚ няколко ECS систСми. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Ρ…ΠΌΠ΅ Π³ΠΎ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°ΠΌΠ΅ няколко стаи Π·Π° ΠΈΠ³Ρ€ΠΈ Π² Π΅Π΄ΠΈΠ½ процСс Π½Π° Unity. И Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ физичСският свят Π΅ Π΅Π΄ΠΈΠ½ Π·Π° процСс, Ρ‚ΠΎΠΉ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ стаитС. ΠŸΡ€Π΅Π΄ΠΈ всСки Ρ‚ΠΈΠΊ Π½Π° симулацията Π½ΠΈΠ΅ β€žΠ½ΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅β€œ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° физичСския свят ΠΈ Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€Π°Ρ…ΠΌΠ΅ ΠΎΡ‚Π½ΠΎΠ²ΠΎ с Π΄Π°Π½Π½ΠΈ Π·Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° стая, ΠΎΠΏΠΈΡ‚Π²Π°ΠΉΠΊΠΈ сС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΎΠ±Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° Unity ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ възмоТно ΠΏΠΎΠ²Π΅Ρ‡Π΅ Ρ‡Ρ€Π΅Π· ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½Π° систСма Π·Π° обСдиняванС. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ остана, бСшС Π΄Π° сС ΠΈΠ·Π²ΠΈΠΊΠ° ΡΡŠΡ‰Π°Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π° ΠΎΡ‚ ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ.

Π‘ΡŠΠ±ΠΈΡ€Π°ΠΉΠΊΠΈ всички Ρ‚Π΅Π·ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π·Π°Π΅Π΄Π½ΠΎ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…ΠΌΠ΅ β€žΠΌΠ°ΡˆΠΈΠ½Π° Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎβ€œ, която ΠΌΠΎΠΆΠ΅ Π΄Π° Π²ΡŠΡ€Π½Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° физичСския свят Π΄ΠΎ точния ΠΌΠΎΠΌΠ΅Π½Ρ‚. ΠšΠΎΠ΄ΡŠΡ‚ сС ΠΎΠΊΠ°Π·Π° прост:

public class TimeMachine : ITimeMachine
{
     //Π˜ΡΡ‚ΠΎΡ€ΠΈΡ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… состояний
     private readonly IGameStateHistory _history;

     //Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ состояниС Π½Π° сСрвСрС
     private readonly ExecutableSystem[] _systems;

     //Набор систСм, Ρ€Π°ΡΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»Π»Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π² физичСском ΠΌΠΈΡ€Π΅ 
     //ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ состояния
     private readonly GameState _presentState;

     public TimeMachine(IGameStateHistory history, GameState presentState, ExecutableSystem[] timeInitSystems)
     {
         _history = history; 
         _presentState = presentState;
         _systems = timeInitSystems;  
     }

     public GameState TravelToTime(int tick)
     {
         var pastState = tick == _presentState.Time ? _presentState : _history.Get(tick);
         foreach (var system in _systems)
         {
             system.Execute(pastState);
         }
         return pastState;
     }
}

Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΎΡΡ‚Π°Π²Π°ΡˆΠ΅, бСшС Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Ρ‚Π°Π·ΠΈ машина, Π·Π° Π΄Π° компСнсирамС лСсно ΡƒΠ΄Π°Ρ€ΠΈΡ‚Π΅ ΠΈ способноститС.

Π’ Π½Π°ΠΉ-простия случай, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° сС основава Π½Π° Π΅Π΄Π½ΠΎ сканиранС Π½Π° ΡƒΠ΄Π°Ρ€ΠΈ, всичко ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ясно: ΠΏΡ€Π΅Π΄ΠΈ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π΄Π° стрСля, Ρ‚ΠΎΠΉ трябва Π΄Π° Π²ΡŠΡ€Π½Π΅ физичСския свят Π΄ΠΎ ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅, Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ raycast, Π΄Π° ΠΏΡ€Π΅Π±Ρ€ΠΎΠΈ ΡƒΠ΄Π°Ρ€ΠΈΡ‚Π΅ ΠΈΠ»ΠΈ пропускитС ΠΈ Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ свСта Π² ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

Но ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ Ρ‚Π°ΠΊΠΈΠ²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΡ†ΠΈ Π² Dino Squad! ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΡ‚ ΠΎΡ€ΡŠΠΆΠΈΡΡ‚Π° Π² ΠΈΠ³Ρ€Π°Ρ‚Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ снаряди - Π΄ΡŠΠ»Π³ΠΎΡ‚Ρ€Π°ΠΉΠ½ΠΈ ΠΊΡƒΡ€ΡˆΡƒΠΌΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ лСтят Π·Π° няколко симулационни ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ (Π² някои случаи дСсСтки ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠΈ). Какво Π΄Π° правя с тях, Π² ΠΊΠΎΠ»ΠΊΠΎ часа Π΄Π° лСтят?

Π’ Π΄Ρ€Π΅Π²Π½Π° статия относно мрСТовия стСк Π½Π° Half-Life, ΠΌΠΎΠΌΡ‡Π΅Ρ‚Π°Ρ‚Π° ΠΎΡ‚ Valve Π·Π°Π΄Π°Π΄ΠΎΡ…Π° ΡΡŠΡ‰ΠΈΡ Π²ΡŠΠΏΡ€ΠΎΡ ΠΈ тСхният ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ бСшС слСдният: компСнсацията Π½Π° Π·Π°ΠΊΡŠΡΠ½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° снаряда Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° ΠΈ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° сС избягва.

НямахмС Ρ‚Π°Π·ΠΈ опция: Π±Π°Π·ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ Π½Π° снаряди ΠΎΡ€ΡŠΠΆΠΈΡ бяха ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π° характСристика Π½Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Π’Π°ΠΊΠ° Ρ‡Π΅ Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° измислим Π½Π΅Ρ‰ΠΎ. Π‘Π»Π΅Π΄ извСстно обмислянС Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΄Π²Π΅ ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ…Π°:

1. ΠžΠ±Π²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ снаряда с Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎ Π΅ създал. ВсСки Ρ‚ΠΈΠΊ Π½Π° симулацията Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Π·Π° всСки ΠΊΡƒΡ€ΡˆΡƒΠΌ Π½Π° всСки ΠΈΠ³Ρ€Π°Ρ‡, Π½ΠΈΠ΅ Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ физичСския свят Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°ΠΌΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ изчислСния. Π’ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈΠΌΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΏΠΎΠ»Π΅Ρ‚Π° Π½Π° снарядитС. ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚Ρ‚Π° бСшС особСно Π²Π°ΠΆΠ½Π° Π·Π° нас, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ всички снаряди, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ враТСскитС снаряди, са ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Как Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° балистичното изчислСниС Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ стрСлСц с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компСнсиранС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ забавянС
На снимката ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π½Π° Ρ‚ΠΈΠΊ 30 изстрСлва Ρ€Π°ΠΊΠ΅Ρ‚Π° Π² ΠΎΡ‡Π°ΠΊΠ²Π°Π½Π΅: Ρ‚ΠΎΠΉ Π²ΠΈΠΆΠ΄Π° Π² ΠΊΠ°ΠΊΠ²Π° посока бяга Π²Ρ€Π°Π³ΡŠΡ‚ ΠΈ Π·Π½Π°Π΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»Π½Π°Ρ‚Π° скорост Π½Π° Ρ€Π°ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Π›ΠΎΠΊΠ°Π»Π½ΠΎ Ρ‚ΠΎΠΉ Π²ΠΈΠΆΠ΄Π°, Ρ‡Π΅ Π΅ ΡƒΡ†Π΅Π»ΠΈΠ» Ρ†Π΅Π»Ρ‚Π° Π½Π° 33-ия Ρ‚ΠΈΠΊ. Π‘Π»Π°Π³ΠΎΠ΄Π°Ρ€Π΅Π½ΠΈΠ΅ Π½Π° компСнсацията Π·Π° забавянС, Ρ‚ΠΎΠΉ ΡΡŠΡ‰ΠΎ Ρ‰Π΅ сС появи Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°

2. ΠŸΡ€Π°Π²ΠΈΠΌ всичко ΡΡŠΡ‰ΠΎΡ‚ΠΎ ΠΊΠ°Ρ‚ΠΎ Π² ΠΏΡŠΡ€Π²ΠΈΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Π½ΠΎ слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€Π΅Π±Ρ€ΠΎΠΈΠΌ Π΅Π΄ΠΈΠ½ Ρ‚ΠΈΠΊ ΠΎΡ‚ симулацията Π½Π° ΠΊΡƒΡ€ΡˆΡƒΠΌ, Π½ΠΈΠ΅ Π½Π΅ спирамС, Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Π²Π°ΠΌΠ΅ Π΄Π° симулирамС ΠΏΠΎΠ»Π΅Ρ‚Π° ΠΌΡƒ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΡΡŠΡ‰ΠΈΡ Ρ‚ΠΈΠΊ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠ°Ρ‚ΠΎ всСки ΠΏΡŠΡ‚ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ°Π²Π°ΠΌΠ΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ си Π΄ΠΎ ΡΡŠΡ€Π²ΡŠΡ€Π° Π΅Π΄Π½Π° ΠΏΠΎ Π΅Π΄Π½Π° ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€Π°. ΠŸΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ Π½Π΅ сС случи Π΅Π΄Π½ΠΎ ΠΎΡ‚ Π΄Π²Π΅Ρ‚Π΅ Π½Π΅Ρ‰Π°:

  • ΠšΡƒΡ€ΡˆΡƒΠΌΡŠΡ‚ Π΅ с ΠΈΠ·Ρ‚Π΅ΠΊΡŠΠ» срок Π½Π° годност. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ изчислСнията са ΠΏΡ€ΠΈΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π±Ρ€ΠΎΠΈΠΌ пропуск ΠΈΠ»ΠΈ ΠΏΠΎΠΏΠ°Π΄Π΅Π½ΠΈΠ΅. И Ρ‚ΠΎΠ²Π° Π΅ Π½Π° ΡΡŠΡ‰ΠΈΡ Ρ‚ΠΈΠΊ, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ ΠΈΠ·ΡΡ‚Ρ€Π΅Π»ΡŠΡ‚! Π—Π° нас Ρ‚ΠΎΠ²Π° бСшС ΠΈ плюс, ΠΈ минус. Плюс - Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π·Π° стрСлящия ΠΈΠ³Ρ€Π°Ρ‡ Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»ΠΈ забавянСто ΠΌΠ΅ΠΆΠ΄Ρƒ ΡƒΠ΄Π°Ρ€Π° ΠΈ намаляванСто Π½Π° Π·Π΄Ρ€Π°Π²Π΅Ρ‚ΠΎ Π½Π° Π²Ρ€Π°Π³Π°. ΠΠ΅Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΠΊΡŠΡ‚ Π΅, Ρ‡Π΅ ΡΡŠΡ‰ΠΈΡΡ‚ Π΅Ρ„Π΅ΠΊΡ‚ сС наблюдава, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΡ†ΠΈΡ‚Π΅ стрСлят ΠΏΠΎ ΠΈΠ³Ρ€Π°Ρ‡Π°: ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°, Ρ‡Π΅ Π²Ρ€Π°Π³ΡŠΡ‚ Π΅ изстрСлял само Π±Π°Π²Π½Π° Ρ€Π°ΠΊΠ΅Ρ‚Π° ΠΈ Ρ‰Π΅Ρ‚ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са ΠΏΡ€Π΅Π±Ρ€ΠΎΠ΅Π½ΠΈ.
  • ΠšΡƒΡ€ΡˆΡƒΠΌΡŠΡ‚ достигна Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’ Ρ‚ΠΎΠ·ΠΈ случай Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° симулация Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π² слСдващия Ρ‚ΠΈΠΊ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²Π° компСнсация Π·Π° забавянС. Π—Π° Π±Π°Π²Π½ΠΈ снаряди Ρ‚ΠΎΠ²Π° Ρ‚Π΅ΠΎΡ€Π΅Ρ‚ΠΈΡ‡Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈ броя Π½Π° физичСскитС Π²Ρ€ΡŠΡ‰Π°Π½ΠΈΡ Π½Π°Π·Π°Π΄ Π² сравнСниС с ΠΏΡŠΡ€Π²ΠΈΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π΅Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΡ‚ΠΎ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° симулацията сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ: ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ ΠΈΠ»ΠΈ бСшС Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, ΠΈΠ»ΠΈ Π² Π΅Π΄ΠΈΠ½ Ρ‚ΠΈΠΊ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈΠ·Ρ‡ΠΈΡΠ»ΡΠ²Π°ΡˆΠ΅ Π΄ΡƒΠ·ΠΈΠ½Π° симулационни Ρ‚ΠΈΠΊΠΎΠ²Π΅ Π·Π° няколко ΠΊΡƒΡ€ΡˆΡƒΠΌΠ°.

Как Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° балистичното изчислСниС Π·Π° ΠΌΠΎΠ±ΠΈΠ»Π΅Π½ стрСлСц с Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΡŠΠΌ Π·Π° компСнсиранС Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ забавянС
Π‘ΡŠΡ‰ΠΈΡΡ‚ сцСнарий ΠΊΠ°Ρ‚ΠΎ Π² ΠΏΡ€Π΅Π΄ΠΈΡˆΠ½Π°Ρ‚Π° снимка, Π½ΠΎ изчислСн спорСд Π²Ρ‚ΠΎΡ€Π°Ρ‚Π° схСма. Π Π°ΠΊΠ΅Ρ‚Π°Ρ‚Π° Π΅ β€žΠ½Π°ΡΡ‚ΠΈΠ³Π½Π°Π»Π°β€œ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Π½Π° ΡΡŠΡ‰ΠΈΡ Ρ‚ΠΈΠΊ, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π½Π°ΡΡ‚ΡŠΠΏΠΈΠ» ΠΈΠ·ΡΡ‚Ρ€Π΅Π»ΡŠΡ‚, ΠΈ ΠΏΠΎΠΏΠ°Π΄Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅Π½ΠΎ ΠΎΡ‰Π΅ Π½Π° слСдващия Ρ‚ΠΈΠΊ. На 31-ия Ρ‚ΠΈΠΊ Π² Ρ‚ΠΎΠ·ΠΈ случай Π²Π΅Ρ‡Π΅ Π½Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° компСнсация Π·Π° забавянС

Π’ Π½Π°ΡˆΠ°Ρ‚Π° рСализация Ρ‚Π΅Π·ΠΈ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ…Π° само Π² няколко Ρ€Π΅Π΄Π° ΠΊΠΎΠ΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΈ Π΄Π²Π°Ρ‚Π° ΠΈ дълго Π²Ρ€Π΅ΠΌΠ΅ Ρ‚Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ…Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ. Π’ зависимост ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΎΡ€ΡŠΠΆΠΈΠ΅Ρ‚ΠΎ ΠΈ скоростта Π½Π° ΠΊΡƒΡ€ΡˆΡƒΠΌΠ°, Π½ΠΈΠ΅ ΠΈΠ·Π±ΠΈΡ€Π°Ρ…ΠΌΠ΅ Π΅Π΄Π½Π° ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³Π° опция Π·Π° всСки Π΄ΠΈΠ½ΠΎΠ·Π°Π²ΡŠΡ€. ΠŸΠΎΠ²Ρ€Π°Ρ‚Π½Π°Ρ‚Π° Ρ‚ΠΎΡ‡ΠΊΠ° Ρ‚ΡƒΠΊ бСшС появата Π² ΠΈΠ³Ρ€Π°Ρ‚Π° Π½Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° ΠΊΠ°Ρ‚ΠΎ β€žΠ°ΠΊΠΎ ΡƒΠ΄Π°Ρ€ΠΈΡ‚Π΅ Π²Ρ€Π°Π³Π° Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡŠΡ‚ΠΈ Π² Ρ‚Π°ΠΊΠΎΠ²Π° ΠΈ Ρ‚Π°ΠΊΠΎΠ²Π° Π²Ρ€Π΅ΠΌΠ΅, Π²Π·Π΅ΠΌΠ΅Ρ‚Π΅ Ρ‚Π°ΠΊΡŠΠ² ΠΈ Ρ‚Π°ΠΊΡŠΠ² Π±ΠΎΠ½ΡƒΡβ€œ. Всяка ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°, ΠΏΡ€ΠΈ която Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ удря Π²Ρ€Π°Π³Π°, ΠΈΠ³Ρ€Π°Π΅ΡˆΠ΅ Π²Π°ΠΆΠ½Π° роля, ΠΎΡ‚ΠΊΠ°Π·Π° Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с втория ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π’Π°ΠΊΠ° Ρ‡Π΅ Π² ΠΊΡ€Π°ΠΉΠ½Π° смСтка ΠΈΠ·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΏΡŠΡ€Π²Π°Ρ‚Π° опция ΠΈ тя Π²Π΅Ρ‡Π΅ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π·Π° всички ΠΎΡ€ΡŠΠΆΠΈΡ ΠΈ всички Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ способности Π² ΠΈΠ³Ρ€Π°Ρ‚Π°.

ΠžΡ‚Π΄Π΅Π»Π½ΠΎ си струва Π΄Π° ΠΏΠΎΠ²Π΄ΠΈΠ³Π½Π΅ΠΌ Π²ΡŠΠΏΡ€ΠΎΡΠ° Π·Π° производитСлността. Ако смятатС, Ρ‡Π΅ всичко Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π·Π°Π±Π°Π²ΠΈ Π½Π΅Ρ‰Π°Ρ‚Π°, отговарям: Ρ‚Π°ΠΊΠ° Π΅. Unity Π΅ доста Π±Π°Π²Π΅Π½ Π² прСмСстванСто Π½Π° ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈΠΌ. Π’ Dino Squad, Π² "Π½Π°ΠΉ-лошия" сцСнарий, ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ° няколкостотин снаряда, ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π² Π±ΠΈΡ‚ΠΊΠ°. ΠŸΡ€Π΅ΠΌΠ΅ΡΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈ Π·Π° ΠΎΡ‚Ρ‡ΠΈΡ‚Π°Π½Π΅ Π½Π° всСки снаряд ΠΏΠΎΠΎΡ‚Π΄Π΅Π»Π½ΠΎ Π΅ Π½Π΅ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ лукс. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ бСшС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° свСдСм Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ броя Π½Π° физичСскитС β€žΠ²Ρ€ΡŠΡ‰Π°Π½ΠΈΡ Π½Π°Π·Π°Π΄β€œ. Π—Π° Ρ†Π΅Π»Ρ‚Π° ΡΡŠΠ·Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π² ECS, Π² ΠΊΠΎΠΉΡ‚ΠΎ записвамС Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°. Π”ΠΎΠ±Π°Π²ΠΈΡ…ΠΌΠ΅ Π³ΠΎ към всички ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ изискват компСнсация Π·Π° забавянС (снаряди, способности ΠΈ Ρ‚.Π½.). ΠŸΡ€Π΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Ρ‚Π°ΠΊΠΈΠ²Π° ΠΎΠ±Π΅ΠΊΡ‚ΠΈ, Π½ΠΈΠ΅ Π³ΠΈ Π³Ρ€ΡƒΠΏΠΈΡ€Π°ΠΌΠ΅ Π΄ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈ Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ Π·Π°Π΅Π΄Π½ΠΎ, Π²Ρ€ΡŠΡ‰Π°ΠΉΠΊΠΈ физичСския свят вСднъТ Π·Π° всСки ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ ΠΈΠΌΠ°ΠΌΠ΅ ΠΊΠ°Ρ‚ΠΎ цяло Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° систСма. НСговият ΠΊΠΎΠ΄ Π² ΠΌΠ°Π»ΠΊΠΎ опростСна Ρ„ΠΎΡ€ΠΌΠ°:

public sealed class LagCompensationSystemGroup : ExecutableSystem
{
     //Машина Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
     private readonly ITimeMachine _timeMachine;

     //Набор систСм лагкомпСнсации
     private readonly LagCompensationSystem[] _systems;
     
     //Наша рСализация кластСризатора
     private readonly TimeTravelMap _travelMap = new TimeTravelMap();

    public LagCompensationSystemGroup(ITimeMachine timeMachine, 
        LagCompensationSystem[] lagCompensationSystems)
     {
         _timeMachine = timeMachine;
         _systems = lagCompensationSystems;
     }

     public override void Execute(GameState gs)
     {
         //На Π²Ρ…ΠΎΠ΄ кластСризатор ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ΅ состояниС,
         //Π° Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄ Π²Ρ‹Π΄Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Β«ΠΊΠΎΡ€Π·ΠΈΠ½Β». Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€Π·ΠΈΠ½Π΅ Π»Π΅ΠΆΠ°Ρ‚ энтити,
         //ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ для лагкомпСнсации Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ врСмя ΠΈΠ· истории.
         var buckets = _travelMap.RefillBuckets(gs);

         for (int bucketIndex = 0; bucketIndex < buckets.Count; bucketIndex++)
         {
             ProcessBucket(gs, buckets[bucketIndex]);
         }

         //Π’ ΠΊΠΎΠ½Ρ†Π΅ лагкомпСнсации ΠΌΡ‹ восстанавливаСм физичСский ΠΌΠΈΡ€ 
         //Π² исходноС состояниС
         _timeMachine.TravelToTime(gs.Time);
     }

     private void ProcessBucket(GameState presentState, TimeTravelMap.Bucket bucket)
     {
         //ΠžΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅ΠΌ врСмя ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹
         var pastState = _timeMachine.TravelToTime(bucket.Time);

         foreach (var system in _systems)
         {
               system.PastState = pastState;
               system.PresentState = presentState;

               foreach (var entity in bucket)
               {
                   system.Execute(entity);
               }
          }
     }
}

Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ остана, бСшС Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ подробноститС:

1. Π Π°Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π΄Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚Π΅ максималното разстояниС Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ.

Π—Π° нас бСшС Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ³Ρ€Π°Ρ‚Π° възмоТно Π½Π°ΠΉ-Π΄ΠΎΡΡ‚ΡŠΠΏΠ½Π° Π² условия Π½Π° лоши ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΌΡ€Π΅ΠΆΠΈ, Π·Π°Ρ‚ΠΎΠ²Π° ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ…ΠΌΠ΅ историята с ΠΌΠ°Ρ€ΠΆ ΠΎΡ‚ 30 Ρ‚ΠΈΠΊΡ‡Π΅Ρ‚Π° (с чСстота Π½Π° Ρ‚ΠΈΠΊΠΎΠ²Π΅Ρ‚Π΅ 20 Hz). Π’ΠΎΠ²Π° позволява Π½Π° ΠΈΠ³Ρ€Π°Ρ‡ΠΈΡ‚Π΅ Π΄Π° удрят ΠΎΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π΄ΠΎΡ€ΠΈ ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ висок ΠΏΠΈΠ½Π³.

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ ΠΊΠΎΠΈ ΠΎΠ±Π΅ΠΊΡ‚ΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ прСмСстСни във Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ ΠΈ ΠΊΠΎΠΈ Π½Π΅.

НиС, Ρ€Π°Π·Π±ΠΈΡ€Π° сС, Π΄Π²ΠΈΠΆΠΈΠΌ Π½Π°ΡˆΠΈΡ‚Π΅ ΠΎΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ. Но ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΠΈΡ‚Π΅ Π΅Π½Π΅Ρ€Π³ΠΈΠΉΠ½ΠΈ Ρ‰ΠΈΡ‚ΠΎΠ²Π΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ са. Π Π΅ΡˆΠΈΡ…ΠΌΠ΅, Ρ‡Π΅ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° Π΄Π°Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π½ΠΈΡ‚Π΅ способности, ΠΊΠ°ΠΊΡ‚ΠΎ чСсто сС ΠΏΡ€Π°Π²ΠΈ Π² ΠΎΠ½Π»Π°ΠΉΠ½ ΡˆΡƒΡ‚ΡŠΡ€ΠΈΡ‚Π΅. Ако ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ Π²Π΅Ρ‡Π΅ Π΅ поставил Ρ‰ΠΈΡ‚ Π² настоящСто, ΠΊΡƒΡ€ΡˆΡƒΠΌΠΈ ΠΎΡ‚ ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ с компСнсация Π½Π° забавянСто Π½Π΅ трябва Π΄Π° лСтят ΠΏΡ€Π΅Π· Π½Π΅Π³ΠΎ.

3. Π Π΅ΡˆΠ΅Ρ‚Π΅ Π΄Π°Π»ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° компСнсиратС способноститС Π½Π° Π΄ΠΈΠ½ΠΎΠ·Π°Π²Ρ€ΠΈΡ‚Π΅: ΡƒΡ…Π°ΠΏΠ²Π°Π½Π΅, ΡƒΠ΄Π°Ρ€ с опашка ΠΈ Ρ‚.Π½. Π Π΅ΡˆΠΈΡ…ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈ Π³ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ ΠΏΠΎ ΡΡŠΡ‰ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΊΠ°Ρ‚ΠΎ ΠΊΡƒΡ€ΡˆΡƒΠΌΠΈΡ‚Π΅.

4. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ с ΠΊΠΎΠ»Π°ΠΉΠ΄ΡŠΡ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, Π·Π° ΠΊΠΎΠ³ΠΎΡ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° компСнсация Π½Π° изоставанСто. Π’ Π΄ΠΎΠ±ΡŠΡ€ смисъл тяхната позиция Π½Π΅ трябва Π΄Π° сС измСства Π² ΠΌΠΈΠ½Π°Π»ΠΎΡ‚ΠΎ: ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ трябва Π΄Π° Π²ΠΈΠΆΠ΄Π° сСбС си Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ сСга Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π½ΠΈΠ΅ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²Ρ€ΡŠΡ‰Π°ΠΌΠ΅ Π½Π°Π·Π°Π΄ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° стрСлящия ΠΈΠ³Ρ€Π°Ρ‡ ΠΈ ΠΈΠΌΠ° няколко ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° Ρ‚ΠΎΠ²Π°.

ΠŸΡŠΡ€Π²ΠΎ, подобрява Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ: ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ физичСско ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π·Π° всички ΠΈΠ³Ρ€Π°Ρ‡ΠΈ с Π±Π»ΠΈΠ·ΠΊΠΈ ΠΏΠΈΠ½Π³ΠΎΠ²Π΅.

Π’Ρ‚ΠΎΡ€ΠΎ, във всички Π»ΡŠΡ‡Π΅Π²ΠΈ прСдавания ΠΈ припокривания Π½ΠΈΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π²Π°ΠΌΠ΅ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΈΡ‚Π΅ΠΆΠ°Π²Π° способноститС ΠΈΠ»ΠΈ снарядитС. Π’ Dino Squad ΠΈΠ³Ρ€Π°Ρ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚ Π΄ΠΈΠ½ΠΎΠ·Π°Π²Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ доста нСстандартна гСомСтрия спорСд стандартитС Π½Π° стрСлцитС. Π”ΠΎΡ€ΠΈ Π°ΠΊΠΎ ΠΈΠ³Ρ€Π°Ρ‡ΡŠΡ‚ стрСля ΠΏΠΎΠ΄ Π½Π΅ΠΎΠ±ΠΈΡ‡Π°Π΅Π½ ъгъл ΠΈ траСкторията Π½Π° ΠΊΡƒΡ€ΡˆΡƒΠΌΠ° ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· Π΄ΠΈΠ½ΠΎΠ·Π°Π²ΡŠΡ€ ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€Π° Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, ΠΊΡƒΡ€ΡˆΡƒΠΌΡŠΡ‚ Ρ‰Π΅ Π³ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°.

Π’Ρ€Π΅Ρ‚ΠΎ, Π½ΠΈΠ΅ изчислявамС ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈΡ‚Π΅ Π½Π° ΠΎΡ€ΡŠΠΆΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΈΠ½ΠΎΠ·Π°Π²ΡŠΡ€Π° ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°Ρ‚Π° Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° способността, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ECS Π΄ΠΎΡ€ΠΈ ΠΏΡ€Π΅Π΄ΠΈ Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° компСнсацията Π½Π° забавянСто.

Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Ρ€Π΅Π°Π»Π½Π°Ρ‚Π° позиция Π½Π° ΠΊΠΎΠ»Π°ΠΉΠ΄Π΅Ρ€ΠΈΡ‚Π΅ Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π° с компСнсиран Π»Π°Π³ Π½Π΅ Π΅ Π²Π°ΠΆΠ½Π° Π·Π° нас, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΠΎΠ΅Ρ…ΠΌΠ΅ ΠΏΠΎ-ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈ Π² ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ ΠΏΠΎ-прост ΠΏΡŠΡ‚.

ЛатСнтността Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π΅ ΠΌΠΎΠΆΠ΅ просто Π΄Π° бъдС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π°Ρ‚Π°, тя ΠΌΠΎΠΆΠ΅ само Π΄Π° бъдС маскирана. ΠšΠ°ΠΊΡ‚ΠΎ всСки Π΄Ρ€ΡƒΠ³ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΏΡ€ΠΈΠΊΡ€ΠΈΠ²Π°Π½Π΅, компСнсацията Π½Π° забавянСто Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈΠΌΠ° своитС компромиси. ΠŸΠΎΠ΄ΠΎΠ±Ρ€ΡΠ²Π° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΡ‚ΠΎ изТивяванС Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, ΠΊΠΎΠΉΡ‚ΠΎ стрСля, Π·Π° смСтка Π½Π° ΠΈΠ³Ρ€Π°Ρ‡Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ сС стрСля. Π—Π° Dino Squad ΠΎΠ±Π°Ρ‡Π΅ ΠΈΠ·Π±ΠΎΡ€ΡŠΡ‚ Ρ‚ΡƒΠΊ бСшС ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½.

Π Π°Π·Π±ΠΈΡ€Π° сС, всичко Ρ‚ΠΎΠ²Π° Ρ‚Ρ€ΡΠ±Π²Π°ΡˆΠ΅ Π΄Π° бъдС ΠΏΠ»Π°Ρ‚Π΅Π½ΠΎ ΠΈ ΠΎΡ‚ ΠΏΠΎΠ²ΠΈΡˆΠ΅Π½Π°Ρ‚Π° слоТност Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΊΠ°Ρ‚ΠΎ цяло - ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° програмисти, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΈ Π½Π° ΠΈΠ³Ρ€ΠΈ. Ако ΠΏΠΎ-Ρ€Π°Π½ΠΎ симулацията бСшС просто послСдоватСлно ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° систСми, Ρ‚ΠΎΠ³Π°Π²Π° с компСнсация Π½Π° забавянС Π² нСя сС появиха Π²Π»ΠΎΠΆΠ΅Π½ΠΈ Ρ†ΠΈΠΊΠ»ΠΈ ΠΈ ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅. ОсвСн Ρ‚ΠΎΠ²Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡ…ΠΌΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ усилия, Π·Π° Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΡƒΠ΄ΠΎΠ±Π΅Π½ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π’ΡŠΠ² вСрсията ΠΎΡ‚ 2019 Π³. (ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎ-Ρ€Π°Π½ΠΎ) Unity Π΄ΠΎΠ±Π°Π²ΠΈ пълна ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° нСзависими физичСски сцСни. НиС Π³ΠΈ Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π΄Π½Π°Π³Π° слСд актуализацията, Π·Π°Ρ‰ΠΎΡ‚ΠΎ искахмС Π±ΡŠΡ€Π·ΠΎ Π΄Π° сС ΠΎΡ‚ΡŠΡ€Π²Π΅ΠΌ ΠΎΡ‚ физичСския свят, ΠΎΠ±Ρ‰ Π·Π° всички стаи.

Π”Π°Π΄ΠΎΡ…ΠΌΠ΅ Π½Π° всяка ΠΈΠ³Ρ€Π°Π»Π½Π° Π·Π°Π»Π° своя собствСна физичСска сцСна ΠΈ ΠΏΠΎ Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°Ρ…ΠΌΠ΅ нСобходимостта ΠΎΡ‚ β€žΠΈΠ·Ρ‡ΠΈΡΡ‚Π²Π°Π½Π΅β€œ Π½Π° сцСната ΠΎΡ‚ Π΄Π°Π½Π½ΠΈΡ‚Π΅ Π½Π° ΡΡŠΡΠ΅Π΄Π½Π°Ρ‚Π° стая, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° изчислим симулацията. ΠŸΡŠΡ€Π²ΠΎ, Ρ‚ΠΎΠ²Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ производитСлността. Π’Ρ‚ΠΎΡ€ΠΎ, Ρ‚ΠΎΠ²Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно Π΄Π° сС ΠΎΡ‚ΡŠΡ€Π²Π΅Ρ‚Π΅ ΠΎΡ‚ цял ​​клас Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡŠΠ·Π½ΠΈΠΊΠ½Π°Ρ…Π°, Π°ΠΊΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡΡ‚ΡŠΡ‚ Π½Π°ΠΏΡ€Π°Π²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ° Π² ΠΊΠΎΠ΄Π° Π·Π° почистванС Π½Π° сцСната ΠΏΡ€ΠΈ добавянС Π½Π° Π½ΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π½Π° ΠΈΠ³Ρ€Π°Ρ‚Π°. Π’Π°ΠΊΠΈΠ²Π° Π³Ρ€Π΅ΡˆΠΊΠΈ бяха Ρ‚Ρ€ΡƒΠ΄Π½ΠΈ Π·Π° отстраняванС ΠΈ Ρ‚Π΅ чСсто Π²ΠΎΠ΄Π΅Ρ…Π° Π΄ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° физичСски ΠΎΠ±Π΅ΠΊΡ‚ΠΈ Π² сцСната Π½Π° Π΅Π΄Π½Π° стая, β€žΠΏΡ€Π΅Π»ΠΈΠ²Π°Ρ‰Π°β€œ Π² Π΄Ρ€ΡƒΠ³Π° стая.

ОсвСн Ρ‚ΠΎΠ²Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…ΠΌΠ΅ някои изслСдвания Π΄Π°Π»ΠΈ физичСскитС сцСни ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° историята Π½Π° физичСския свят. ВоСст, условно, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Ρ‚Π΅ Π½Π΅ Π΅Π΄Π½Π° сцСна Π·Π° всяка стая, Π° 30 сцСни ΠΈ Π½Π°ΠΏΡ€Π°Π²Π΅Ρ‚Π΅ ΠΎΡ‚ тях Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π΅Π½ Π±ΡƒΡ„Π΅Ρ€, Π² ΠΊΠΎΠΉΡ‚ΠΎ Π΄Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Ρ‚Π΅ историята. ΠšΠ°Ρ‚ΠΎ цяло опцията сС ΠΎΠΊΠ°Π·Π° Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π°, Π½ΠΎ Π½Π΅ я Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅: Π½Π΅ ΠΏΠΎΠΊΠ°Π·Π° Π»ΡƒΠ΄ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° производитСлността, Π½ΠΎ изисквашС доста рисковани ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. Π‘Π΅ΡˆΠ΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ΠΈ ΠΊΠ°ΠΊ Ρ‰Π΅ сС Π΄ΡŠΡ€ΠΆΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ дълго Π²Ρ€Π΅ΠΌΠ΅ с Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° ΠΌΠ½ΠΎΠ³ΠΎ сцСни. Π—Π°Ρ‚ΠΎΠ²Π° слСдвахмС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ: β€žΠΠΊΠΎ Π½Π΅ сС счупи, Π½Π΅ Π³ΠΎ отстранявайтС".

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€