diff --git a/Characters/Character.cs b/Characters/Character.cs index 3d37e0f..585082f 100644 --- a/Characters/Character.cs +++ b/Characters/Character.cs @@ -5,7 +5,9 @@ namespace SupaLidlGame.Characters { public partial class Character : CharacterBody2D { + [Export] public float Speed { get; protected set; } = 128.0f; + public float JumpVelocity { get; protected set; } = -400.0f; public float AccelerationMagnitude { get; protected set; } = 256.0f; diff --git a/Characters/Enemy.cs b/Characters/Enemy.cs index 463e902..093aa24 100644 --- a/Characters/Enemy.cs +++ b/Characters/Enemy.cs @@ -5,124 +5,5 @@ namespace SupaLidlGame.Characters { public partial class Enemy : NPC { - public override void _Ready() - { - base._Ready(); - } - - public override void _Process(double delta) - { - if ((_thinkTimeElapsed -= delta) <= 0) - { - _thinkTimeElapsed = 0.25; - Think(); - } - - //Direction = (Target.GlobalPosition - GlobalPosition).Normalized(); - base._Process(delta); - } - - public override void _Draw() - { - for (byte i = 0; i < 16; i++) - { - Vector2 diff = WeightVec(i) * 128; - Color c = _dirIdx == i ? new Color(0, 255, 64) : new Color(0, 128, 24); - DrawLine(Vector2.Zero, diff, c, 2.0f); - } - - base._Draw(); - } - - private Vector2 WeightVec(int idx) - { - //GD.Print(_weights[idx]); - return WeightVecNorm(idx) * _weights[idx]; - } - - private Vector2 WeightVecNorm(int idx) - { - // sin(2pix/16) - float x = Mathf.Cos(Mathf.Pi * idx / 8); - float y = Mathf.Sin(Mathf.Pi * idx / 8); - return new Vector2(x, y); - } - - private Character FindBestTarget() - { - float bestDist = float.MaxValue; - Character bestChar = null; - foreach (Node node in GetParent().GetChildren()) - { - if (node != this && node is Character character) - { - float dist = Position.DistanceTo(character.Position); - if (dist < bestDist) - { - bestDist = dist; - bestChar = character; - } - } - } - return bestChar; - } - - private void Think() - { - Target = FindBestTarget(); - float bestWeight = 0; - - Vector2 want = GlobalPosition.DirectionTo(Target.GlobalPosition); - float dist = GlobalPosition.DistanceSquaredTo(Target.GlobalPosition); - for (byte i = 0; i < 16; i++) - { - Vector2 dir = WeightVecNorm(i); - // if close enough, _weights[i] will be instead calculated dot to a perpendicular weight - if (dist < 16384) - { - Vector2 dirA = WeightVecNorm((i + 4) % 16); - Vector2 dirB = WeightVecNorm((i - 4) % 16); - float dot = Mathf.Max(dirA.Dot(want) + dirA.Dot(Direction), - dirB.Dot(want) + dirB.Dot(Direction)); - _weights[i] = (dot + 1) / 2; - } - else - { - _weights[i] = (dir.Dot(want) + 1) / 2; - } - - // check each weight with a raycast to see if it will hit any object - // if it hits an object, subtract the weight by how close the ray is - if (_weights[i] > 0) - { - GD.Print("casting..."); - var spaceState = GetWorld2d().DirectSpaceState; - var args = new PhysicsRayQueryParameters2D(); - args.From = GlobalPosition; - args.To = GlobalPosition + dir * 256 * _weights[i]; - args.CollideWithBodies = true; - args.Exclude.Add(this.GetRid()); - var result = spaceState.IntersectRay(args); - GD.Print(result.Count); - if (result.Count > 0) - { - var pos = result["position"].AsVector2(); - var sub = pos.DistanceTo(GlobalPosition + dir); - _weights[i] -= sub; - GD.Print("hit!"); - } - } - - if (_weights[i] > bestWeight) - { - bestWeight = _weights[i]; - _dirIdx = i; - } - - //GD.Print(_weights[i]); - } - Direction = WeightVecNorm((byte)_dirIdx); - QueueRedraw(); - } } } diff --git a/Characters/ExampleEnemy.tscn b/Characters/ExampleEnemy.tscn index c7dbe11..f44728c 100644 --- a/Characters/ExampleEnemy.tscn +++ b/Characters/ExampleEnemy.tscn @@ -8,6 +8,7 @@ size = Vector2(32, 16) [node name="ExampleEnemy" type="CharacterBody2D"] script = ExtResource("1_4x3dm") +Speed = 32.0 [node name="Icon" type="Sprite2D" parent="."] scale = Vector2(0.25, 0.25) diff --git a/Characters/NPC.cs b/Characters/NPC.cs index 2452337..aa64ed0 100644 --- a/Characters/NPC.cs +++ b/Characters/NPC.cs @@ -5,20 +5,29 @@ namespace SupaLidlGame.Characters { public partial class NPC : Character { - /// Time in seconds it takes for the NPC to think - public const float ThinkTime = 0.25f; + /// + /// Time in seconds it takes for the NPC to think FeelsDankCube + /// + public const float ThinkTime = 0.125f; public Character Target { get; protected set; } public float[] Weights => _weights; - protected float[] _weights = new float[16]; - protected int _dirIdx = 0; + float[] _weights = new float[16]; + Vector2[] _weightDirs = new Vector2[16]; + int _bestWeightIdx; protected double _thinkTimeElapsed = 0; public override void _Ready() { base._Ready(); Array.Fill(_weights, 0); + for (int i = 0; i < 16; i++) + { + float y = Mathf.Sin(Mathf.Pi * i * 2 / 16); + float x = Mathf.Cos(Mathf.Pi * i * 2 / 16); + _weightDirs[i] = new Vector2(x, y); + } } public override void _Process(double delta) @@ -29,43 +38,39 @@ namespace SupaLidlGame.Characters Think(); } + Direction = _weightDirs[_bestWeightIdx]; //Direction = (Target.GlobalPosition - GlobalPosition).Normalized(); base._Process(delta); } public override void _Draw() { - for (byte i = 0; i < 16; i++) + for (int i = 0; i < 16; i++) { - Vector2 diff = WeightVec(i) * 128; - Color c = _dirIdx == i ? new Color(0, 255, 64) : new Color(0, 128, 24); - DrawLine(Vector2.Zero, diff, c, 2.0f); + Vector2 vec = _weightDirs[i] * _weights[i] * 128; + Color c = Colors.Green; + if (_bestWeightIdx == i) + { + c = Colors.Blue; + } + else if (_weights[i] < 0) + { + c = Colors.Red; + vec = -vec; + } + DrawLine(Vector2.Zero, vec, c); } base._Draw(); } - private Vector2 WeightVec(int idx) - { - //GD.Print(_weights[idx]); - return WeightVecNorm(idx) * _weights[idx]; - } - - private Vector2 WeightVecNorm(int idx) - { - // sin(2pix/16) - float x = Mathf.Cos(Mathf.Pi * idx / 8); - float y = Mathf.Sin(Mathf.Pi * idx / 8); - return new Vector2(x, y); - } - - private Character FindBestTarget() + protected virtual Character FindBestTarget() { float bestDist = float.MaxValue; Character bestChar = null; foreach (Node node in GetParent().GetChildren()) { - if (node != this && node is Character character) + if (node != this && node is Player character) { float dist = Position.DistanceTo(character.Position); if (dist < bestDist) @@ -80,59 +85,97 @@ namespace SupaLidlGame.Characters private void Think() { - Target = FindBestTarget(); - float bestWeight = 0; + Vector2 pos = FindBestTarget().GlobalPosition; + Vector2 dir = GlobalPosition.DirectionTo(pos); + float dist = GlobalPosition.DistanceSquaredTo(pos); - Vector2 want = GlobalPosition.DirectionTo(Target.GlobalPosition); - float dist = GlobalPosition.DistanceSquaredTo(Target.GlobalPosition); - for (byte i = 0; i < 16; i++) + for (int i = 0; i < 16; i++) { - Vector2 dir = WeightVecNorm(i); - // if close enough, _weights[i] will be instead calculated dot to a perpendicular weight - if (dist < 16384) + float directDot = _weightDirs[i].Dot(dir); + directDot = (directDot + 1) / 2; + + // this dot product resembles values of sine rather than cosine + // use it to weigh direction horizontally + Vector2 rotatedDir = new Vector2(-dir.y, dir.x); + float horizDot = Math.Abs(_weightDirs[i].Dot(rotatedDir)); + + // this is a smaller weight so they are more likely to + // pick the direction they are currently heading when + // choosing between two horizontal weights + float currDirDot = (_weightDirs[i].Dot(Direction) + 1) / 16; + + // square so lower values are even lower + horizDot = Mathf.Pow((horizDot + 1) / 2, 2) + currDirDot; + + // "When will I use math in the real world" Clueful + + + if (dist > 1024) { - Vector2 dirA = WeightVecNorm((i + 4) % 16); - Vector2 dirB = WeightVecNorm((i - 4) % 16); - float dot = Mathf.Max(dirA.Dot(want) + dirA.Dot(Direction), - dirB.Dot(want) + dirB.Dot(Direction)); - _weights[i] = (dot + 1) / 2; + _weights[i] = directDot; + } + else if (dist > 64) + { + float directDotWeighting = (dist - 64) / 960; + float horizDotWeighting = 1 - directDotWeighting; + + _weights[i] = (directDot * directDotWeighting) + + (horizDot * horizDotWeighting); } else { - _weights[i] = (dir.Dot(want) + 1) / 2; + // shorter than 64 + _weights[i] = horizDot; } - // check each weight with a raycast to see if it will hit any object - // if it hits an object, subtract the weight by how close the ray is - if (_weights[i] > 0) + // now we shall subtract weights whose rays collide + // with something + { - GD.Print("casting..."); var spaceState = GetWorld2d().DirectSpaceState; - var args = new PhysicsRayQueryParameters2D(); - args.From = GlobalPosition; - args.To = GlobalPosition + dir * 256 * _weights[i]; - args.CollideWithBodies = true; - args.Exclude.Add(this.GetRid()); - var result = spaceState.IntersectRay(args); - GD.Print(result.Count); + var exclude = new Godot.Collections.Array(); + exclude.Add(this.GetRid()); + var rayParams = new PhysicsRayQueryParameters2D + { + Exclude = exclude, + CollideWithBodies = true, + From = GlobalPosition, + To = GlobalPosition + (_weightDirs[i] * 16) + }; + + var result = spaceState.IntersectRay(rayParams); + + // if our ray cast hits something if (result.Count > 0) { - var pos = result["position"].AsVector2(); - var sub = pos.DistanceTo(GlobalPosition + dir); - _weights[i] -= sub; - GD.Print("hit!"); + // then we subtract the dot product of other directions + for (int j = 0; j < 16; j++) + { + if (i == j) + { + _weights[i] = 0; + } + else + { + float dot = _weightDirs[i].Dot(_weightDirs[j]); + _weights[j] -= (dot + 1) / 4; + } + } } } + } + float bestWeight = 0; + + for (int i = 0; i < 16; i++) + { if (_weights[i] > bestWeight) { bestWeight = _weights[i]; - _dirIdx = i; + _bestWeightIdx = i; } - - //GD.Print(_weights[i]); } - Direction = WeightVecNorm((byte)_dirIdx); + QueueRedraw(); } } diff --git a/Characters/Player.cs b/Characters/Player.cs index 7880e20..c6111e7 100644 --- a/Characters/Player.cs +++ b/Characters/Player.cs @@ -3,16 +3,16 @@ using System; namespace SupaLidlGame.Characters { - public partial class Player : Character - { - public override void _Ready() - { - Speed = 256.0f; - } + public partial class Player : Character + { + public override void _Ready() + { - public override void _Process(double delta) - { - Direction = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down"); - } - } + } + + public override void _Process(double delta) + { + Direction = Input.GetVector("ui_left", "ui_right", "ui_up", "ui_down"); + } + } } diff --git a/Characters/Player.tscn b/Characters/Player.tscn index c233c89..18ee00d 100644 --- a/Characters/Player.tscn +++ b/Characters/Player.tscn @@ -19,3 +19,6 @@ shape = SubResource("RectangleShape2D_bfqew") [node name="Camera2D" type="Camera2D" parent="."] current = true +zoom = Vector2(4, 4) + +[node name="StateManager" type="Node" parent="."] diff --git a/Prototyping/ContextBasedSteering.cs b/Prototyping/ContextBasedSteering.cs new file mode 100644 index 0000000..2bacd73 --- /dev/null +++ b/Prototyping/ContextBasedSteering.cs @@ -0,0 +1,99 @@ +using Godot; +using System; + +namespace SupaLidlGame.Prototyping +{ + public partial class ContextBasedSteering : Node2D + { + float[] _weights = new float[16]; + Vector2[] _weightDirs = new Vector2[16]; + int _bestWeightIdx; + + // Called when the node enters the scene tree for the first time. + public override void _Ready() + { + Array.Fill(_weights, 1); + for (int i = 0; i < 16; i++) + { + float y = Mathf.Sin(Mathf.Pi * i * 2 / 16); + float x = Mathf.Cos(Mathf.Pi * i * 2 / 16); + _weightDirs[i] = new Vector2(x, y); + } + } + + // Called every frame. 'delta' is the elapsed time since the previous frame. + public override void _Process(double delta) + { + Vector2 pos = GetLocalMousePosition(); + Vector2 dir = GlobalPosition.DirectionTo(pos); + float dist = GlobalPosition.DistanceSquaredTo(pos); + + for (int i = 0; i < 16; i++) + { + float directDot = _weightDirs[i].Dot(dir); + directDot = (directDot + 1) / 2; + + // this dot product resembles values of sine rather than cosine + // use it to weigh direction horizontally + Vector2 rotatedDir = new Vector2(-dir.y, dir.x); + float horizDot = Math.Abs(_weightDirs[i].Dot(rotatedDir)); + // square so lower values are even lower + horizDot = Mathf.Pow((horizDot + 1) / 2, 2); + + // "When will I use math in the real world" Clueful + + + if (dist > 1024) + { + _weights[i] = directDot; + } + else if (dist > 256) + { + float directDotWeighting = (dist - 256) / 768; + float horizDotWeighting = 1 - directDotWeighting; + + _weights[i] = (directDot * directDotWeighting) + + (horizDot * horizDotWeighting); + } + else + { + // shorter than 256 + _weights[i] = horizDot; + } + + // now we shall subtract weights whose rays collide + // with something + + { + + } + } + + float bestWeight = 0; + for (int i = 0; i < 16; i++) + { + if (_weights[i] > bestWeight) + { + bestWeight = _weights[i]; + _bestWeightIdx = i; + } + } + + QueueRedraw(); + } + + public override void _Draw() + { + for (int i = 0; i < 16; i++) + { + Vector2 vec = _weightDirs[i] * _weights[i] * 128; + Color c = Colors.Green; + if (_bestWeightIdx == i) + { + c = Colors.Blue; + } + DrawLine(GlobalPosition, GlobalPosition + vec, c); + } + } + } +} diff --git a/Prototyping/ContextBasedSteeringTest.tscn b/Prototyping/ContextBasedSteeringTest.tscn new file mode 100644 index 0000000..2622ca7 --- /dev/null +++ b/Prototyping/ContextBasedSteeringTest.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=3 uid="uid://dmbgefwamg0u7"] + +[ext_resource type="Script" path="res://Prototyping/ContextBasedSteering.cs" id="1_t0k7y"] + +[node name="ContextBasedSteeringTest" type="Node2D"] + +[node name="ContextBasedSteering" type="Node2D" parent="."] +position = Vector2(410, 242) +script = ExtResource("1_t0k7y") diff --git a/Scenes/Level.tscn b/Scenes/Level.tscn index 7792680..79d92d2 100644 --- a/Scenes/Level.tscn +++ b/Scenes/Level.tscn @@ -1,26 +1,1135 @@ -[gd_scene load_steps=3 format=3 uid="uid://cbsosmpnenfwu"] +[gd_scene load_steps=6 format=3 uid="uid://cbsosmpnenfwu"] +[ext_resource type="Texture2D" uid="uid://gm2pcnfg7h8j" path="res://Sprites/tileset.png" id="1_k6myx"] [ext_resource type="PackedScene" uid="uid://bncaar8vp3b84" path="res://Characters/Player.tscn" id="1_m35hr"] [ext_resource type="PackedScene" uid="uid://dymwd5ihpwyqm" path="res://Characters/ExampleEnemy.tscn" id="2_uti3y"] +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_1pa1q"] +texture = ExtResource("1_k6myx") +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0 = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0 = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0 = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0 = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0 = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0 = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0 = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0 = 0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +12:0/0 = 0 +12:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:0/0/physics_layer_0/angular_velocity = 0.0 +13:0/0 = 0 +13:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:0/0/physics_layer_0/angular_velocity = 0.0 +14:0/0 = 0 +14:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:0/0/physics_layer_0/angular_velocity = 0.0 +15:0/0 = 0 +15:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:0/0/physics_layer_0/angular_velocity = 0.0 +16:0/0 = 0 +16:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:0/0/physics_layer_0/angular_velocity = 0.0 +17:0/0 = 0 +17:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:0/0/physics_layer_0/angular_velocity = 0.0 +18:0/0 = 0 +18:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:0/0/physics_layer_0/angular_velocity = 0.0 +19:0/0 = 0 +19:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:0/0/physics_layer_0/angular_velocity = 0.0 +20:0/0 = 0 +20:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:0/0/physics_layer_0/angular_velocity = 0.0 +21:0/0 = 0 +21:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:0/0/physics_layer_0/angular_velocity = 0.0 +22:0/0 = 0 +22:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:0/0/physics_layer_0/angular_velocity = 0.0 +23:0/0 = 0 +23:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:0/0/physics_layer_0/angular_velocity = 0.0 +24:0/0 = 0 +24:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:0/0/physics_layer_0/angular_velocity = 0.0 +25:0/0 = 0 +25:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:0/0/physics_layer_0/angular_velocity = 0.0 +26:0/0 = 0 +26:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:0/0/physics_layer_0/angular_velocity = 0.0 +0:1/0 = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0 = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0 = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0 = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0 = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +6:1/0 = 0 +6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:1/0/physics_layer_0/angular_velocity = 0.0 +10:1/0 = 0 +10:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0 = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +12:1/0 = 0 +12:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:1/0/physics_layer_0/angular_velocity = 0.0 +13:1/0 = 0 +13:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:1/0/physics_layer_0/angular_velocity = 0.0 +15:1/0 = 0 +15:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:1/0/physics_layer_0/angular_velocity = 0.0 +16:1/0 = 0 +16:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:1/0/physics_layer_0/angular_velocity = 0.0 +17:1/0 = 0 +17:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:1/0/physics_layer_0/angular_velocity = 0.0 +18:1/0 = 0 +18:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:1/0/physics_layer_0/angular_velocity = 0.0 +19:1/0 = 0 +19:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:1/0/physics_layer_0/angular_velocity = 0.0 +21:1/0 = 0 +21:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:1/0/physics_layer_0/angular_velocity = 0.0 +22:1/0 = 0 +22:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:1/0/physics_layer_0/angular_velocity = 0.0 +23:1/0 = 0 +23:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:1/0/physics_layer_0/angular_velocity = 0.0 +24:1/0 = 0 +24:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:1/0/physics_layer_0/angular_velocity = 0.0 +25:1/0 = 0 +25:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:1/0/physics_layer_0/angular_velocity = 0.0 +26:1/0 = 0 +26:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:1/0/physics_layer_0/angular_velocity = 0.0 +0:2/0 = 0 +0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:2/0/physics_layer_0/angular_velocity = 0.0 +1:2/0 = 0 +1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0 = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0 = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0 = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +5:2/0 = 0 +5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:2/0/physics_layer_0/angular_velocity = 0.0 +6:2/0 = 0 +6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0 = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0 = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +12:2/0 = 0 +12:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:2/0/physics_layer_0/angular_velocity = 0.0 +13:2/0 = 0 +13:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:2/0/physics_layer_0/angular_velocity = 0.0 +14:2/0 = 0 +14:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:2/0/physics_layer_0/angular_velocity = 0.0 +15:2/0 = 0 +15:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:2/0/physics_layer_0/angular_velocity = 0.0 +16:2/0 = 0 +16:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:2/0/physics_layer_0/angular_velocity = 0.0 +17:2/0 = 0 +17:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:2/0/physics_layer_0/angular_velocity = 0.0 +18:2/0 = 0 +18:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:2/0/physics_layer_0/angular_velocity = 0.0 +19:2/0 = 0 +19:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:2/0/physics_layer_0/angular_velocity = 0.0 +20:2/0 = 0 +20:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:2/0/physics_layer_0/angular_velocity = 0.0 +21:2/0 = 0 +21:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:2/0/physics_layer_0/angular_velocity = 0.0 +22:2/0 = 0 +22:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:2/0/physics_layer_0/angular_velocity = 0.0 +23:2/0 = 0 +23:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:2/0/physics_layer_0/angular_velocity = 0.0 +24:2/0 = 0 +24:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:2/0/physics_layer_0/angular_velocity = 0.0 +0:3/0 = 0 +0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:3/0/physics_layer_0/angular_velocity = 0.0 +1:3/0 = 0 +1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:3/0/physics_layer_0/angular_velocity = 0.0 +2:3/0 = 0 +2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0 = 0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0 = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0 = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +6:3/0 = 0 +6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/size_in_atlas = Vector2i(1, 2) +7:3/0 = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0 = 0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0 = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0 = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0 = 0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +12:3/0 = 0 +12:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:3/0/physics_layer_0/angular_velocity = 0.0 +13:3/0 = 0 +13:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:3/0/physics_layer_0/angular_velocity = 0.0 +14:3/0 = 0 +14:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:3/0/physics_layer_0/angular_velocity = 0.0 +15:3/0 = 0 +15:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:3/0/physics_layer_0/angular_velocity = 0.0 +16:3/0 = 0 +16:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:3/0/physics_layer_0/angular_velocity = 0.0 +17:3/0 = 0 +17:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:3/0/physics_layer_0/angular_velocity = 0.0 +18:3/0 = 0 +18:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:3/0/physics_layer_0/angular_velocity = 0.0 +19:3/0 = 0 +19:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:3/0/physics_layer_0/angular_velocity = 0.0 +20:3/0 = 0 +20:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:3/0/physics_layer_0/angular_velocity = 0.0 +21:3/0 = 0 +21:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:3/0/physics_layer_0/angular_velocity = 0.0 +22:3/0 = 0 +22:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:3/0/physics_layer_0/angular_velocity = 0.0 +23:3/0 = 0 +23:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:3/0/physics_layer_0/angular_velocity = 0.0 +24:3/0 = 0 +24:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:3/0/physics_layer_0/angular_velocity = 0.0 +25:3/0 = 0 +25:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:3/0/physics_layer_0/angular_velocity = 0.0 +27:3/0 = 0 +27:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:3/0/physics_layer_0/angular_velocity = 0.0 +0:4/0 = 0 +0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:4/0/physics_layer_0/angular_velocity = 0.0 +2:4/0 = 0 +2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:4/0/physics_layer_0/angular_velocity = 0.0 +3:4/0 = 0 +3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:4/0/physics_layer_0/angular_velocity = 0.0 +4:4/0 = 0 +4:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:4/0/physics_layer_0/angular_velocity = 0.0 +5:4/0 = 0 +5:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:4/0/physics_layer_0/angular_velocity = 0.0 +6:4/0 = 0 +6:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:4/0/physics_layer_0/angular_velocity = 0.0 +8:4/0 = 0 +8:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:4/0/physics_layer_0/angular_velocity = 0.0 +9:4/0 = 0 +9:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:4/0/physics_layer_0/angular_velocity = 0.0 +10:4/0 = 0 +10:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:4/0/physics_layer_0/angular_velocity = 0.0 +11:4/0 = 0 +11:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:4/0/physics_layer_0/angular_velocity = 0.0 +12:4/0 = 0 +12:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:4/0/physics_layer_0/angular_velocity = 0.0 +13:4/0 = 0 +13:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:4/0/physics_layer_0/angular_velocity = 0.0 +14:4/0 = 0 +14:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:4/0/physics_layer_0/angular_velocity = 0.0 +15:4/0 = 0 +15:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:4/0/physics_layer_0/angular_velocity = 0.0 +16:4/0 = 0 +16:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:4/0/physics_layer_0/angular_velocity = 0.0 +17:4/0 = 0 +17:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:4/0/physics_layer_0/angular_velocity = 0.0 +18:4/0 = 0 +18:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:4/0/physics_layer_0/angular_velocity = 0.0 +19:4/0 = 0 +19:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:4/0/physics_layer_0/angular_velocity = 0.0 +20:4/0 = 0 +20:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:4/0/physics_layer_0/angular_velocity = 0.0 +22:4/0 = 0 +22:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:4/0/physics_layer_0/angular_velocity = 0.0 +23:4/0 = 0 +23:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:4/0/physics_layer_0/angular_velocity = 0.0 +24:4/0 = 0 +24:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:4/0/physics_layer_0/angular_velocity = 0.0 +27:4/0 = 0 +27:4/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:4/0/physics_layer_0/angular_velocity = 0.0 +0:5/0 = 0 +0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:5/0/physics_layer_0/angular_velocity = 0.0 +1:5/0 = 0 +1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:5/0/physics_layer_0/angular_velocity = 0.0 +2:5/0 = 0 +2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:5/0/physics_layer_0/angular_velocity = 0.0 +3:5/0 = 0 +3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:5/0/physics_layer_0/angular_velocity = 0.0 +4:5/0 = 0 +4:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:5/0/physics_layer_0/angular_velocity = 0.0 +5:5/0 = 0 +5:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:5/0/physics_layer_0/angular_velocity = 0.0 +6:5/0 = 0 +6:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:5/0/physics_layer_0/angular_velocity = 0.0 +7:5/0 = 0 +7:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:5/0/physics_layer_0/angular_velocity = 0.0 +8:5/0 = 0 +8:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:5/0/physics_layer_0/angular_velocity = 0.0 +9:5/0 = 0 +9:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:5/0/physics_layer_0/angular_velocity = 0.0 +10:5/0 = 0 +10:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:5/0/physics_layer_0/angular_velocity = 0.0 +11:5/0 = 0 +11:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:5/0/physics_layer_0/angular_velocity = 0.0 +12:5/0 = 0 +12:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:5/0/physics_layer_0/angular_velocity = 0.0 +13:5/0 = 0 +13:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:5/0/physics_layer_0/angular_velocity = 0.0 +14:5/0 = 0 +14:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:5/0/physics_layer_0/angular_velocity = 0.0 +15:5/0 = 0 +15:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:5/0/physics_layer_0/angular_velocity = 0.0 +16:5/0 = 0 +16:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:5/0/physics_layer_0/angular_velocity = 0.0 +17:5/0 = 0 +17:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:5/0/physics_layer_0/angular_velocity = 0.0 +18:5/0 = 0 +18:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:5/0/physics_layer_0/angular_velocity = 0.0 +19:5/0 = 0 +19:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:5/0/physics_layer_0/angular_velocity = 0.0 +20:5/0 = 0 +20:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:5/0/physics_layer_0/angular_velocity = 0.0 +21:5/0 = 0 +21:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:5/0/physics_layer_0/angular_velocity = 0.0 +22:5/0 = 0 +22:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:5/0/physics_layer_0/angular_velocity = 0.0 +23:5/0 = 0 +23:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:5/0/physics_layer_0/angular_velocity = 0.0 +24:5/0 = 0 +24:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:5/0/physics_layer_0/angular_velocity = 0.0 +25:5/0 = 0 +25:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:5/0/physics_layer_0/angular_velocity = 0.0 +26:5/0 = 0 +26:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:5/0/physics_layer_0/angular_velocity = 0.0 +27:5/0 = 0 +27:5/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:5/0/physics_layer_0/angular_velocity = 0.0 +0:6/0 = 0 +0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:6/0/physics_layer_0/angular_velocity = 0.0 +1:6/0 = 0 +1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:6/0/physics_layer_0/angular_velocity = 0.0 +2:6/0 = 0 +2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:6/0/physics_layer_0/angular_velocity = 0.0 +3:6/0 = 0 +3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:6/0/physics_layer_0/angular_velocity = 0.0 +4:6/0 = 0 +4:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:6/0/physics_layer_0/angular_velocity = 0.0 +5:6/0 = 0 +5:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:6/0/physics_layer_0/angular_velocity = 0.0 +6:6/0 = 0 +6:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:6/0/physics_layer_0/angular_velocity = 0.0 +7:6/0 = 0 +7:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:6/0/physics_layer_0/angular_velocity = 0.0 +8:6/0 = 0 +8:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:6/0/physics_layer_0/angular_velocity = 0.0 +9:6/0 = 0 +9:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:6/0/physics_layer_0/angular_velocity = 0.0 +10:6/0 = 0 +10:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:6/0/physics_layer_0/angular_velocity = 0.0 +11:6/0 = 0 +11:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:6/0/physics_layer_0/angular_velocity = 0.0 +12:6/0 = 0 +12:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:6/0/physics_layer_0/angular_velocity = 0.0 +13:6/0 = 0 +13:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:6/0/physics_layer_0/angular_velocity = 0.0 +14:6/0 = 0 +14:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:6/0/physics_layer_0/angular_velocity = 0.0 +15:6/0 = 0 +15:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:6/0/physics_layer_0/angular_velocity = 0.0 +16:6/0 = 0 +16:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:6/0/physics_layer_0/angular_velocity = 0.0 +17:6/0 = 0 +17:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:6/0/physics_layer_0/angular_velocity = 0.0 +18:6/0 = 0 +18:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:6/0/physics_layer_0/angular_velocity = 0.0 +19:6/0 = 0 +19:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:6/0/physics_layer_0/angular_velocity = 0.0 +20:6/0 = 0 +20:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:6/0/physics_layer_0/angular_velocity = 0.0 +21:6/0 = 0 +21:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:6/0/physics_layer_0/angular_velocity = 0.0 +22:6/0 = 0 +22:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:6/0/physics_layer_0/angular_velocity = 0.0 +23:6/0 = 0 +23:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:6/0/physics_layer_0/angular_velocity = 0.0 +24:6/0 = 0 +24:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:6/0/physics_layer_0/angular_velocity = 0.0 +25:6/0 = 0 +25:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:6/0/physics_layer_0/angular_velocity = 0.0 +26:6/0 = 0 +26:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:6/0/physics_layer_0/angular_velocity = 0.0 +27:6/0 = 0 +27:6/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:6/0/physics_layer_0/angular_velocity = 0.0 +0:7/0 = 0 +0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:7/0/physics_layer_0/angular_velocity = 0.0 +1:7/0 = 0 +1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:7/0/physics_layer_0/angular_velocity = 0.0 +2:7/0 = 0 +2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:7/0/physics_layer_0/angular_velocity = 0.0 +3:7/0 = 0 +3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:7/0/physics_layer_0/angular_velocity = 0.0 +4:7/0 = 0 +4:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:7/0/physics_layer_0/angular_velocity = 0.0 +5:7/0 = 0 +5:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:7/0/physics_layer_0/angular_velocity = 0.0 +6:7/0 = 0 +6:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:7/0/physics_layer_0/angular_velocity = 0.0 +7:7/0 = 0 +7:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:7/0/physics_layer_0/angular_velocity = 0.0 +8:7/0 = 0 +8:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:7/0/physics_layer_0/angular_velocity = 0.0 +9:7/0 = 0 +9:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:7/0/physics_layer_0/angular_velocity = 0.0 +10:7/0 = 0 +10:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:7/0/physics_layer_0/angular_velocity = 0.0 +11:7/0 = 0 +11:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:7/0/physics_layer_0/angular_velocity = 0.0 +12:7/0 = 0 +12:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:7/0/physics_layer_0/angular_velocity = 0.0 +13:7/0 = 0 +13:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:7/0/physics_layer_0/angular_velocity = 0.0 +14:7/0 = 0 +14:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:7/0/physics_layer_0/angular_velocity = 0.0 +15:7/0 = 0 +15:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:7/0/physics_layer_0/angular_velocity = 0.0 +16:7/0 = 0 +16:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:7/0/physics_layer_0/angular_velocity = 0.0 +17:7/0 = 0 +17:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:7/0/physics_layer_0/angular_velocity = 0.0 +18:7/0 = 0 +18:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:7/0/physics_layer_0/angular_velocity = 0.0 +19:7/0 = 0 +19:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:7/0/physics_layer_0/angular_velocity = 0.0 +21:7/0 = 0 +21:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:7/0/physics_layer_0/angular_velocity = 0.0 +22:7/0 = 0 +22:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:7/0/physics_layer_0/angular_velocity = 0.0 +23:7/0 = 0 +23:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:7/0/physics_layer_0/angular_velocity = 0.0 +24:7/0 = 0 +24:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:7/0/physics_layer_0/angular_velocity = 0.0 +25:7/0 = 0 +25:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:7/0/physics_layer_0/angular_velocity = 0.0 +26:7/0 = 0 +26:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:7/0/physics_layer_0/angular_velocity = 0.0 +27:7/0 = 0 +27:7/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:7/0/physics_layer_0/angular_velocity = 0.0 +0:8/0 = 0 +0:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:8/0/physics_layer_0/angular_velocity = 0.0 +1:8/0 = 0 +1:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:8/0/physics_layer_0/angular_velocity = 0.0 +2:8/0 = 0 +2:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:8/0/physics_layer_0/angular_velocity = 0.0 +3:8/0 = 0 +3:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:8/0/physics_layer_0/angular_velocity = 0.0 +4:8/0 = 0 +4:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:8/0/physics_layer_0/angular_velocity = 0.0 +5:8/0 = 0 +5:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:8/0/physics_layer_0/angular_velocity = 0.0 +6:8/0 = 0 +6:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:8/0/physics_layer_0/angular_velocity = 0.0 +7:8/0 = 0 +7:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:8/0/physics_layer_0/angular_velocity = 0.0 +8:8/0 = 0 +8:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:8/0/physics_layer_0/angular_velocity = 0.0 +9:8/0 = 0 +9:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:8/0/physics_layer_0/angular_velocity = 0.0 +10:8/0 = 0 +10:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:8/0/physics_layer_0/angular_velocity = 0.0 +12:8/0 = 0 +12:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:8/0/physics_layer_0/angular_velocity = 0.0 +13:8/0 = 0 +13:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:8/0/physics_layer_0/angular_velocity = 0.0 +14:8/0 = 0 +14:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:8/0/physics_layer_0/angular_velocity = 0.0 +15:8/0 = 0 +15:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:8/0/physics_layer_0/angular_velocity = 0.0 +16:8/0 = 0 +16:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:8/0/physics_layer_0/angular_velocity = 0.0 +17:8/0 = 0 +17:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:8/0/physics_layer_0/angular_velocity = 0.0 +18:8/0 = 0 +18:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:8/0/physics_layer_0/angular_velocity = 0.0 +19:8/0 = 0 +19:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:8/0/physics_layer_0/angular_velocity = 0.0 +20:8/0 = 0 +20:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:8/0/physics_layer_0/angular_velocity = 0.0 +21:8/0 = 0 +21:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:8/0/physics_layer_0/angular_velocity = 0.0 +22:8/0 = 0 +22:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:8/0/physics_layer_0/angular_velocity = 0.0 +23:8/0 = 0 +23:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:8/0/physics_layer_0/angular_velocity = 0.0 +24:8/0 = 0 +24:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:8/0/physics_layer_0/angular_velocity = 0.0 +25:8/0 = 0 +25:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:8/0/physics_layer_0/angular_velocity = 0.0 +26:8/0 = 0 +26:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:8/0/physics_layer_0/angular_velocity = 0.0 +27:8/0 = 0 +27:8/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:8/0/physics_layer_0/angular_velocity = 0.0 +0:9/0 = 0 +0:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:9/0/physics_layer_0/angular_velocity = 0.0 +1:9/0 = 0 +1:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:9/0/physics_layer_0/angular_velocity = 0.0 +2:9/0 = 0 +2:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:9/0/physics_layer_0/angular_velocity = 0.0 +3:9/0 = 0 +3:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:9/0/physics_layer_0/angular_velocity = 0.0 +4:9/0 = 0 +4:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:9/0/physics_layer_0/angular_velocity = 0.0 +5:9/0 = 0 +5:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:9/0/physics_layer_0/angular_velocity = 0.0 +6:9/0 = 0 +6:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:9/0/physics_layer_0/angular_velocity = 0.0 +7:9/0 = 0 +7:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:9/0/physics_layer_0/angular_velocity = 0.0 +8:9/0 = 0 +8:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:9/0/physics_layer_0/angular_velocity = 0.0 +9:9/0 = 0 +9:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:9/0/physics_layer_0/angular_velocity = 0.0 +10:9/0 = 0 +10:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:9/0/physics_layer_0/angular_velocity = 0.0 +11:9/0 = 0 +11:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:9/0/physics_layer_0/angular_velocity = 0.0 +12:9/0 = 0 +12:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:9/0/physics_layer_0/angular_velocity = 0.0 +13:9/0 = 0 +13:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:9/0/physics_layer_0/angular_velocity = 0.0 +14:9/0 = 0 +14:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:9/0/physics_layer_0/angular_velocity = 0.0 +15:9/0 = 0 +15:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:9/0/physics_layer_0/angular_velocity = 0.0 +16:9/0 = 0 +16:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:9/0/physics_layer_0/angular_velocity = 0.0 +17:9/0 = 0 +17:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:9/0/physics_layer_0/angular_velocity = 0.0 +18:9/0 = 0 +18:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:9/0/physics_layer_0/angular_velocity = 0.0 +19:9/0 = 0 +19:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:9/0/physics_layer_0/angular_velocity = 0.0 +21:9/0 = 0 +21:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:9/0/physics_layer_0/angular_velocity = 0.0 +23:9/0 = 0 +23:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:9/0/physics_layer_0/angular_velocity = 0.0 +24:9/0 = 0 +24:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:9/0/physics_layer_0/angular_velocity = 0.0 +25:9/0 = 0 +25:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:9/0/physics_layer_0/angular_velocity = 0.0 +26:9/0 = 0 +26:9/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:9/0/physics_layer_0/angular_velocity = 0.0 +0:10/0 = 0 +0:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:10/0/physics_layer_0/angular_velocity = 0.0 +1:10/0 = 0 +1:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:10/0/physics_layer_0/angular_velocity = 0.0 +2:10/0 = 0 +2:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:10/0/physics_layer_0/angular_velocity = 0.0 +3:10/0 = 0 +3:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:10/0/physics_layer_0/angular_velocity = 0.0 +4:10/0 = 0 +4:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:10/0/physics_layer_0/angular_velocity = 0.0 +5:10/0 = 0 +5:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:10/0/physics_layer_0/angular_velocity = 0.0 +6:10/0 = 0 +6:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:10/0/physics_layer_0/angular_velocity = 0.0 +7:10/0 = 0 +7:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:10/0/physics_layer_0/angular_velocity = 0.0 +8:10/0 = 0 +8:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:10/0/physics_layer_0/angular_velocity = 0.0 +9:10/0 = 0 +9:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:10/0/physics_layer_0/angular_velocity = 0.0 +10:10/0 = 0 +10:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:10/0/physics_layer_0/angular_velocity = 0.0 +11:10/0 = 0 +11:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:10/0/physics_layer_0/angular_velocity = 0.0 +12:10/0 = 0 +12:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:10/0/physics_layer_0/angular_velocity = 0.0 +13:10/0 = 0 +13:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:10/0/physics_layer_0/angular_velocity = 0.0 +14:10/0 = 0 +14:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:10/0/physics_layer_0/angular_velocity = 0.0 +15:10/0 = 0 +15:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:10/0/physics_layer_0/angular_velocity = 0.0 +16:10/0 = 0 +16:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:10/0/physics_layer_0/angular_velocity = 0.0 +17:10/0 = 0 +17:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:10/0/physics_layer_0/angular_velocity = 0.0 +18:10/0 = 0 +18:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:10/0/physics_layer_0/angular_velocity = 0.0 +19:10/0 = 0 +19:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:10/0/physics_layer_0/angular_velocity = 0.0 +20:10/0 = 0 +20:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:10/0/physics_layer_0/angular_velocity = 0.0 +21:10/0 = 0 +21:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +21:10/0/physics_layer_0/angular_velocity = 0.0 +22:10/0 = 0 +22:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:10/0/physics_layer_0/angular_velocity = 0.0 +23:10/0 = 0 +23:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:10/0/physics_layer_0/angular_velocity = 0.0 +24:10/0 = 0 +24:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:10/0/physics_layer_0/angular_velocity = 0.0 +25:10/0 = 0 +25:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:10/0/physics_layer_0/angular_velocity = 0.0 +26:10/0 = 0 +26:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:10/0/physics_layer_0/angular_velocity = 0.0 +27:10/0 = 0 +27:10/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:10/0/physics_layer_0/angular_velocity = 0.0 +0:11/0 = 0 +0:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:11/0/physics_layer_0/angular_velocity = 0.0 +1:11/0 = 0 +1:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:11/0/physics_layer_0/angular_velocity = 0.0 +2:11/0 = 0 +2:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:11/0/physics_layer_0/angular_velocity = 0.0 +3:11/0 = 0 +3:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:11/0/physics_layer_0/angular_velocity = 0.0 +4:11/0 = 0 +4:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:11/0/physics_layer_0/angular_velocity = 0.0 +5:11/0 = 0 +5:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:11/0/physics_layer_0/angular_velocity = 0.0 +6:11/0 = 0 +6:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:11/0/physics_layer_0/angular_velocity = 0.0 +7:11/0 = 0 +7:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:11/0/physics_layer_0/angular_velocity = 0.0 +8:11/0 = 0 +8:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:11/0/physics_layer_0/angular_velocity = 0.0 +9:11/0 = 0 +9:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:11/0/physics_layer_0/angular_velocity = 0.0 +10:11/0 = 0 +10:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:11/0/physics_layer_0/angular_velocity = 0.0 +11:11/0 = 0 +11:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:11/0/physics_layer_0/angular_velocity = 0.0 +12:11/0 = 0 +12:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:11/0/physics_layer_0/angular_velocity = 0.0 +13:11/0 = 0 +13:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:11/0/physics_layer_0/angular_velocity = 0.0 +14:11/0 = 0 +14:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:11/0/physics_layer_0/angular_velocity = 0.0 +15:11/0 = 0 +15:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:11/0/physics_layer_0/angular_velocity = 0.0 +16:11/0 = 0 +16:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:11/0/physics_layer_0/angular_velocity = 0.0 +17:11/0 = 0 +17:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:11/0/physics_layer_0/angular_velocity = 0.0 +18:11/0 = 0 +18:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:11/0/physics_layer_0/angular_velocity = 0.0 +19:11/0 = 0 +19:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:11/0/physics_layer_0/angular_velocity = 0.0 +20:11/0 = 0 +20:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +20:11/0/physics_layer_0/angular_velocity = 0.0 +22:11/0 = 0 +22:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:11/0/physics_layer_0/angular_velocity = 0.0 +23:11/0 = 0 +23:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:11/0/physics_layer_0/angular_velocity = 0.0 +24:11/0 = 0 +24:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:11/0/physics_layer_0/angular_velocity = 0.0 +25:11/0 = 0 +25:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:11/0/physics_layer_0/angular_velocity = 0.0 +26:11/0 = 0 +26:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +26:11/0/physics_layer_0/angular_velocity = 0.0 +27:11/0 = 0 +27:11/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:11/0/physics_layer_0/angular_velocity = 0.0 +0:12/0 = 0 +0:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:12/0/physics_layer_0/angular_velocity = 0.0 +1:12/0 = 0 +1:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:12/0/physics_layer_0/angular_velocity = 0.0 +2:12/0 = 0 +2:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:12/0/physics_layer_0/angular_velocity = 0.0 +3:12/0 = 0 +3:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:12/0/physics_layer_0/angular_velocity = 0.0 +4:12/0 = 0 +4:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:12/0/physics_layer_0/angular_velocity = 0.0 +5:12/0 = 0 +5:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:12/0/physics_layer_0/angular_velocity = 0.0 +6:12/0 = 0 +6:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:12/0/physics_layer_0/angular_velocity = 0.0 +7:12/0 = 0 +7:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:12/0/physics_layer_0/angular_velocity = 0.0 +8:12/0 = 0 +8:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:12/0/physics_layer_0/angular_velocity = 0.0 +10:12/0 = 0 +10:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:12/0/physics_layer_0/angular_velocity = 0.0 +11:12/0 = 0 +11:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:12/0/physics_layer_0/angular_velocity = 0.0 +12:12/0 = 0 +12:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:12/0/physics_layer_0/angular_velocity = 0.0 +13:12/0 = 0 +13:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:12/0/physics_layer_0/angular_velocity = 0.0 +14:12/0 = 0 +14:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:12/0/physics_layer_0/angular_velocity = 0.0 +15:12/0 = 0 +15:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:12/0/physics_layer_0/angular_velocity = 0.0 +16:12/0 = 0 +16:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:12/0/physics_layer_0/angular_velocity = 0.0 +17:12/0 = 0 +17:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:12/0/physics_layer_0/angular_velocity = 0.0 +18:12/0 = 0 +18:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +18:12/0/physics_layer_0/angular_velocity = 0.0 +19:12/0 = 0 +19:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +19:12/0/physics_layer_0/angular_velocity = 0.0 +22:12/0 = 0 +22:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +22:12/0/physics_layer_0/angular_velocity = 0.0 +23:12/0 = 0 +23:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +23:12/0/physics_layer_0/angular_velocity = 0.0 +24:12/0 = 0 +24:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +24:12/0/physics_layer_0/angular_velocity = 0.0 +25:12/0 = 0 +25:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +25:12/0/physics_layer_0/angular_velocity = 0.0 +27:12/0 = 0 +27:12/0/physics_layer_0/linear_velocity = Vector2(0, 0) +27:12/0/physics_layer_0/angular_velocity = 0.0 +0:13/0 = 0 +0:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:13/0/physics_layer_0/angular_velocity = 0.0 +2:13/0 = 0 +2:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:13/0/physics_layer_0/angular_velocity = 0.0 +3:13/0 = 0 +3:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:13/0/physics_layer_0/angular_velocity = 0.0 +5:13/0 = 0 +5:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:13/0/physics_layer_0/angular_velocity = 0.0 +6:13/0 = 0 +6:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:13/0/physics_layer_0/angular_velocity = 0.0 +7:13/0 = 0 +7:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:13/0/physics_layer_0/angular_velocity = 0.0 +8:13/0 = 0 +8:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:13/0/physics_layer_0/angular_velocity = 0.0 +9:13/0 = 0 +9:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:13/0/physics_layer_0/angular_velocity = 0.0 +10:13/0 = 0 +10:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:13/0/physics_layer_0/angular_velocity = 0.0 +11:13/0 = 0 +11:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:13/0/physics_layer_0/angular_velocity = 0.0 +12:13/0 = 0 +12:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:13/0/physics_layer_0/angular_velocity = 0.0 +13:13/0 = 0 +13:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +13:13/0/physics_layer_0/angular_velocity = 0.0 +14:13/0 = 0 +14:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +14:13/0/physics_layer_0/angular_velocity = 0.0 +15:13/0 = 0 +15:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +15:13/0/physics_layer_0/angular_velocity = 0.0 +16:13/0 = 0 +16:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +16:13/0/physics_layer_0/angular_velocity = 0.0 +17:13/0 = 0 +17:13/0/physics_layer_0/linear_velocity = Vector2(0, 0) +17:13/0/physics_layer_0/angular_velocity = 0.0 +0:14/0 = 0 +0:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:14/0/physics_layer_0/angular_velocity = 0.0 +2:14/0 = 0 +2:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:14/0/physics_layer_0/angular_velocity = 0.0 +3:14/0 = 0 +3:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:14/0/physics_layer_0/angular_velocity = 0.0 +5:14/0 = 0 +5:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:14/0/physics_layer_0/angular_velocity = 0.0 +6:14/0 = 0 +6:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:14/0/physics_layer_0/angular_velocity = 0.0 +7:14/0 = 0 +7:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:14/0/physics_layer_0/angular_velocity = 0.0 +8:14/0 = 0 +8:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:14/0/physics_layer_0/angular_velocity = 0.0 +9:14/0 = 0 +9:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:14/0/physics_layer_0/angular_velocity = 0.0 +10:14/0 = 0 +10:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:14/0/physics_layer_0/angular_velocity = 0.0 +11:14/0 = 0 +11:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:14/0/physics_layer_0/angular_velocity = 0.0 +12:14/0 = 0 +12:14/0/physics_layer_0/linear_velocity = Vector2(0, 0) +12:14/0/physics_layer_0/angular_velocity = 0.0 +7:0/size_in_atlas = Vector2i(3, 3) +7:0/0 = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-10, -8, 10, -8, 10, 22, -10, 22) + +[sub_resource type="TileSet" id="TileSet_18c7j"] +physics_layer_0/collision_layer = 1 +sources/0 = SubResource("TileSetAtlasSource_1pa1q") + [node name="Level" type="Node2D"] [node name="TileMap" type="TileMap" parent="."] +texture_filter = 3 y_sort_enabled = true +tile_set = SubResource("TileSet_18c7j") format = 2 +layer_0/name = "Walls" +layer_0/y_sort_enabled = true +layer_0/tile_data = PackedInt32Array(-131067, 458752, 0, 131065, 458752, 0) +layer_1/name = "Ground 2" +layer_1/enabled = true +layer_1/modulate = Color(1, 1, 1, 1) +layer_1/y_sort_enabled = false +layer_1/y_sort_origin = 0 +layer_1/z_index = -1 +layer_1/tile_data = PackedInt32Array(-262157, 65536, 11, -262156, 65536, 11, -262155, 65536, 11, -262154, 65536, 11, -262153, 65536, 11, -262152, 65536, 11, -262151, 65536, 11, -262150, 65536, 11, -262149, 65536, 11, -262148, 65536, 11, -262147, 65536, 11, -262146, 262144, 9, -196610, 0, 10, -131074, 0, 11, -131073, 65536, 11, -196608, 65536, 11, -196607, 65536, 11, -196606, 65536, 11, -196605, 65536, 11, -196604, 65536, 11, -196603, 65536, 11, -196602, 65536, 11, -196601, 65536, 11, -196600, 65536, 11, -196599, 65536, 11, -196598, 65536, 11, -196597, 65536, 11, -196596, 65536, 11, -196595, 65536, 11, -524301, 327680, 1, -458765, 327680, 0, -393229, 327680, 1, -327693, 393216, 1, -589811, 327680, 0, -589812, 327680, 0, -589813, 327680, 0, -589814, 393216, 1, -589815, 327680, 0, -589816, 327680, 1, -589817, 327680, 0, -589818, 393216, 1, -589819, 327680, 0, -589820, 327680, 0, -589821, 327680, 1, -589822, 327680, 0, -589823, 327680, 0, -589824, 393216, 1, -524289, 393216, 1, -524290, 327680, 1, -524291, 393216, 1, -524292, 327680, 0, -524293, 393216, 1, -524294, 327680, 1, -524295, 393216, 1, -524296, 327680, 1, -524297, 327680, 1, -524298, 327680, 0, -524299, 327680, 1, -524300, 327680, 1, -524275, 327680, 0, -458739, 327680, 1, -393203, 327680, 0, -327667, 327680, 1, -262131, 393216, 1, -458753, 327680, 0, -458754, 327680, 0, -458755, 393216, 1, -458756, 327680, 0, -458757, 327680, 0, -458758, 327680, 1, -458759, 327680, 0, -458760, 393216, 1, -458761, 393216, 1, -458762, 327680, 0, -458763, 393216, 1, -458764, 393216, 1, -393228, 327680, 1, -327692, 327680, 1, -327691, 327680, 0, -393227, 327680, 1, -393226, 327680, 0, -327690, 327680, 1, -327689, 393216, 1, -393225, 327680, 0, -393224, 327680, 1, -327688, 327680, 0, -327687, 327680, 0, -393223, 327680, 0, -393222, 327680, 0, -327686, 393216, 1, -327685, 327680, 0, -393221, 327680, 1, -393220, 327680, 1, -327684, 327680, 1, -327683, 327680, 0, -393219, 327680, 1, -393218, 327680, 1, -327682, 327680, 0, -327681, 327680, 1, -393217, 327680, 1, -458752, 393216, 1, -524288, 327680, 0, -524287, 393216, 1, -458751, 327680, 0, -393215, 327680, 1, -393216, 327680, 0, -327680, 327680, 1, -262145, 327680, 0, -196609, 393216, 1, -262144, 393216, 1, -262143, 327680, 0, -327679, 327680, 1, -327678, 327680, 0, -393214, 327680, 0, -458750, 327680, 1, -524286, 327680, 0, -524285, 327680, 0, -458749, 327680, 0, -393213, 327680, 1, -327677, 327680, 0, -262141, 393216, 1, -262142, 327680, 0, -262140, 327680, 0, -327676, 327680, 1, -393212, 327680, 1, -458748, 327680, 1, -524284, 327680, 0, -524283, 327680, 0, -458747, 393216, 1, -393211, 327680, 1, -327675, 393216, 1, -262139, 327680, 1, -262138, 327680, 1, -327674, 327680, 0, -393210, 393216, 1, -458746, 327680, 0, -524282, 327680, 0, -524281, 393216, 1, -458745, 327680, 1, -393209, 327680, 0, -327673, 327680, 0, -262137, 327680, 1, -262136, 393216, 1, -327672, 327680, 1, -393208, 327680, 0, -458744, 393216, 1, -524280, 327680, 0, -524279, 393216, 1, -458743, 327680, 0, -393207, 327680, 0, -327671, 327680, 0, -262135, 393216, 1, -262134, 327680, 0, -327670, 327680, 0, -393206, 327680, 0, -458742, 393216, 1, -524278, 327680, 1, -524277, 393216, 1, -458741, 327680, 1, -393205, 327680, 0, -327669, 327680, 1, -262133, 327680, 1, -262132, 327680, 1, -327668, 327680, 0, -393204, 393216, 1, -458740, 393216, 1, -524276, 327680, 1) +layer_2/name = "Ground" +layer_2/enabled = true +layer_2/modulate = Color(1, 1, 1, 1) +layer_2/y_sort_enabled = true +layer_2/y_sort_origin = 0 +layer_2/z_index = -1 +layer_2/tile_data = PackedInt32Array(-458765, 393216, 1, -393229, 327680, 0, -393228, 393216, 0, -327692, 393216, 0, -262156, 327680, 1, -262155, 393216, 1, -196619, 327680, 1, -196618, 327680, 1, -131082, 393216, 0, -131081, 393216, 1, -131080, 393216, 1, -131079, 327680, 0, -131078, 393216, 0, -196614, 327680, 0, -262150, 327680, 0, -327687, 327680, 1, -393223, 327680, 1, -393224, 393216, 1, -458764, 327680, 0, -458763, 393216, 0, -458762, 327680, 1, -458761, 327680, 0, -458760, 327680, 1, -458759, 327680, 1, -524294, 327680, 1, -524293, 327680, 1, -524292, 327680, 1, -524291, 393216, 1, -524290, 393216, 1, -524289, 327680, 1, -589824, 327680, 0, -589823, 393216, 0, -589822, 327680, 1, -589821, 393216, 0, -589820, 393216, 1, -589819, 327680, 1, -524301, 327680, 0, -589811, 327680, 0, -589812, 327680, 0, -589813, 393216, 1, -589817, 327680, 0, -589818, 327680, 1, -589814, 393216, 0, -589815, 393216, 0, -589816, 327680, 0, -524295, 393216, 0, -524296, 393216, 0, -524297, 393216, 1, -524298, 327680, 0, -524299, 327680, 1, -524300, 327680, 1, -327693, 393216, 1, -262157, 327680, 1, -196621, 393216, 0, -131085, 393216, 1, -65549, 393216, 0, -13, 327680, 0, 65523, 327680, 0, 131059, 327680, 0, 196595, 327680, 1, 262131, 393216, 0, 327667, 327680, 0, 393203, 393216, 1, 458739, 327680, 1, 458740, 327680, 0, 458741, 393216, 1, 458742, 393216, 0, 458743, 393216, 0, 458744, 327680, 0, 458745, 393216, 1, 458746, 327680, 1, 458747, 393216, 0, 458748, 393216, 1, 458749, 327680, 0, 458750, 393216, 0, 458751, 327680, 0, 393216, 327680, 1, 393217, 327680, 0, 393218, 327680, 0, 393219, 393216, 1, 393220, 327680, 1, 393221, 327680, 1, 393222, 327680, 1, 393223, 393216, 0, 393224, 393216, 1, 393225, 327680, 0, 393226, 327680, 0, 393227, 393216, 0, 393228, 327680, 1, 393229, 327680, 1, -524275, 393216, 0, -458739, 327680, 1, -393203, 327680, 1, -327667, 393216, 0, -262131, 327680, 0, -196595, 327680, 1, -131059, 327680, 0, -65523, 393216, 0, 13, 393216, 1, 65549, 393216, 0, 131085, 393216, 0, 196621, 327680, 0, 262157, 393216, 0, 327693, 393216, 1, -327689, 393216, 1, -327688, 327680, 1, -393225, 393216, 1, -393226, 327680, 1, -393227, 327680, 1, -327691, 393216, 0, -327690, 393216, 1, -262154, 393216, 1, -262153, 327680, 1, -262152, 327680, 0, -196616, 393216, 1, -262151, 327680, 0, -196617, 327680, 0, -196615, 393216, 0, -262145, 327680, 1, -65538, 393216, 0, -2, 393216, 0, -1, 393216, 0, 65535, 327680, 0, 131071, 393216, 0, -196620, 393216, 1, -131084, 393216, 1, -65548, 393216, 0, -12, 327680, 1, -11, 393216, 1, 65525, 327680, 1, 131061, 393216, 0, 131060, 327680, 0, 196596, 327680, 1, 262132, 393216, 0, 327668, 393216, 0, 393204, 393216, 0, -65547, 327680, 1, -65546, 393216, 1, 65524, 393216, 0, -131083, 327680, 1, -10, 327680, 1, 196597, 393216, 0, 262133, 327680, 1, 262134, 327680, 0, 327670, 393216, 1, 393206, 327680, 0, 393205, 393216, 0, 327669, 327680, 1, 327671, 327680, 1, 327672, 393216, 1, 327673, 327680, 1, 327674, 393216, 1, 327675, 393216, 1, 327676, 327680, 1, 393212, 327680, 0, 393213, 327680, 0, 393214, 327680, 0, 393215, 327680, 0, 327680, 327680, 0, 393211, 327680, 0, 393210, 327680, 0, 393209, 327680, 0, 393208, 393216, 0, 393207, 327680, 1, 327677, 327680, 1, 327678, 393216, 0, 327679, 327680, 1, 262144, 327680, 0, 262145, 327680, 1, 262146, 327680, 0, 262147, 327680, 0, 262148, 327680, 0, 262149, 393216, 0, 327685, 393216, 1, 327684, 393216, 0, 327683, 327680, 0, 327682, 327680, 0, 327681, 327680, 0, 327686, 393216, 0, 327687, 393216, 1, 327688, 327680, 0, 262153, 393216, 0, 262154, 393216, 1, 262155, 327680, 1, 262156, 393216, 1, 327692, 393216, 1, 327691, 327680, 1, 327690, 327680, 1, 327689, 393216, 1, 262152, 327680, 1, 262151, 393216, 1, 262150, 327680, 0, 196615, 327680, 1, 196614, 327680, 1, 196613, 327680, 0, 196612, 393216, 0, 196611, 393216, 1, 196610, 327680, 1, 196609, 327680, 1, 196608, 327680, 0, 262143, 393216, 1, 196606, 393216, 0, 196605, 327680, 0, 196604, 327680, 1, 196603, 393216, 1, 196602, 327680, 1, 131066, 393216, 1, 131065, 327680, 1, 131064, 327680, 0, 65528, 393216, 0, 65527, 393216, 1, -9, 327680, 0, 65526, 327680, 1, 131062, 327680, 1, 131063, 327680, 0, 196599, 393216, 0, 196598, 327680, 1, 196600, 327680, 0, 196601, 393216, 0, 262139, 327680, 0, 262140, 327680, 0, 262141, 393216, 0, 262142, 393216, 1, 262138, 327680, 1, 262137, 393216, 1, 262136, 327680, 1, 262135, 393216, 0, 65529, 327680, 1, -7, 327680, 0, -65543, 327680, 0, -65544, 327680, 1, -65545, 327680, 0, -8, 393216, 0, -65542, 327680, 1, -65541, 393216, 0, -65540, 327680, 0, -6, 327680, 1, -5, 393216, 0, -65539, 393216, 1, -131074, 327680, 1, 65533, 393216, 1, 131068, 393216, 1, 131067, 327680, 1, 65532, 393216, 0, -3, 327680, 0, 131069, 327680, 0, 131070, 393216, 0, 65536, 327680, 1, 65537, 327680, 0, 65538, 327680, 0, 3, 327680, 1, -65534, 327680, 1, -131070, 393216, 1, -196607, 327680, 0, -196608, 327680, 1, -131073, 327680, 1, -131075, 327680, 0, -131076, 393216, 1, -131077, 393216, 0, 65531, 327680, 1, 196607, 327680, 1, 131072, 393216, 0, 131073, 327680, 1, 131074, 393216, 1, 131075, 327680, 1, 131076, 327680, 1, 65534, 327680, 1, -65536, 393216, 1, -131071, 393216, 0, -196606, 327680, 0, -131072, 393216, 0, -65537, 327680, 0, -4, 327680, 1, -262149, 327680, 0, -327685, 327680, 0, -393221, 393216, 0, -196613, 393216, 0, 65530, 327680, 1, -327686, 393216, 1, -393222, 393216, 1, -458757, 327680, 1, -458756, 393216, 0, -458755, 327680, 1, -458754, 393216, 1, -458753, 393216, 1, -458758, 327680, 0, -524288, 327680, 0, -524287, 327680, 1, -524286, 393216, 1, -524285, 393216, 0, -524284, 393216, 1, -524283, 327680, 0, -524282, 393216, 0, -524281, 393216, 1, -524280, 327680, 0, -524279, 393216, 1, -524278, 393216, 1, -524277, 393216, 1, -524276, 327680, 1, -458740, 393216, 0, -458741, 393216, 1, -458742, 327680, 0, -458743, 393216, 1, -458744, 393216, 1, -458745, 393216, 0, -458746, 393216, 1, -393211, 393216, 0, -393212, 327680, 0, -393213, 393216, 1, -393214, 327680, 0, -393215, 393216, 1, -393216, 393216, 1, -327681, 393216, 1, -327682, 327680, 1, -327683, 327680, 0, -327684, 327680, 0, -458748, 327680, 1, -458749, 327680, 1, -458750, 393216, 1, -458751, 327680, 0, -458752, 327680, 1, -393217, 327680, 1, -393218, 393216, 1, -393219, 393216, 1, -393220, 393216, 0, -458747, 327680, 1, -262148, 327680, 0, -262147, 393216, 0, -262146, 327680, 1, -327680, 393216, 0, -262143, 327680, 1, -262142, 393216, 1, -262141, 327680, 0, -262140, 393216, 1, -262144, 327680, 0, -196609, 327680, 0, -196610, 327680, 1, -196611, 327680, 1, -196612, 327680, 0, -327679, 327680, 0, -327678, 327680, 1, -327677, 327680, 1, -327676, 393216, 0, -327675, 327680, 1, -327674, 327680, 1, -393209, 327680, 0, -393210, 393216, 1, -393208, 393216, 1, -327673, 327680, 1, -262137, 393216, 1, -196602, 327680, 0, -131067, 327680, 0, -131068, 393216, 1, -65532, 327680, 0, -65533, 393216, 0, -131069, 393216, 0, -196605, 393216, 1, -196604, 327680, 1, -65535, 327680, 1, 0, 327680, 1, 2, 327680, 1, 65539, 327680, 1, 1, 327680, 1, -196603, 327680, 0, -262138, 327680, 1, -262139, 327680, 1, -327672, 327680, 1, -393207, 393216, 0, -393206, 393216, 1, -327670, 393216, 1, -262135, 393216, 1, -196599, 393216, 1, -196600, 393216, 1, -131064, 327680, 1, -131065, 327680, 1, -65529, 393216, 0, -65530, 393216, 0, -65531, 327680, 0, 5, 327680, 0, 4, 327680, 0, 65540, 327680, 0, 131077, 327680, 0, 131078, 327680, 1, 131079, 327680, 1, 65544, 327680, 0, 8, 327680, 0, -65528, 393216, 0, -327671, 393216, 0, 6, 327680, 1, -131066, 327680, 1, -196601, 327680, 1, -262136, 327680, 1, 65541, 393216, 0, 65542, 327680, 0, 7, 393216, 1, 65543, 393216, 0, 131080, 327680, 0, 131081, 393216, 0, 196617, 393216, 1, 196616, 393216, 0, 196618, 327680, 0, 131082, 327680, 0, 131083, 393216, 0, 131084, 393216, 1, 196620, 393216, 1, 196619, 393216, 0, 65547, 327680, 1, 11, 327680, 1, -65526, 327680, 0, -131062, 393216, 1, -131063, 327680, 1, -65527, 327680, 1, 9, 393216, 0, 65545, 393216, 0, 65546, 327680, 1, 10, 393216, 1, -196598, 393216, 0, -262134, 393216, 0, -327669, 393216, 0, -262133, 393216, 0, -196597, 393216, 1, -131061, 393216, 1, -65525, 327680, 1, -393205, 327680, 0, -327668, 393216, 0, -262132, 327680, 1, -196596, 393216, 1, -131060, 393216, 1, -65524, 393216, 1, 12, 393216, 0, -393204, 327680, 1, 65548, 327680, 1) [node name="Player" parent="TileMap" instance=ExtResource("1_m35hr")] -position = Vector2(206, 94) +position = Vector2(-46, -35) +scale = Vector2(0.25, 0.25) motion_mode = 1 +Speed = 64.0 [node name="ExampleEnemy" parent="TileMap" instance=ExtResource("2_uti3y")] -position = Vector2(680, 261) +position = Vector2(-19, -113) +scale = Vector2(0.25, 0.25) [node name="ExampleEnemy2" parent="TileMap" instance=ExtResource("2_uti3y")] -position = Vector2(842, 459) +position = Vector2(15, -39) +scale = Vector2(0.25, 0.25) [node name="ExampleEnemy3" parent="TileMap" instance=ExtResource("2_uti3y")] -position = Vector2(297, 354) - -[node name="ExampleEnemy4" parent="TileMap" instance=ExtResource("2_uti3y")] -position = Vector2(675, 78) +position = Vector2(61, -71) +scale = Vector2(0.25, 0.25) diff --git a/Sprites/tileset.png b/Sprites/tileset.png new file mode 100755 index 0000000..d671166 Binary files /dev/null and b/Sprites/tileset.png differ diff --git a/Sprites/tileset.png.import b/Sprites/tileset.png.import new file mode 100644 index 0000000..5e7275e --- /dev/null +++ b/Sprites/tileset.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://gm2pcnfg7h8j" +path="res://.godot/imported/tileset.png-c259079e18121438fd392d302e3ca0d5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Sprites/tileset.png" +dest_files=["res://.godot/imported/tileset.png-c259079e18121438fd392d302e3ca0d5.ctex"] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/bptc_ldr=0 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1