ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ
ΠΠ°ΠΊ Π·Π° 3 Π΄Π½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π΄Π»Ρ Π½ΠΎΠ²Π΅Π»Π»
ΠΠ΄Π½ΠΈΠΌ Π΄ΠΎΠΆΠ΄Π»ΠΈΠ²ΡΠΌ ΠΏΠΈΡΠ΅ΡΡΠΊΠΈΠΌ Π΄Π½Π΅ΠΌ ΠΌΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² UE4 ΠΏΠ΅ΡΠ΅ΡΡΠ°Π» Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ, ΠΈ ΠΈΠ·-Π·Π° ΡΡΠΎΠ³ΠΎ Ρ Π·Π°Ρ
ΠΎΡΠ΅Π» ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ. Π ΠΎΠ΄Π½Π° Π½ΠΎΠ²Π΅Π»Π»Π° ΠΏΠΎΠ΄ΡΠΎΠ»ΠΊΠ½ΡΠ»Π° ΠΌΠ΅Π½Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ Π½ΠΎΠ²Π΅Π»Π». ΠΡΠ»ΠΈ Π²Π°ΠΌ Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠ·Π½Π°ΡΡ ΠΏΠΎΠ±ΠΎΠ»ΡΡΠ΅ ΠΈ Π²Ρ Π½Π΅ Π±ΠΎΠΈΡΠ΅ΡΡ goto, gosub ΠΈ Π΄ΡΡΠ³ΠΈΡ
ΡΠΆΠ°ΡΠΎΠ², Π΄ΠΎΠ±ΡΠΎ ΠΏΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ ΠΊΠ°Ρ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΡΠΎΡ ΠΆΠ΅ Π΄ΡΡΠ³ Π·Π½Π°Ρ, ΡΡΠΎ Ρ ΠΏΡΡΠ°ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ³ΡΡ ΡΠΆΠ΅ ΡΡΠ΅ΡΠΈΠΉ ΠΌΠ΅ΡΡΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠΈΠ» ΠΌΠ½Π΅ ΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΠ°ΡΠ°Π²Ρ Π½Π° iPad Π±Π΅Π· Jailbreak. ΠΡΠ±ΠΎΡ ΠΏΠ°Π» Π½Π° smart BASIC, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΡΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΡΠΆΠ΅ ΠΏΠΎΠ»ΡΠΎΡΠ° Π³ΠΎΠ΄Π° ΠΈ Π·Π½Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΡΠ°ΠΊΠΆΠ΅ Ρ smart BASIC Π΅ΡΡΡ SDK Π΄Π»Ρ XCode).
Π‘ΡΠ°Π·Ρ ΠΆΠ΅ Π±ΡΠ» ΡΠΊΠ°ΡΠ°Π½ Π°ΡΡ ΠΈΠ² ΡΠΎ Π²ΡΠ΅ΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ³ΡΡ ΠΊΡΠΎΠΌΠ΅ ΡΠ΅ΠΊΡΡΠ°. ΠΠΎ Π½ΠΈ ΠΎΠ½ Π½Π΅ Ρ Π½Π΅ Π·Π½Π°Π»ΠΈ, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠΊΡ 2. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°
1. Π’Π΅ΠΊΡΡ
Π€Π°ΠΉΠ» Katawa Shoujo Port.txt Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄Π³ΡΡΠΆΠ°ΡΡ Π²ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ.
Π€Π°ΠΉΠ» colorcodes.txt Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ RGB ΡΠ²Π΅ΡΠ° ΠΈΠΌΠ΅Π½ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠ°, Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΡΠΌΡ Π‘ΠΈΠ΄Π·ΡΠ½Ρ ΠΈ Π΅Π΅ ΡΠΈΠ½Π΅Π΅ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅:
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Ρ, ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΠΏΠΎΠΊΠ°Π·Π° ΡΠ΅ΠΊΡΡΠ°. Π ΠΠ°ΡΠ°Π²Π΅, ΠΊΠ°ΠΊ ΠΈ Π² Π»ΡΠ±ΠΎΠΉ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ Π½ΠΎΠ²Π΅Π»Π»Π΅, ΡΠ΅ΠΊΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π² ΠΏΠΎΠ»Π΅, ΠΈ Π½Π°Π΄ ΡΠ΅ΠΊΡΡΠΎΠΌ ΠΏΠΈΡΠ΅ΡΡΡ ΠΈΠΌΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, ΠΎΡ ΡΡΠ΅Π³ΠΎ Π»ΠΈΡΠ° ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ.
ΠΠ° ΡΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ speak.txt.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π² ΡΠ°ΠΉΠ» load.txt Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π» Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠΏΡΠ°ΠΉΡΠ° bg-say.png (ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊ) ΠΈ ΡΡΠΈΡΡΠ° playtime_cyrillic:
ΠΠΎΡΠ»Π΅ Ρ ΡΠ΅ΡΠΈΠ» ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΠΊΡΠΈΠΏΡΠ΅ ΡΡΠ΅Π½Π°ΡΠΈΡ Π·Π½Π°ΠΊ β|β ΠΊΠ°ΠΊ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠ΅Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²ΡΠΎΡΠΈΡΠ½ΠΎΠΉ ΡΠ΅Π»ΠΈ, Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈ Π°ΡΡΡΠΈΠ±ΡΡΠ°.
ΠΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° C++
ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ ΠΠΆΠ΅ΡΡΠ° ΠΡΠ΅ΡΠΈΠ½Π³Π° (Jeff Preshing) How to Write Your Own C++ Game Engine.
ΠΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° C++
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π²ΡΠ΅ΠΌΡ Ρ Π·Π°Π½ΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΏΠΈΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° C++. Π― ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΈΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠΉ ΠΈΠ³ΡΡ Hop Out. ΠΠΎΡ ΡΠΎΠ»ΠΈΠΊ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Ρ ΠΌΠΎΠ΅Π³ΠΎ iPhone 6. (ΠΠΎΠΆΠ΅ΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ Π·Π²ΡΠΊ!)
Hop Out β ΡΠ° ΠΈΠ³ΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΌΠ½Π΅ Ρ ΠΎΡΠ΅ΡΡΡ ΠΈΠ³ΡΠ°ΡΡ ΡΠ°ΠΌΠΎΠΌΡ: ΡΠ΅ΡΡΠΎ-Π°ΡΠΊΠ°Π΄Π° Ρ ΠΌΡΠ»ΡΡΡΡΠ½ΠΎΠΉ 3D-Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ. Π¦Π΅Π»Ρ ΠΈΠ³ΡΡ β ΠΏΠ΅ΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΠΏΠ»Π°ΡΡΠΎΡΠΌ, ΠΊΠ°ΠΊ Π² Q*Bert.
Hop Out Π²ΡΡ Π΅ΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, Π½ΠΎ Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ Π΅Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π·ΡΠ΅Π»ΡΠ΅ ΠΎΡΠ΅ΡΡΠ°Π½ΠΈΡ, ΡΠ°ΠΊ ΡΡΠΎ Ρ ΡΠ΅ΡΠΈΠ» ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π·Π΄Π΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΎΠ²Π΅ΡΠ°ΠΌΠΈ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π²ΠΈΠΆΠΊΠ°.
Π‘ ΡΠ΅Π³ΠΎ Π±Ρ ΠΊΠΎΠΌΡ-ΡΠΎ Ρ ΠΎΡΠ΅ΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ? ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΈΡΠΈΠ½ ΠΌΠ½ΠΎΠ³ΠΎ:
ΠΠ³ΡΠΎΠ²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Π² 2017-ΠΎΠΌ β ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅, ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΈ ΠΠ β ΠΎΡΠ΅Π½Ρ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΠΏΠΎΡ ΠΎΠΆΠΈ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅ΡΡΠ°Π»Π° Π±ΡΡΡ Π±ΠΎΡΡΠ±ΠΎΠΉ ΡΠΎ ΡΠ»Π°Π±ΡΠΌ ΠΈ ΡΠ΅Π΄ΠΊΠΈΠΌ ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ Π±ΡΠ»ΠΎ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ. ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΡΠΊΠΎΡΠ΅Π΅ Π±ΠΎΡΡΠ±Π° ΡΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΎΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠ²ΠΎΡΠΈΡΡ ΠΌΠΎΠ½ΡΡΡΠ°! ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ Π²ΡΠ΅ ΡΠΎΠ²Π΅ΡΡ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Π²ΡΠ°ΡΠ°ΡΡΡΡ Π²ΠΎΠΊΡΡΠ³ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌ. Π― ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠ» ΠΈΡ Π² ΡΡΠΈ Π³ΡΡΠΏΠΏΡ:
ΠΡΠΈ ΡΠΎΠ²Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΠΊ Π»ΡΠ±ΠΎΠΌΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΌΡ Π΄Π²ΠΈΠΆΠΊΡ. Π― Π½Π΅ ΡΠΎΠ±ΠΈΡΠ°ΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΉΠ΄Π΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠΊΡΠΎΠ΄Π΅ΡΠ΅Π²ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠ·ΠΈΠΊΡ. Π― ΠΏΠΎΠ»Π°Π³Π°Ρ, Π²Ρ ΠΈ ΡΠ°ΠΊ Π² ΠΊΡΡΡΠ΅, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠΎ Π·Π½Π°ΡΡ β ΠΈ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌ ΡΡΠΈ ΡΠ΅ΠΌΡ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ³ΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Ρ ΡΠΎΠ·Π½Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ±ΡΠ°Π» ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ ΡΠΈΡΠΎΠΊΠΎ β ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π°Ρ ΠΎΠΆΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΡΠ°ΡΡΡ ΡΠ°Π·Π²Π΅ΡΡΡ Π·Π°Π²Π΅ΡΡ ΡΠ°ΠΉΠ½Ρ Π½Π°Π΄ ΡΠ΅ΠΌ-Π»ΠΈΠ±ΠΎ.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄
ΠΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΎΠ²Π΅Ρ β Π½Π΅ Π·Π°Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡ Π·Π°ΡΡΠ°Π²ΡΡΠ΅ ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ (ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ!) ΡΠ°Π±ΠΎΡΠ°ΡΡ, Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΠ΅.
ΠΡΠ°Π»Ρ! Π£ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉΡΡ ΠΊΡΠ±ΠΈΠΊ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ OpenGL ES 2.0.
ΠΠΎΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π±ΡΠ»ΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΠΊΠ΅ΠΌ-ΡΠΎ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΠ°ΡΠΈΠΎ. Π― Π±ΡΡΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠ΅ΡΠ½ΠΎΠ²ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ OBJ-ΡΠ°ΠΉΠ»ΠΎΠ² β ΡΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΡΠ»ΠΎΠΆΠ΅Π½ β ΠΈ ΠΏΠΎΠ΄ΠΏΡΠ°Π²ΠΈΠ» ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π» ΠΠ°ΡΠΈΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΡΠ±ΠΈΠΊΠ°. ΠΡΡ Ρ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π» SDL_Image, ΡΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ.
ΠΠ°ΡΠ΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΠΌΡ ΡΡΠΈΠΊΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΠΠ°ΡΠΈΠΎ. (ΠΠΎΠ½Π°ΡΠ°Π»Ρ Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π» ΠΈΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ dual-stick ΡΡΡΠ΅ΡΠ°. ΠΠΏΡΠΎΡΠ΅ΠΌ, Π½Π΅ Ρ ΠΠ°ΡΠΈΠΎ).
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ Π΄Π΅Π»ΠΎΠΌ Ρ Ρ ΠΎΡΠ΅Π» ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ ΡΠΎ ΡΠΊΠ΅Π»Π΅ΡΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°ΡΠΈΠ΅ΠΉ, ΡΠ°ΠΊ ΡΡΠΎ ΠΎΡΠΊΡΡΠ» Blender, ΡΠΎΠ·Π΄Π°Π» ΠΌΠΎΠ΄Π΅Π»Ρ ΡΡΠΏΠ°Π»ΡΡΠ° ΠΈ ΠΏΡΠΈΠ²ΡΠ·Π°Π» ΠΊ Π½Π΅ΠΌΡ ΡΠΊΠ΅Π»Π΅Ρ ΠΈΠ· Π΄Π²ΡΡ ΠΊΠΎΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΊΠΎΠ»Π΅Π±Π°Π»ΠΈΡΡ ΡΡΠ΄Π°-ΡΡΠ΄Π°.
Π ΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Ρ ΠΎΡΠΊΠ°Π·Π°Π»ΡΡ ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠ° OBJ ΠΈ Π½Π°ΠΏΠΈΡΠ°Π» ΡΠΊΡΠΈΠΏΡ Π½Π° Python Π΄Π»Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ JSON-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· Blender. ΠΡΠΈ JSON-ΡΠ°ΠΉΠ»Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π»ΠΈ Π·Π°ΡΠΊΠΈΠ½Π΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ, ΡΠΊΠ΅Π»Π΅Ρ ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ. Π― Π·Π°Π³ΡΡΠΆΠ°Π» ΡΡΠΈ ΡΠ°ΠΉΠ»Ρ Π² ΠΈΠ³ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ C++ JSON.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²ΡΡ Π·Π°ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Ρ Π²Π΅ΡΠ½ΡΠ»ΡΡ Π² Blender ΠΈ ΡΠΎΠ·Π΄Π°Π» Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ° (ΠΡΠΎ Π±ΡΠ» ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠΉ ΠΈ Π·Π°ΡΠΈΠ³Π°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠΉ ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ. Π― ΠΈΠΌ Π²Π΅ΡΡΠΌΠ° Π³ΠΎΡΠ΄ΠΈΠ»ΡΡ.)
Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΌΠ΅ΡΡΡΠ΅Π² Ρ ΡΠ΄Π΅Π»Π°Π» ΡΠ°ΠΊΠΈΠ΅ ΡΠ°Π³ΠΈ:
ΠΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ: Ρ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²Π°Π» Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π΄Π²ΠΈΠΆΠΊΠ° Π΄ΠΎ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π½Π°ΡΠ°Π» ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ. ΠΡΠΎ Π±ΡΠ» ΠΎΡΠΎΠ·Π½Π°Π½Π½ΡΠΉ Π²ΡΠ±ΠΎΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΠΈΡΠ°Π» ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠ΄, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π°, Π·Π°ΡΠ΅ΠΌ ΡΠΌΠΎΡΡΠ΅Π» Π½Π° Π½Π΅Π³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠ°Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠΎΠ΄ «Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ Π΄Π²ΠΈΠΆΠΊΠ°» Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ Π½Π°Π±ΠΎΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ, Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈ API Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ.
ΠΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π΅Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°Ρ . ΠΠ½ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π³Π΅ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°. ΠΡΠ»ΠΈ ΡΡΠΎ-ΡΠΎ ΠΈΠ΄ΡΡ Π½Π΅ ΡΠ°ΠΊ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π² Π½ΠΎΠ²ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Ρ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½ΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π». Π Π°Π·ΡΠΌΠ΅Π΅ΡΡΡ, Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Ρ, ΡΡΠΎ Π²Ρ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ.
ΠΠΎΡΠΎΠ² ΠΏΠΎΡΠΏΠΎΡΠΈΡΡ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ°ΡΠΈΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΡΠΈΠ²ΠΎΠΏΠΎΠ»ΠΎΠΆΠ½ΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅: ΠΏΡΡΠ°ΡΡΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΠ΄ΡΠΌΠ°ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π΄Π΅Π»Π°ΡΡ Π²ΡΡ, ΡΡΠΎ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠ²Π΅ ΠΌΠΎΠΈΡ Π»ΡΠ±ΠΈΠΌΡΡ ΡΡΠ°ΡΡΠΈ ΠΏΡΠΎ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΡΠ΅Π·ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠΈ β The Vicious Circle of Generalization Π’ΠΎΠΌΠ°ΡΠ° ΠΠ°Π±ΡΠΎΠ²ΡΠΊΠΈ ΠΈ Donβt Let Architecture Astronauts Scare You ΠΠΆΠΎΡΠ»Π° Π‘ΠΏΠΎΠ»ΡΡΠΊΠΈ.
Π― Π½Π΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ Π²Ρ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Π±ΡΠΌΠ°Π³Π΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎΠ»ΠΊΠ½ΡΡΠ΅ΡΡ Ρ Π½ΠΈΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅. Π― ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ ΡΡΠ²Π΅ΡΠΆΠ΄Π°Ρ, ΡΡΠΎ Π²Π°ΠΌ Π½Π΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Π·Π½Π°Π» Ρ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½Π°ΡΠ°Π»Π°, ΡΡΠΎ Ρ ΠΎΡΡ, ΡΡΠΎΠ±Ρ Π΄Π²ΠΈΠΆΠΎΠΊ Π·Π°Π³ΡΡΠΆΠ°Π» Π²ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π² ΡΠΎΠ½ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅. ΠΡΠΎΡΡΠΎ Ρ Π½Π΅ ΠΏΡΡΠ°Π»ΡΡ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π» Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΌΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π΅ Π½Π°ΡΠ°Π» Π·Π°Π³ΡΡΠΆΠ°ΡΡ Ρ ΠΎΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΡΠ΅ΡΡΡΡΡ.
ΠΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π΄Π°Π» ΠΌΠ½Π΅ ΠΊΡΠ΄Π° Π±ΠΎΠ»Π΅Π΅ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ, ΡΠ΅ΠΌ Ρ ΠΌΠΎΠ³ Π±Ρ Π²ΠΎΠΎΠ±ΡΠ°Π·ΠΈΡΡ, Π³Π»ΡΠ΄Ρ Π½Π° ΡΠΈΡΡΡΠΉ Π»ΠΈΡΡ Π±ΡΠΌΠ°Π³ΠΈ. iOS-ΡΠ±ΠΎΡΠΊΠ° ΠΌΠΎΠ΅Π³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° ΡΠ΅Π³ΠΎΠ΄Π½Ρ Π½Π° 100% ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ/ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π°, ΡΠΈΠ·ΠΈΠΊΡ ΠΈ Π°ΡΠ΄ΠΈΠΎ ΠΌΠΈΠΊΡΠ΅Ρ. Π£ ΠΌΠ΅Π½Ρ Π±ΡΠ»ΠΈ ΠΏΡΠΈΡΠΈΠ½Ρ ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΄Π»Ρ Π²Π°Ρ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π²Π°ΡΠ΅ΠΌΡ Π΄Π²ΠΈΠΆΠΊΡ. GLM, Bullet Physics ΠΈ STB headers β Π»ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
ΠΠ²Π°ΠΆΠ΄Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΎΠ±ΠΎΠ±ΡΠ°ΡΡ
ΠΠ°ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ, ΠΌΡ ΡΡΡΠ΅ΠΌΠΈΠΌΡΡ ΠΈΠ·Π±Π΅Π³Π°ΡΡ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΈ Π½Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ ΡΡΠΈΠ»Ρ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π½Π΅ Π΄Π°Π²Π°ΡΡ ΡΡΠΈΠΌ ΠΈΠ½ΡΡΠΈΠ½ΠΊΡΠ°ΠΌ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π²ΡΠ΅ΠΌΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ΅ΠΌΡ ΠΎΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΡΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏ DRY
95% Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° β Π²Π΅ΡΠ½ΡΠΉ ΠΏΡΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Π²Π°Ρ ΡΠΊΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅ΡΠ΅, ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅ΡΠ΅ ΡΡΠΎ-ΡΠΎ, ΠΎΠ΄Π½Π°ΠΆΠ΄Ρ Π±ΡΠ²ΡΠ΅Π΅ ΠΏΡΠΎΡΡΡΠΌ, ΡΠΏΡΠΎΡΠΈΡΠ΅ ΡΠ΅Π±Ρ: Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ ΡΡΠ° ΡΠ°ΡΡΡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±ΡΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π°Π΄Π²ΠΎΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ Π²ΡΠ·ΠΎΠ²Π΅ β ΡΡΠΎ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ
ΠΠ΄Π½Π° ΠΈΠ· Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠ½Π΅ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ Π² Java β ΡΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π²Π½ΡΡΡΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΠΎ-ΠΌΠΎΠ΅ΠΌΡ, ΡΡΠΎ Π±Π΅ΡΡΠΌΡΡΠ»Π΅Π½Π½ΠΎ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ΄Π°ΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄Ρ Π±ΠΎΠ»Π΅Π΅ Π΅Π΄ΠΈΠ½ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΉ Π²ΠΈΠ΄, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΎΡΡΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΌΠ½ΠΎΠΉ ΡΠ°Π½Π΅Π΅.
Π Π΅ΡΡ Π΅ΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠΎΠΉ ΠΏΠΎΠ»ΠΈΠΌΠΎΡΡΠΈΠ·ΠΌΠ°. Π§Π°ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Π½Π΅ Π·Π½Π°Ρ ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΡΡΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π½Π° C++ β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ, Π·Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΈΡΡ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅. Π Π°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ ΡΡΠΎ Π»ΠΈΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ΅Ρ Π½ΠΈΠΊ. Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:
ΠΡΠΎΠ·Π½Π°ΠΉΡΠ΅, ΡΡΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΎΠ±ΡΠΈΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°
Π‘Π΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΡΡΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π±Π°ΠΉΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π° Π²ΡΠ±ΠΎΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠ°Π΄ΠΈΠΉ ΠΎΡΡΠ°ΡΡΡΡ Π·Π° Π²Π°ΠΌΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΠΈ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π² Π΄Π²ΠΈΠΆΠΎΠΊ. Π ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΡΠ²ΠΎΠ»ΡΡΠΈΠΎΠ½ΠΈΡΡΡΡ, Ρ Π²Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Ρ ΡΠ°Π½Π΅Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ½Π½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠ΅ Π²Π°ΠΆΠ½ΠΎ Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅, Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΎΠ² Π²Π°ΠΌ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² C++.
ΠΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΉ, ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π²Π΅ΡΠΆΠ΅Π½Π½ΡΠΉ ΠΎΡΠΈΠ±ΠΊΠ°ΠΌ ΠΊΠΎΠ΄ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ β Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π°ΡΠΈΡ C++ ΡΠΈΠΏΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΌΠΎΡΡ Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Blender, ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΠ°ΠΊ ΠΈ Blender, ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠΈ β ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ β ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ: Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Π½Π° C/C++, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΈΠΏΠ°Ρ , ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ Blender. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΉ ΡΠΈΠΏΠΎΠ² ΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ C++ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ°ΠΊΡΠΎΡΡ ΠΏΡΠ΅ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½Ρ C++ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. Π ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π²Π°Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ ΠΏΠΎΡΠ²ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ»Π΅ΠΊΡΠΈΠΈ, ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ Π±Π΅ΡΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠΈΠΉ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΏΠΎΠ²Π΅ΡΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠΎΠ³ΠΎ.
ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, Ρ ΡΠΏΡΡΠΊΠ°Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΡΠ°Π»Π΅ΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ Ρ ΠΎΡΠ΅Π» ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½Ρ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΆΠ΅, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π²ΠΈΠΆΠΊΠ°, Π΄Π°ΠΆΠ΅ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΡΡΠ΅ΠΌ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π½Π΅Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ· 96 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡΠΊΠΈΡ Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² GDC 2017, Ρ Π½Π°ΡΡΠΈΡΠ°Π» 31 Π΄ΠΎΠΊΠ»Π°Π΄ ΠΎ Π³ΡΠ°ΡΠΈΠΊΠ΅, 11 ΠΎΠ± ΠΎΠ½Π»Π°ΠΉΠ½Π΅, 10 ΠΎΠ± ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ , 3 ΠΎ ΡΠΈΠ·ΠΈΠΊΠ΅, 2 ΠΎΠ± Π°ΡΠ΄ΠΈΠΎ β ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½, ΠΊΠ°ΡΠ°ΡΡΠΈΠΉΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, ΠΏΠΎΡΡΠ°ΡΠ°ΠΉΡΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ Π±ΡΠ΄ΡΡ Π²Π°ΡΠΈ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ»ΠΈ Π²Ρ Π΄Π΅Π»Π°Π΅ΡΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΠΈΠ³ΡΡ Π²ΡΠΎΠ΄Π΅ Flappy Bird, Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π²Π°ΠΌ ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· PNG ΠΈ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠΉ Π±ΠΈΠ½Π°ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΡ, Π½ΠΎ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ β Π²Π·Π³Π»ΡΠ½ΠΈΡΠ΅ Π½Π° ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Cereal ΠΈΠ»ΠΈ Boost.Serialization. ΠΠ΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ Google Protocol Buffers ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠ³ΡΠΎΠ²ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², Π½ΠΎ ΠΎΠ½ΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΡΡΠΎΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° β Π΄Π°ΠΆΠ΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ³ΠΎ β Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅. Π― ΠΌΠΎΠ³ Π±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠ΅, Π½ΠΎ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡΠ½ΠΎ, ΡΠ°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΡΠΎΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠΈΠ΄ΡΠΌΠ°ΡΡ Π΄Π»Ρ ΡΡΠ°ΡΡΠΈ ΡΠ°ΠΊΠΎΠΉ Π΄Π»ΠΈΠ½Ρ: ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΈΡΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎ, ΡΠ»Π΅Π³ΠΊΠ° ΡΠΎΠΏΡΠΎΡΠΈΠ²Π»ΡΠΉΡΠ΅ΡΡ ΡΡΠ³Π΅ ΠΊ ΠΎΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ β ΠΎΠ±ΡΠΈΡΠ½Π°Ρ ΡΠ΅ΠΌΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ. ΠΠΎΠΉ ΠΎΠΏΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΏΡΠ½ΠΊΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ ΠΊΠ°ΠΌΠ½Π΅ΠΌ ΠΏΡΠ΅ΡΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ Π΅Π³ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ.
Π― Π»ΡΠ±Π»Ρ ΡΡΠ°Π²Π½ΠΈΠ²Π°ΡΡ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΠ½Π΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠ»ΡΡΠ°ΡΡ ΠΌΠ½Π΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΠΏΠΈΡΠ°Π»ΠΈ Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΏΡΠΈΠ²Π΅Π» Π»ΠΈ Π²Π°Ρ ΠΎΠΏΡΡ ΠΊ ΡΠ΅ΠΌ ΠΆΠ΅ Π²ΡΠ²ΠΎΠ΄Π°ΠΌ? Π Π΅ΡΠ»ΠΈ Π½Π΅ ΠΏΠΈΡΠ°Π»ΠΈ ΠΈΠ»ΠΈ Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ±ΠΈΡΠ°Π΅ΡΠ΅ΡΡ, Π²Π°ΡΠΈ ΠΌΡΡΠ»ΠΈ ΠΌΠ½Π΅ ΡΠΎΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Ρ. Π§ΡΠΎ Π²Ρ ΡΡΠΈΡΠ°Π΅ΡΠ΅ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ? ΠΠ°ΠΊΠΈΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ Π΅ΡΡ ΠΊΠ°ΠΆΡΡΡΡ Π²Π°ΠΌ Π·Π°Π³Π°Π΄ΠΎΡΠ½ΡΠΌΠΈ? ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π½ΠΈΠΆΠ΅ ΠΈΠ»ΠΈ ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ ΡΠΎ ΠΌΠ½ΠΎΠΉ ΡΠ΅ΡΠ΅Π· Twitter.
ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΡΡΡΠ΅: Π»Π΅Π³ΠΊΠΎ! (Π½Ρ ΠΏΠΎΡΡΠΈ)
ΠΡΠΈΠ²Π΅Ρ! ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠ»Π΅Π± ΠΠ°ΡΡΠΈΠ½, Ρ ΡΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΊΡΡΡΠ΅ Π±Π°ΠΊΠ°Π»Π°Π²ΡΠΈΠ°ΡΠ° Β«ΠΡΠΈΠΊΠ»Π°Π΄Π½Π°Ρ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠ° ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠ°Β» Π² ΠΠΈΡΠ΅ΡΡΠΊΠΎΠΉ ΠΡΡΠΊΠ΅. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ΅ΠΌΠ΅ΡΡΡΠ΅ Π²ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠΊΡΡΡΠ½ΠΈΠΊΠΈ Π½Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π΅Π»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎ Π‘++. ΠΡ Ρ ΠΌΠΎΠΈΠΌΠΈ ΠΏΠ°ΡΡΠ½Π΅ΡΠ°ΠΌΠΈ ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ.
Π ΡΠΎΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ, ΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄ ΠΊΠ°ΡΠΎΠΌ.
ΠΡΠ΅Π³ΠΎ Π½Π°Ρ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΡΡΠΎΠ΅: Ρ, ΠΠ»Π΅ΠΊΡΠ΅ΠΉ ΠΡΡΠΈΠ½ΠΈΠ½ ΠΈ ΠΠ»ΡΡ ΠΠ½ΠΎΡΡΠΈΠΉΡΡΠΊ. ΠΠΈΠΊΡΠΎ ΠΈΠ· Π½Π°Ρ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠΌ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈΠ³Ρ, Π° ΡΠ΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈΠ³ΡΠΎΠ²ΡΡ Π΄Π²ΠΈΠΆΠΊΠΎΠ². ΠΠ»Ρ Π½Π°Ρ ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ: Π΄ΠΎ Π½Π΅Π³ΠΎ ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ ΠΈ Π»Π°Π±ΠΎΡΠ°ΡΠΎΡΠ½ΡΠ΅ ΡΠ°Π±ΠΎΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π΅Π΄Π²Π° Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»Ρ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΉ Π³ΡΠ°ΡΠΈΠΊΠΈ Π½Π°ΠΉΠ΄ΡΡ Π·Π΄Π΅ΡΡ Π½ΠΎΠ²ΡΡ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π΄Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΡΠΈ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΎΠΆΠ΅ Ρ ΠΎΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ. ΠΠΎ ΡΠ΅ΠΌΠ° ΡΡΠ° ΡΠ»ΠΎΠΆΠ½Π° ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½Π°, ΠΈ ΡΡΠ°ΡΡΡ Π½ΠΈ Π² ΠΊΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π΅ ΠΏΡΠ΅ΡΠ΅Π½Π΄ΡΠ΅Ρ Π½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ.
ΠΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ, ΠΊΠΎΠΌΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°ΡΡ ΠΎ Π½Π°ΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, β ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ!
ΠΡΠ°ΡΠΈΠΊΠ°
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΌΡΡΡ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ°
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠΎΠ½, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π²ΠΎΠ΄Π° Ρ ΠΌΡΡΠΈ ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΌΡ Π²ΡΠ±ΡΠ°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SDL2. ΠΡΠΎ Π±ΡΠ» ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ, Π½ΠΎ ΠΌΡ ΠΎ Π½Π΅ΠΌ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅ ΠΏΠΎΠΆΠ°Π»Π΅Π»ΠΈ.
ΠΠ°ΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠ±Π΅ΡΡΠΊΡ Π½Π°Π΄ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΏΠ°ΡΠΎΠΉ ΡΡΡΠΎΡΠ΅ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠΊΠ½ΠΎ, ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΡ Ρ Π½ΠΈΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ° ΠΈ Π²Ρ ΠΎΠ΄Π° Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΡ: Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΡΡΡΠΎΡΠ°. ΠΠ°Π΄Π°ΡΠ° ΠΎΠΊΠ°Π·Π°Π»ΠΎΡΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ: ΠΌΡ Π±ΡΡΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΈ ΠΎΡΠΊΡΡΠ²Π°ΡΡ ΠΎΠΊΠ½ΠΎ, Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΠΠ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Β«Hello, World!Β».
Π’ΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»:
Hello World
ΠΠ°ΠΌΠ΅ΡΠ°
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠ³Π»Π° Π±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠ°Π·Π½ΡΠ΅ ΡΡΠΎΡΠΎΠ½Ρ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΡΡ ΡΡΡ Π·Π°Π΄Π°ΡΡ, Π½Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΈΡΡ Π·Π½Π°Π½ΠΈΡ ΠΈΠ· Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±ΡΡ. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΡΠ°Π·Π΄Π΅Π», ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π³ΠΈΡΠΊΡ ΠΈ ΡΠΈΡΠ°ΡΡ Π΄Π°Π»ΡΡΠ΅.
ΠΡ Ρ ΠΎΡΠΈΠΌ Π½Π°ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°Ρ ΡΠΊΡΠ°Π½Π° Π²Π΅ΡΡΠΈΠ½Ρ, Π·Π½Π°Ρ Π΅Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π½ΡΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² Π±Π°Π·ΠΈΡΠ΅ ΠΌΠΈΡΠ°. Π‘ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ ΡΡΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ: ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°ΡΡ, ΠΏΠΎΠ²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ. ΠΡΠ΅ ΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°Π΄Π°ΡΡΡΡ Π΄ΠΎΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²Π΅ΠΊΡΠΎΡΠ° (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ Π² Π±Π°Π·ΠΈΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°) Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ. Π’ΠΎΠ³Π΄Π° ΠΌΠ°ΡΡΠΈΡΠ° Model Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡΠΈΠ½Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅, Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ½ΠΎΠΆΠΈΡΡ Π²Π΅ΠΊΡΠΎΡ Π½Π° ΠΌΠ°ΡΡΠΈΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΏΡΡΡ ΡΠ°Π·. ΠΡΠ΅ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ 4 Π½Π° 4, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π½Π°Π³ΡΡΠΆΠ°ΡΡ ΡΠ΄ΡΠ° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ° Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π»ΡΡΡΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΠ°, Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ. ΠΠ½Π°ΡΠΈΡ, Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΉΠ΄Π΅Ρ: Π½Π΅Π±ΠΎΠ»ΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡΡ. Π OpenGL Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΉΠ΄Π΅ΡΠ½ΡΠΉ ΡΠ·ΡΠΊ GLSL, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° C, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΠ΅ Π±ΡΠ΄Π΅ΠΌ Π²Π΄Π°Π²Π°ΡΡΡΡ Π² ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ΅ΠΉΠ΄Π΅ΡΠ°, Π»ΡΡΡΠ΅ Π½Π°ΠΊΠΎΠ½Π΅Ρ-ΡΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠΎ, ΡΡΠΎ Π²ΡΡΠ»ΠΎ:
ΠΠΎΡΡΠ½Π΅Π½ΠΈΠ΅: Π΅ΡΡΡ Π΄Π΅ΡΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π½Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π΄ΠΈΡΡΠ°Π½ΡΠΈΠΈ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ. ΠΠΎ ΠΏΡΠ°Π²ΡΡ ΡΡΠΎΡΠΎΠ½Ρ ΠΎΡ Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΈΠ³ΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΠΊΠ°ΠΌΠ΅ΡΡ.
Π€ΠΈΠ·ΠΈΠΊΠ°
ΠΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΌΡ Π΄ΡΠΌΠ°Π»ΠΈ ΡΠ΄Π΅Π»Π°ΡΡ Π³ΡΠ°ΡΠΈΠΊΡ Π² Π΄Π²ΠΈΠΆΠΊΠ΅ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ, Π° Π΄Π»Ρ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΠΈΠΌ Π΅Π³ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΡ raycasting. ΠΠΎ Ρ Π½Π°Ρ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ Π±ΡΠ»Π° Π·Π°ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΠΊΠ°ΠΌΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡΡ . ΠΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ ΡΠΎΠ»ΡΠΈΠ½Ρ β ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ ΠΈ Π½Π΅Ρ? Π ΡΠΎΠΌΡ ΠΆΠ΅ Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΄Π΅Π»Π°ΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΡΠ°ΡΠΈΠ²ΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ΅Π½ΠΈ ΠΎΡ ΡΠΎΠ»ΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
ΠΡΠ²Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π΅Π»ΠΎΠΌ. ΠΠ»Ρ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ β ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ½ΡΠΉ ΡΠ΅ΠΉΠ΄Π΅Ρ.
Π’Π΅ΠΊΡΡΡΡΡ
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ DevIL. ΠΠ°ΠΆΠ΄ΠΎΠΌΡ GraphicalObject2d ΡΡΠ°Π» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° GraphicalPolygon β Π»ΠΈΡΠ΅Π²Π°Ρ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β ΠΈ GraphicalEdge β Π±ΠΎΠΊΠΎΠ²Π°Ρ ΡΠ°ΡΡΡ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΠ½ΡΡΡ ΡΠ²ΠΎΡ ΡΠ΅ΠΊΡΡΡΡΡ. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ΅, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΡ Π³ΡΠ°ΡΠΈΠΊΠΈ, ΡΠΆΠ΅ Π³ΠΎΡΠΎΠ²ΠΎ: ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΎΠ΄ΠΈΠ½ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΠΊΡΡΡΡΡ. ΠΡΠ°ΡΠΈΠΊΠ° β Π½Π° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²ΡΠ΅.
ΠΠ°ΡΠΈΠ½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠ°ΠΊΠΈΠΌ Π±Ρ ΠΎΠ½ Π½ΠΈ Π±ΡΠ», β ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Π² ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΠΈΠ»ΠΈ ΠΆΠ΅ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΌ β Π΄ΠΎΠ»ΠΆΠ΅Π½ Β«ΡΠΈΠΊΠ°ΡΡΒ», ΡΠΎ Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°: Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π³ΡΡΠΏΠΏΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π½Π° ΠΏΠ°ΡΠ·Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°ΡΡΠΈΡ ΠΈ ΡΠ°ΡΡΠΈΡΡ Π²Π½ΡΡΡΠΈ Π½Π΅Π΅. Π ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΡΡΡΠ½ΡΡ Π²ΡΠ·Π²Π°ΡΡ onPause Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.
Π ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅, Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
Π£ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π΅ΡΡΡ ΡΡΠΈ ΡΡΠ°Π΄ΠΈΠΈ: ΠΎΠ½ΠΎ Π½Π°ΡΠ°Π»ΠΎΡΡ, ΠΎΠ½ΠΎ ΡΠΈΠΊΠ°Π΅Ρ, ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΡΠ°Π΄ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΅ΠΊΡΡΡΡΡ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ ΠΈΠΌΠΏΡΠ»ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ dump() Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΠ°Π³ΡΡΠ·ΠΊΠ° β ΡΡΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΎΡ ΡΡΡΠΎΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΎΠ±ΡΠ΅ΠΊΡΠ΅. ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π·Π°Π²Π΅ΡΡΠ΅Π½Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΡΠ΄Π΅Π»Π°Π½ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°.
ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΈΠ³ΡΠ° ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ β ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠ»Π°ΡΡ, ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΈΠ³ΡΠ΅ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ΅Π½ΠΈΡ, Π° Π² ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ΅ β Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π·Π°ΠΏΠΈΡΠΈ. ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈΠ· json-Π° Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ rapidjson.
ΠΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Π ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΏΠ΅ΡΠ΅Π΄ Π½Π°ΠΌΠΈ Π²ΡΡΠ°Π» Π²ΠΎΠΏΡΠΎΡ: ΠΏΡΡΡΡ ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ°, ΠΌΠ°ΡΠΈΠ½Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ ΠΈ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅Π΅. ΠΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΈΠ³ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ?
Π Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ: ΠΏΠ΅ΡΠ΅Π»ΠΈΡΡΠ½ΡΡΡ ΡΠ»Π°ΠΉΠ΄ Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΈΠ»Ρ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΊΠΎΡΠΎΡΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. Π’Π° ΠΆΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡ Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π°ΠΌΠΈ Π² ΠΌΠ°ΡΠΈΠ½Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ. Π Π±ΠΎΠ»ΡΡΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΡΠ΅ΡΠ°ΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Unity ΠΈ Godot ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Ρ C#. Π£ΠΆΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ: ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΌ ΡΠΎΠ·Π²Π΅Π·Π΄ΠΈΠΈ Π£ΡΠ°Π½, ΠΈ ΠΊΠ°ΠΊΠΎΠΉ ΡΠ΅ΠΉΡΠ°Ρ ΠΊΡΡΡ Π΅Π²ΡΠΎ. Π£ Π½Π°Ρ ΡΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ, Π½ΠΎ Π² Π½Π°ΡΠΈ ΠΏΠ»Π°Π½Ρ Π²Ρ ΠΎΠ΄ΠΈΡ ΡΠ²ΡΠ·Π°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ Python 3.
ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Dear ImGui, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° ΠΎΡΠ΅Π½Ρ ΠΌΠ°Π»Π΅Π½ΡΠΊΠ°Ρ (ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΡΠΈΡΠΎΠΊΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ Qt) ΠΈ ΠΏΠΈΡΠ°ΡΡ Π½Π° Π½Π΅ΠΉ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ImGui β ΠΏΠ°ΡΠ°Π΄ΠΈΠ³ΠΌΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ°. Π Π½Π΅ΠΉ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π° Π²ΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ ΠΈ ΠΎΠΊΠ½Π° ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°ΡΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ. Π‘ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΡΡΠΎ ΡΠΌΠ΅Π½ΡΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π½ΠΎ Ρ Π΄ΡΡΠ³ΠΎΠΉ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. Π’ΡΡ ΡΠΆΠ΅ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΡ ΠΎΠ΄Π° ΡΡΠ°ΡΡΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ:
Π Π΅Π΄Π°ΠΊΡΠΎΡ ΠΌΠ°ΡΠΈΠ½Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Ρ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅ΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π΅ΡΡΡ ΠΊΡΠ΄Π° ΡΠ°ΡΡΠΈ: ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΡ ΡΠ΅Π½Π΅ΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΎΡΠ²Π΅ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Python 3, ΡΡΠΎΠ±Ρ ΠΏΠΈΡΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ Π΄Π»Ρ ΠΈΠ³ΡΡ. Π₯ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ: ΡΠ΄Π΅Π»Π°ΡΡ Π΅Π³ΠΎ ΠΊΡΠ°ΡΠΈΠ²Π΅Π΅, Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π³ΠΎΡΡΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡβ¦
Π Π°Π±ΠΎΡΡ Π΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΎΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ, Π½ΠΎ ΠΌΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½Ρ ΡΠ΅ΠΌ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ° Π²ΡΠ΅ΠΌΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠ³ΠΎ ΠΎΠΏΡΡΠ°: ΡΠ°Π±ΠΎΡΡ Ρ Π³ΡΠ°ΡΠΈΠΊΠΎΠΉ, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ², ΡΠ°Π±ΠΎΡΡ Ρ json ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΎΠ±Π΅ΡΡΠΊΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ C Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π Π΅ΡΠ΅ ΠΎΠΏΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅. ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ Π½Π°ΠΌ ΡΠ΄Π°Π»ΠΎΡΡ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ ΠΎ Π½Π΅ΠΌ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΈΠΌ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ π
ΠΠΈΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ C++
Π‘ Π½ΡΠ»Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SFML ΠΈ C++, ΡΡΠΎΠ±Ρ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΄ΡΠ°.
Π ΡΡΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ Π½Π° C++. ΠΠ²ΠΈΠΆΠΎΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ, Π½ΠΎ Π³ΠΎΡΠΎΠ²ΡΠΌ ΠΊ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ. ΠΠΎΠ½Π΅ΡΠ½Π°Ρ ΠΈΠ³ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° ΡΠΎΠΆΠ΅ ΠΊΡΠ°ΠΉΠ½Π΅ ΠΏΡΠΎΡΡΠ°: Π½Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π»Π΅Π²ΠΎ ΠΈ ΠΏΡΠ°Π²ΠΎ, Π° ΠΈΠ· Π³ΡΠ°ΡΠΈΠΊΠΈ β ΡΠΎΠ»ΡΠΊΠΎ Π±ΡΠΊΠ³ΡΠ°ΡΠ½Π΄ ΠΈ ΡΠΈΠ³ΡΡΠΊΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°.
ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Visual Studio
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π² Visual Studio. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ SFML, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π»ΠΈ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π½Π΅Π΅, ΠΏΡΠΎΡΡΠΈΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΊΠΎΠ΄Ρ. ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΡΠΎΠ΅ΠΊΡΠΈΡΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ
Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅ β Π·Π°ΠΏΡΡΠΊ Π΄Π²ΠΈΠΆΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ Main.cpp, Π½ΠΎ ΠΈΠΌ ΠΌΡ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅.
ΠΠ»Π°ΡΡ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°
Bob β ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΠ³ΡΡΠΊΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°ΠΆΠ°, ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ ΠΈΠ³ΡΠΎΠΊΠΎΠΌ. ΠΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° Π±ΡΠ΄Π΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°ΡΡΠΈΡΡΡΡΡΡ, Π° ΡΡΠΎ ΡΠ°ΠΌΠΎΠ΅ Π³Π»Π°Π²Π½ΠΎΠ΅ β Π΅Π³ΠΎ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ΄ Π»ΡΠ±ΠΎΠΉ Π΄ΡΡΠ³ΠΎΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡΡ ΠΈ ΠΎΠΏΠΈΡΠ°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ update().
ΠΠ°ΠΉΠΌΠ΅ΠΌΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Header Files Π² Solution Explorer ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Add | New Item. Π ΠΎΠΊΠ½Π΅ Add New Item Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Header File (.h), Π·Π°ΡΠ΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Name Π²Π²Π΅Π΄ΠΈΡΠ΅ Bob. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Add ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΊΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ»Π°ΡΡΠ°:
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΠ±ΡΡΠ²ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠΈΠΏΠ° Texture ΠΈ Sprite. ΠΠ°Π»ΡΡΠ΅ ΠΌΡ ΡΠ²ΡΠΆΠ΅ΠΌ ΡΡΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ Π»ΡΠ±ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Sprite Π±ΡΠ΄Π΅Ρ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΠΎΠ±Π°:
ΠΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ
Bob.cpp
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ².
ΠΡΠ±Π΅ΡΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Source Files Π² Solution Explorer ΠΈ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Add | New Item. Π ΠΎΠΊΠ½Π΅ Add New Item ΠΊΠ»ΠΈΠΊΠ½ΠΈΡΠ΅ ΠΏΠΎ C++ File (.cpp), Π° Π² ΠΏΠΎΠ»Π΅ Name ΡΠΊΠ°ΠΆΠΈΡΠ΅ Bob.cpp. Π’Π΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ°ΠΉΠ» ΠΊΠΎΠ΄:
Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ m_Speed Π½Π° 400. ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΠΎΠ± ΠΏΠ΅ΡΠ΅ΡΠ΅ΡΠ΅Ρ ΡΠΊΡΠ°Π½ ΡΠΈΡΠΈΠ½ΠΎΠΉ Π² 1920 ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ Π·Π° 5 ΡΠ΅ΠΊΡΠ½Π΄. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» Bob.png Π² Texture ΠΈ ΡΠ²ΡΠ·Π°Π»ΠΈ Π΅Π³ΠΎ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Sprite. Π ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ m_Position.x ΠΈ m_Position.y ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΠΎΠ±Π°.
Π€ΡΠ½ΠΊΡΠΈΡ update ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π²Π° If. ΠΠ΅ΡΠ²ΠΎΠ΅ If ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π½Π°ΠΆΠ°ΡΠ° Π»ΠΈ ΠΏΡΠ°Π²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° (m_RightPressed), Π° Π²ΡΠΎΡΠΎΠ΅ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° Π»Π΅Π²ΠΎΠΉ (m_LeftPressed). Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ If ΡΠΊΠΎΡΠΎΡΡΡ (m_Speed) ΡΠΌΠ½ΠΎΠΆΠ°Π΅ΡΡΡ Π½Π° elapsedTime. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ elapsedTime ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Start Π΄Π²ΠΈΠΆΠΊΠ° (ΠΊΠ»Π°ΡΡ Engine). ΠΠΌ ΠΌΡ ΠΈ Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ Π΄Π°Π»Π΅Π΅.
ΠΠΈΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Engine
ΠΠ»Π°ΡΡ Engine Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅.
Engine.h
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠΊΠ½ΠΎ Add New Item (ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Bob), Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Header File (.h) ΠΈ Π² ΠΏΠΎΠ»Π΅ Name Π²Π²Π΅Π΄ΠΈΡΠ΅ Engine.h. ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² ΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ»Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ SFML, RenderWIndow, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠ° Π²ΡΠ΅Π³ΠΎ, ΡΡΠΎ Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ Sprite ΠΈ Texture Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ½Π°. Π’Π°ΠΊΠΆΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Bob.
Engine.cpp
Π Engine.cpp ΠΌΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ start. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ Π΄Π»Ρ Bob.cpp, ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
Π€ΡΠ½ΠΊΡΠΈΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ³ΡΡ Π½Π° Π²Π΅ΡΡ ΡΠΊΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ m_Window.create. Π ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ ΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Texture ΠΈ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ Sprite.
ΠΡΠΈΠΌΠ΅Ρ ΡΠΎΠ½ΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ°ΠΉΠ» Π² background.jpg ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Simple Game Engine/Simple Game Engine.
ΠΠ³ΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΊΠ»
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅, Π½ΠΎ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ°ΡΡΡΡ Engine.h. ΠΠΎΡΡΠΎΠΌΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΊΠ°ΠΆΠ΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ #include Β«Engine.hΒ», ΡΠ°ΠΊ ΡΡΠΎ Visual Studio Π±ΡΠ΄Π΅Ρ Π·Π½Π°ΡΡ, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ.
ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Input.cpp ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
Π€ΡΠ½ΠΊΡΠΈΡ input ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Keyboard::isKeyPressed, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ SFML. ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Escape m_Window Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡΠΎ. ΠΠ»Ρ ΠΊΠ»Π°Π²ΠΈΡ A ΠΈ D Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ.
ΠΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΠΈΠ³ΡΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ update. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ update.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Update.cpp ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Ρ Π½Π°Ρ ΠΏΠΎΠΊΠ° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡΠ΅ΠΊΡ «ΠΠΎΠ±», ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ m_Bob.update.
ΠΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π½Ρ
ΠΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΊΠ»Π°ΡΡΠ° Engine. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Draw.cpp ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄:
ΠΠΊΡΠ°Π½ ΠΎΡΠΈΡΠ°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ clear, Π·Π°ΡΠ΅ΠΌ ΠΎΡΡΠΈΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ½. ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΡΠΈΡΠΎΠ²Π°Π½ ΡΠΎΠ½, ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΠ²Π΅ΡΡ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΠΎΠ±Π°.
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΄Π²ΠΈΠΆΠΎΠΊ Π² main()
Π’Π΅ΠΏΠ΅ΡΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ Main.cpp. ΠΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² Π½Π΅Π³ΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°:
ΠΠ΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΠΎΠ² Π² ΠΊΠΎΠ½ΡΠ΅
ΠΠ°Ρ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ»ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ: ΠΎΠ½ ΡΠΌΠ΅Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²ΠΈΠ³Π°ΡΡ Π³Π»Π°Π²Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ Π½Π΅ ΡΠΌΠ΅Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΡΠΎΠ»ΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π³ΠΎ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡΡ ΡΠ΄ΡΠΎ ΠΈΠ³ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ Π½ΡΠ»Ρ. Π ΡΠΎΠΌΡ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΡΠΆΠ΅ Π²ΡΡΡΠ½ΠΈΠ»ΠΈ, ΠΊΠ»Π°ΡΡ Bob ΡΠ°ΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈ Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π°ΠΉΡΠ΅ Π²ΠΎΠ»Ρ ΡΠ°Π½ΡΠ°Π·ΠΈΠΈ ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ.