<snapdata remixID="10476405"><project name="3D Engine Project" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes>Up Arrow = Look Up&#xD;Down Arrow = Look Down&#xD;Right Arrow = Turn Right&#xD;Left Arrow = Turn left&#xD;W = Move Forward&#xD;S = Move Backwards&#xD;A = Move Left&#xD;D = Move Right</notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAkNJREFUeF7t0kEJQlEURdF3wQYOjWQB+ZGciVnMZAHB4RMssSfrFDiwWXPe371MgajAABiVd/svACAIaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3DiADaQEA0/zOAWQgLQBgmt85gAykBQBM8zsHkIG0AIBpfucAMpAWADDN7xxABtICAKb5nQPIQFoAwDS/cwAZSAsAmOZ3PpfPe8ugQFVgrq87gFV9v2sexwlAELIC87wtALP8jgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrfOYAMpAUATPM7B5CBtACAaX7nADKQFgAwze8cQAbSAgCm+Z0DyEBaAMA0v3MAGUgLAJjmdw4gA2kBANP8zgFkIC0AYJrf+Q8SMzGiLWHqPQAAAABJRU5ErkJggg==</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts><script x="20" y="20"><block s="receiveGo"></block><block s="doSwitchToCostume"><l></l></block></script></scripts><sprites><sprite name="Horizon" idx="3" x="0" y="-26.24659905777719" heading="90" scale="3" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="142.8,0,94.24800000000002,1" pen="tip" id="11"><costumes><list id="12"><item><costume name="Untitled" center-x="114" center-y="177" image="data:image/png;base64,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" id="13"/></item></list></costumes><sounds><list struct="atomic" id="14"></list></sounds><blocks></blocks><variables></variables><scripts><script x="30" y="20"><block s="receiveGo"></block><block s="goToLayer"><l><option>back</option></l></block><block s="setScale"><l>300</l></block></script><script x="30" y="116"><block s="receiveMessage"><l>Frame</l></block><block s="gotoXY"><l>0</l><block s="reportProduct"><block s="reportMonadic"><l><option>tan</option></l><block s="reportDifference"><l>0</l><block var="Camera X Direction"/></block></block><block var="Distance to Screen"/></block></block></script></scripts></sprite><sprite name="Objects" idx="1" x="482.0173992964569" y="187.11050837302685" heading="97.59257657372018" scale="0.6410070942966521" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="37"><costumes><list id="38"><item><costume name="Wall Panel" center-x="69.5" center-y="84" image="data:image/png;base64,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" id="39"/></item></list></costumes><sounds><list struct="atomic" id="40"></list></sounds><blocks></blocks><variables><variable name="Object X"><l>260</l></variable><variable name="Object Y"><l>250</l></variable><variable name="Object Z"><l>860</l></variable><variable name="Rotated X"><l>751.968899541358</l></variable><variable name="Rotated Z"><l>468.0135409876802</l></variable><variable name="i"><l>375</l></variable><variable name="Rotated Y"><l>291.90083859888426</l></variable><variable name="Screen X"><l>482.01739929645703</l></variable><variable name="Screen Y"><l>187.11050837302685</l></variable><variable name="Is Clone?"><l>0</l></variable></variables><scripts><script x="30" y="30"><block s="receiveMessage"><l>Frame</l></block><block s="doIfElse"><block s="reportEquals"><block var="Is Clone?"/><l>1</l></block><script><custom-block s="Rotation Matrix - x: %n z: %n sin: %n cos: %n"><block s="reportDifference"><block var="Object X"/><block var="Camera X"/></block><block s="reportDifference"><block var="Object Z"/><block var="Camera Z"/></block><block var="Camera Y Direction Sin"/><block var="Camera Y Direction Cos"/></custom-block><custom-block s="Rotation Matrix - y: %n z: %n sin: %n cos %n"><block s="reportDifference"><block var="Object Y"/><block var="Camera Y"/></block><block var="Rotated Z"/><block var="Camera X Direction Sin"/><block var="Camera X Direction Cos"/></custom-block><custom-block s="3D Projection - x: %n y: %n z: %n"><block var="Rotated X"/><block var="Rotated Y"/><block var="Rotated Z"/></custom-block><custom-block s="Sort - distance %n"><block s="reportSum"><block s="reportProduct"><block s="reportDifference"><block var="Object X"/><block var="Camera X"/></block><block s="reportDifference"><block var="Object X"/><block var="Camera X"/></block></block><block s="reportSum"><block s="reportProduct"><block s="reportDifference"><block var="Object Y"/><block var="Camera Y"/></block><block s="reportDifference"><block var="Object Y"/><block var="Camera Y"/></block></block><block s="reportProduct"><block s="reportDifference"><block var="Object Z"/><block var="Camera Z"/></block><block s="reportDifference"><block var="Object Z"/><block var="Camera Z"/></block></block></block></block></custom-block></script><script><block s="hide"></block></script></block></script><script x="30" y="407.8333333333335"><block s="receiveGo"></block><block s="doSetVar"><l>Is Clone?</l><l>0</l></block><custom-block s="Add Tower - x: %n y: %n"><l>-300</l><l>300</l></custom-block><custom-block s="Add Tower - x: %n y: %n"><l>300</l><l>300</l></custom-block><custom-block s="Add Tower - x: %n y: %n"><l>-300</l><l>900</l></custom-block><custom-block s="Add Tower - x: %n y: %n"><l>300</l><l>900</l></custom-block></script><script x="30" y="566.8333333333335"><block s="receiveOnClone"></block><block s="doSetVar"><l>Is Clone?</l><l>1</l></block></script></scripts></sprite><sprite name="Camera Movement" idx="2" x="-2.2737367544323206e-13" y="-2.842170943040401e-14" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="10.60800000000001,0,132.6,1" pen="tip" id="134"><costumes><list struct="atomic" id="135"></list></costumes><sounds><list struct="atomic" id="136"></list></sounds><blocks></blocks><variables><variable name="Player X Speed"><l>3.1208380484876765e-17</l></variable><variable name="Player Y Speed"><l>0</l></variable><variable name="Player Z Speed"><l>1.801816687391585e-17</l></variable></variables><scripts><script x="30" y="10"><block s="receiveGo"></block><block s="hide"></block><block s="doSetVar"><l>Camera X</l><l>0</l></block><block s="doSetVar"><l>Camera Y</l><l>0</l></block><block s="doSetVar"><l>Camera Z</l><l>0</l></block><block s="doSetVar"><l>Camera Y Direction</l><l>0</l></block><block s="doSetVar"><l>Camera Y Direction</l><l>0</l></block><block s="doForever"><script><block s="doIf"><block s="reportKeyPressed"><l><option>right arrow</option></l></block><script><block s="doChangeVar"><l>Camera Y Direction</l><l>5</l></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>left arrow</option></l></block><script><block s="doChangeVar"><l>Camera Y Direction</l><l>-5</l></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>up arrow</option></l></block><script><block s="doChangeVar"><l>Camera X Direction</l><l>5</l></block><block s="doIf"><block s="reportGreaterThan"><block var="Camera X Direction"/><l>45</l></block><script><block s="doSetVar"><l>Camera X Direction</l><l>45</l></block></script></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>down arrow</option></l></block><script><block s="doChangeVar"><l>Camera X Direction</l><l>-5</l></block><block s="doIf"><block s="reportLessThan"><block var="Camera X Direction"/><l>-45</l></block><script><block s="doSetVar"><l>Camera X Direction</l><l>-45</l></block></script></block></script></block><custom-block s="Player Physics - Acceleration: %n Friction: %n Gravity: %n Jump Height: %n"><l>3</l><l>0.8</l><l>-1</l><l>5</l></custom-block><block s="doSetVar"><l>Camera Y Direction Sin</l><block s="reportMonadic"><l><option>sin</option></l><block s="reportDifference"><l>0</l><block var="Camera Y Direction"/></block></block></block><block s="doSetVar"><l>Camera Y Direction Cos</l><block s="reportMonadic"><l><option>cos</option></l><block s="reportDifference"><l>0</l><block var="Camera Y Direction"/></block></block></block><block s="doSetVar"><l>Camera X Direction Sin</l><block s="reportMonadic"><l><option>sin</option></l><block s="reportDifference"><l>0</l><block var="Camera X Direction"/></block></block></block><block s="doSetVar"><l>Camera X Direction Cos</l><block s="reportMonadic"><l><option>cos</option></l><block s="reportDifference"><l>0</l><block var="Camera X Direction"/></block></block></block><block s="doDeleteFromList"><l><option>all</option></l><block s="reportNewList"><list><block var="Distances"/></list></block></block><block s="doBroadcast"><l>Frame</l></block></script></block></script></scripts></sprite><watcher var="Camera X" style="normal" x="10.000000000000114" y="10" color="243,118,29" hidden="true"/><watcher var="Camera Y" style="normal" x="10.000000000000114" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="Camera Z" style="normal" x="10.000000000000114" y="52.00000399999996" color="243,118,29" hidden="true"/><watcher var="Distance to Screen" style="normal" x="10.000000000000114" y="136.0000119999999" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Object X" style="normal" x="9" y="83.00000599999994" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Object Y" style="normal" x="9" y="122.00000799999995" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Object Z" style="normal" x="8.000000000000568" y="166.00001" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Rotated X" style="normal" x="10.000000000000114" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Rotated Z" style="normal" x="10.000000000000114" y="52.000003999999976" color="243,118,29" hidden="true"/><watcher scope="Objects" var="i" style="normal" x="10.000000000000114" y="73.000006" color="243,118,29" hidden="true"/><watcher var="Distances" style="normal" x="10.000000000000114" y="94.00000800000002" color="243,118,29" hidden="true"/><watcher var="Camera X Direction" style="normal" x="10.000000000000114" y="115.00000999999997" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Rotated Y" style="normal" x="10.000000000000114" y="136.000012" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Screen X" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Screen Y" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="Camera Y Direction Sin" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="Camera Y Direction Cos" style="normal" x="10" y="73.00000599999998" color="243,118,29" hidden="true"/><watcher var="Camera X Direction Sin" style="normal" x="10" y="94.00000799999998" color="243,118,29" hidden="true"/><watcher var="Camera X Direction Cos" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/><watcher scope="Objects" var="Is Clone?" style="normal" x="10" y="136.00001199999997" color="243,118,29" hidden="true"/><watcher scope="Camera Movement" var="Player X Speed" style="normal" x="10" y="157.00001399999996" color="243,118,29" hidden="true"/><watcher scope="Camera Movement" var="Player Y Speed" style="normal" x="10" y="178.00001599999996" color="243,118,29" hidden="true"/><watcher scope="Camera Movement" var="Player Z Speed" style="normal" x="10" y="199.00001799999995" color="243,118,29" hidden="true"/><watcher scope="Objects" s="xPosition" style="normal" x="10" y="220.00001999999995" color="74,108,212" hidden="true"/><watcher scope="Objects" s="yPosition" style="normal" x="10" y="241.00002199999994" color="74,108,212" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="3D Projection - x: %&apos;x&apos; y: %&apos;y&apos; z: %&apos;z&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doSetVar"><l>Screen X</l><block s="reportProduct"><block var="x"/><block s="reportQuotient"><block var="Distance to Screen"/><block var="z"/></block></block></block><block s="doSetVar"><l>Screen Y</l><block s="reportProduct"><block var="y"/><block s="reportQuotient"><block var="Distance to Screen"/><block var="z"/></block></block></block><block s="doWarp"><script><block s="doIfElse"><block s="reportGreaterThan"><block var="x"/><l>-600</l></block><script><block s="gotoXY"><block var="Screen X"/><block var="Screen Y"/></block><block s="setHeading"><block s="reportSum"><l>90</l><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportDifference"><l>0</l><block var="Screen X"/></block><block s="reportDifference"><block s="reportQuotient"><block var="Distance to Screen"/><block s="reportMonadic"><l><option>tan</option></l><block var="Camera X Direction"/></block></block><block var="Screen Y"/></block></block></block></block></block><block s="setScale"><block s="reportProduct"><l>100</l><block s="reportQuotient"><block var="Distance to Screen"/><block var="z"/></block></block></block><block s="show"></block></script><script><block s="hide"></block></script></block></script></block></script></block-definition><block-definition s="Add Object - x: %&apos;x&apos; y: %&apos;y&apos; z: %&apos;z&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>Object X</l><block var="x"/></block><block s="doSetVar"><l>Object Y</l><block var="y"/></block><block s="doSetVar"><l>Object Z</l><block var="z"/></block><block s="createClone"><l><option>myself</option></l></block></script></block></script></block-definition><block-definition s="Rotation Matrix - x: %&apos;x&apos; z: %&apos;z&apos; sin: %&apos;sin&apos; cos: %&apos;cos&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>Rotated X</l><block s="reportSum"><block s="reportProduct"><block var="z"/><block var="sin"/></block><block s="reportProduct"><block var="x"/><block var="cos"/></block></block></block><block s="doSetVar"><l>Rotated Z</l><block s="reportDifference"><block s="reportProduct"><block var="z"/><block var="cos"/></block><block s="reportProduct"><block var="x"/><block var="sin"/></block></block></block></script></block></script></block-definition><block-definition s="Sort - distance %&apos;distance&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doWarp"><script><block s="doUntil"><block s="reportNot"><block s="reportLessThan"><block var="distance"/><block s="reportListItem"><l>1</l><block s="reportNewList"><list><block var="Distances"/></list></block></block></block></block><script><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doInsertInList"><block var="distance"/><block var="i"/><block s="reportNewList"><list><block var="Distances"/></list></block></block><block s="goBack"><block s="reportDifference"><block var="i"/><l>1</l></block></block></script></block></script></block-definition><block-definition s="Rotation Matrix - y: %&apos;y&apos; z: %&apos;z&apos; sin: %&apos;sin&apos; cos %&apos;cos&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>Rotated Y</l><block s="reportSum"><block s="reportProduct"><block var="z"/><block var="sin"/></block><block s="reportProduct"><block var="y"/><block var="cos"/></block></block></block><block s="doSetVar"><l>Rotated Z</l><block s="reportDifference"><block s="reportProduct"><block var="z"/><block var="cos"/></block><block s="reportProduct"><block var="y"/><block var="sin"/></block></block></block></script></block></script></block-definition><block-definition s="Add Tower - x: %&apos;x&apos; y: %&apos;y&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doSwitchToCostume"><l>Wall Panel</l></block><block s="doSetVar"><l>i</l><l>0</l></block><block s="doWarp"><script><block s="doRepeat"><l>3</l><script><custom-block s="Add Object - x: %n y: %n z: %n"><block s="reportSum"><l>40</l><block var="x"/></block><block var="i"/><block s="reportSum"><l>40</l><block var="y"/></block></custom-block><custom-block s="Add Object - x: %n y: %n z: %n"><block s="reportSum"><l>-40</l><block var="x"/></block><block var="i"/><block s="reportSum"><l>40</l><block var="y"/></block></custom-block><custom-block s="Add Object - x: %n y: %n z: %n"><block s="reportSum"><l>40</l><block var="x"/></block><block var="i"/><block s="reportSum"><l>-40</l><block var="y"/></block></custom-block><custom-block s="Add Object - x: %n y: %n z: %n"><block s="reportSum"><l>-40</l><block var="x"/></block><block var="i"/><block s="reportSum"><l>-40</l><block var="y"/></block></custom-block><block s="doChangeVar"><l>i</l><l>125</l></block></script></block></script></block></script></block-definition><block-definition s="Player Physics - Acceleration: %&apos;Accel&apos; Friction: %&apos;Frict&apos; Gravity: %&apos;G&apos; Jump Height: %&apos;Jump Height&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportKeyPressed"><l><option>w</option></l></block><script><block s="doChangeVar"><l>Player X Speed</l><block s="reportProduct"><block var="Accel"/><block s="reportMonadic"><l><option>sin</option></l><block var="Camera Y Direction"/></block></block></block><block s="doChangeVar"><l>Player Z Speed</l><block s="reportProduct"><block var="Accel"/><block s="reportMonadic"><l><option>cos</option></l><block var="Camera Y Direction"/></block></block></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>s</option></l></block><script><block s="doChangeVar"><l>Player X Speed</l><block s="reportProduct"><block s="reportDifference"><l>0</l><block var="Accel"/></block><block s="reportMonadic"><l><option>sin</option></l><block var="Camera Y Direction"/></block></block></block><block s="doChangeVar"><l>Player Z Speed</l><block s="reportProduct"><block s="reportDifference"><l>0</l><block var="Accel"/></block><block s="reportMonadic"><l><option>cos</option></l><block var="Camera Y Direction"/></block></block></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>d</option></l></block><script><block s="doChangeVar"><l>Player X Speed</l><block s="reportProduct"><block var="Accel"/><block s="reportMonadic"><l><option>cos</option></l><block var="Camera Y Direction"/></block></block></block><block s="doChangeVar"><l>Player Z Speed</l><block s="reportProduct"><block s="reportDifference"><l>0</l><block var="Accel"/></block><block s="reportMonadic"><l><option>sin</option></l><block var="Camera Y Direction"/></block></block></block></script></block><block s="doIf"><block s="reportKeyPressed"><l><option>a</option></l></block><script><block s="doChangeVar"><l>Player X Speed</l><block s="reportProduct"><block s="reportDifference"><l>0</l><block var="Accel"/></block><block s="reportMonadic"><l><option>cos</option></l><block var="Camera Y Direction"/></block></block></block><block s="doChangeVar"><l>Player Z Speed</l><block s="reportProduct"><block var="Accel"/><block s="reportMonadic"><l><option>sin</option></l><block var="Camera Y Direction"/></block></block></block></script></block><block s="doSetVar"><l>Player X Speed</l><block s="reportProduct"><block var="Frict"/><block var="Player X Speed"/></block></block><block s="doSetVar"><l>Player Y Speed</l><block s="reportProduct"><block var="Frict"/><block var="Player Y Speed"/></block></block><block s="doSetVar"><l>Player Z Speed</l><block s="reportProduct"><block var="Frict"/><block var="Player Z Speed"/></block></block><block s="doChangeVar"><l>Camera X</l><block var="Player X Speed"/></block><block s="doChangeVar"><l>Camera Y</l><block var="Player Y Speed"/></block><block s="doChangeVar"><l>Camera Z</l><block var="Player Z Speed"/></block></script></block-definition></blocks><variables><variable name="Camera X"><l>1.525433862226889</l></variable><variable name="Camera Y"><l>0</l></variable><variable name="Camera Z"><l>0.8807096509876646</l></variable><variable name="Distance to Screen"><l>300</l></variable><variable name="Distances"><l>0</l></variable><variable name="Camera Y Direction"><l>-10</l></variable><variable name="Camera X Direction"><l>5</l></variable><variable name="Camera Y Direction Sin"><l>0.17364817766693033</l></variable><variable name="Camera Y Direction Cos"><l>0.984807753012208</l></variable><variable name="Camera X Direction Sin"><l>-0.08715574274765817</l></variable><variable name="Camera X Direction Cos"><l>0.9961946980917455</l></variable></variables></project><media name="3D Engine Project" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>