diff --git a/Asteroid.gd b/Asteroid.gd index 6fd94ea..2135355 100644 --- a/Asteroid.gd +++ b/Asteroid.gd @@ -9,8 +9,8 @@ var max_rot_vel = 2.5 # degrees per second func _ready(): randomize() - # velocity.x = floor(rand_range(-max_vel, max_vel)) - # velocity.y = floor(rand_range(-max_vel, max_vel)) + velocity.x = floor(rand_range(-max_vel, max_vel)) + velocity.y = floor(rand_range(-max_vel, max_vel)) rect.size.x = floor(rand_range(32, 64)) rect.size.y = floor(rand_range(32, 64)) rect.pos.x = -rect.size.x / 2 diff --git a/AsteroidSpawner.gd b/AsteroidSpawner.gd index ac1e090..4646376 100644 --- a/AsteroidSpawner.gd +++ b/AsteroidSpawner.gd @@ -26,8 +26,8 @@ func _fixed_process(delta): var new_asteroid = Asteroid.instance() randomize() - var x = floor(rand_range(1, get_viewport().get_rect().size.x)) - var y = floor(rand_range(1, get_viewport().get_rect().size.y)) + var x = floor(rand_range(-2000, 2000)) + var y = floor(rand_range(-2000, 2000)) var spawn_pos = Vector2(x, y) new_asteroid.set_pos(spawn_pos) diff --git a/Drawer.gd b/Drawer.gd index ed65024..96af121 100644 --- a/Drawer.gd +++ b/Drawer.gd @@ -27,7 +27,11 @@ func _draw(): var s_x = s_mw + (ent_pos.x / vp_rect.size.x) - (cam_pos.x / vp_rect.size.x) + 32 var s_y = s_mh + (ent_pos.y / vp_rect.size.y) - (cam_pos.y / vp_rect.size.y) + 32 - if ent.type() == "Asteroid": - draw_rect(Rect2(s_x, s_y, 2, 2), Color(1, 1, 1)) - elif ent.type() == "PowerStation": - draw_rect(Rect2(s_x, s_y, 4, 4), Color(0, 0, 1)) \ No newline at end of file + var rect = Rect2(Vector2(48, 48), Vector2(vp_rect.size.x - 32, vp_rect.size.y - 32)) + if rect.has_point(Vector2(s_x, s_y)): + if ent.type() == "Asteroid": + draw_rect(Rect2(s_x, s_y, 2, 2), Color(1, 1, 1)) + elif ent.type() == "PowerStation": + draw_rect(Rect2(s_x, s_y, 4, 4), Color(0, 0, 1)) + elif ent.type() == "EnemyGrunt": + draw_rect(Rect2(s_x, s_y, 2, 2), Color(1, 0, 0)) \ No newline at end of file diff --git a/EnemyGrunt.gd b/EnemyGrunt.gd new file mode 100644 index 0000000..28f5129 --- /dev/null +++ b/EnemyGrunt.gd @@ -0,0 +1,10 @@ +extends KinematicBody2D + +func _ready(): + var t = get_tree() + var r = t.get_root() + var n = r.get_node("Game/MinimapControl") + n.register_entity(self) + +func type(): + return "EnemyGrunt" diff --git a/EnemyGrunt.tscn b/EnemyGrunt.tscn index 8c359af..374132c 100644 --- a/EnemyGrunt.tscn +++ b/EnemyGrunt.tscn @@ -1,4 +1,6 @@ -[gd_scene format=1] +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://EnemyGrunt.gd" type="Script" id=1] [node name="EnemyGrunt" type="KinematicBody2D"] @@ -6,5 +8,6 @@ input/pickable = false collision/layers = 1 collision/mask = 1 collision/margin = 0.08 +script/script = ExtResource( 1 ) diff --git a/EnemySpawner.gd b/EnemySpawner.gd new file mode 100644 index 0000000..38c4d54 --- /dev/null +++ b/EnemySpawner.gd @@ -0,0 +1,4 @@ +extends Node + +func _ready(): + pass diff --git a/EnemySpawner.tscn b/EnemySpawner.tscn new file mode 100644 index 0000000..89d8edb --- /dev/null +++ b/EnemySpawner.tscn @@ -0,0 +1,9 @@ +[gd_scene load_steps=2 format=1] + +[ext_resource path="res://EnemySpawner.gd" type="Script" id=1] + +[node name="EnemySpawner" type="Node"] + +script/script = ExtResource( 1 ) + + diff --git a/Minimap.tscn b/Minimap.tscn index 1d6c9f6..460447c 100644 --- a/Minimap.tscn +++ b/Minimap.tscn @@ -1,9 +1,10 @@ -[gd_scene load_steps=5 format=1] +[gd_scene load_steps=6 format=1] [ext_resource path="res://MinimapControl.gd" type="Script" id=1] [ext_resource path="res://Minimap.gd" type="Script" id=2] [ext_resource path="res://MinimapTarget.gd" type="Script" id=3] -[ext_resource path="res://Drawer.gd" type="Script" id=4] +[ext_resource path="res://raw/minimap.png" type="Texture" id=4] +[ext_resource path="res://Drawer.gd" type="Script" id=5] [node name="MinimapControl" type="CanvasLayer"] @@ -42,7 +43,7 @@ stretch_mode = 0 rect = Rect2( 0, 0, 128, 128 ) own_world = false world = null -transparent_bg = false +transparent_bg = true render_target/enabled = true render_target/v_flip = false render_target/clear_on_new_frame = false @@ -55,8 +56,13 @@ physics/object_picking = false gui/disable_input = false script/script = ExtResource( 3 ) +[node name="Sprite" type="Sprite" parent="Minimap/Viewport"] + +transform/pos = Vector2( 96, 96 ) +texture = ExtResource( 4 ) + [node name="Drawer" type="Node2D" parent="Minimap/Viewport"] -script/script = ExtResource( 4 ) +script/script = ExtResource( 5 ) diff --git a/Player.gd b/Player.gd index e062ea9..b173e4f 100644 --- a/Player.gd +++ b/Player.gd @@ -2,15 +2,17 @@ extends KinematicBody2D onready var sprite = get_node("Sprite") onready var camera = get_node("Camera2D") +onready var particles = get_node("Sprite/Particles2D") var mov_speed = 64 # pixels per second var ship_vel = Vector2(0, 0) var ship_max_vel = 100 # pixels per second var ship_accel = 25 # pixels per second.. per second? var ship_turn_speed = deg2rad(360) # degrees per second.. i guess? +var ship_dir = Vector2(1, 0) var ship_mass = 61 -var ship_dir = Vector2(1, 0) +var is_moving = false func _ready(): set_fixed_process(true) @@ -31,9 +33,12 @@ func _fixed_process(delta): turn_towards(delta, get_global_mouse_pos()) if Input.is_action_pressed("player_move_forwards"): + is_moving = true mov_delta += -ship_dir elif Input.is_action_pressed("player_move_backwards"): mov_delta += ship_dir + else: + is_moving = false if Input.is_action_pressed("player_attack_primary"): pass @@ -53,3 +58,5 @@ func _fixed_process(delta): self.move(ship_vel) ship_vel = ship_vel / (delta * ship_mass) + + particles.set_emitting(is_moving) diff --git a/Player.tscn b/Player.tscn index e5c390d..c5c334b 100644 --- a/Player.tscn +++ b/Player.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=1] +[gd_scene load_steps=4 format=1] [ext_resource path="res://Player.gd" type="Script" id=1] [ext_resource path="res://img/player_ship.tex" type="Texture" id=2] +[ext_resource path="res://raw/exhaust.png" type="Texture" id=3] [node name="Player" type="KinematicBody2D"] @@ -16,6 +17,31 @@ script/script = ExtResource( 1 ) texture = ExtResource( 2 ) +[node name="Particles2D" type="Particles2D" parent="Sprite"] + +transform/pos = Vector2( 0, 13.1031 ) +config/amount = 256 +config/lifetime = 2.0 +config/process_mode = 1 +config/local_space = false +config/texture = ExtResource( 3 ) +params/direction = 0.0 +params/spread = 24.0 +params/linear_velocity = 32.0 +params/spin_velocity = 0.0 +params/orbit_velocity = 0.0 +params/gravity_direction = 0.0 +params/gravity_strength = 9.8 +params/radial_accel = 0.0 +params/tangential_accel = 0.0 +params/damping = 0.0 +params/initial_angle = 0.0 +params/initial_size = 2.0 +params/final_size = 1.0 +params/hue_variation = 0.0 +params/anim_speed_scale = 1.0 +params/anim_initial_pos = 0.0 + [node name="Camera2D" type="Camera2D" parent="."] anchor_mode = 1 diff --git a/raw/exhaust.ase b/raw/exhaust.ase new file mode 100644 index 0000000..4325c63 --- /dev/null +++ b/raw/exhaust.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:54841502f0584b2ca2afefa8a154f7b38d2325bd8bace3a269e489b344f1b9d9 +size 556 diff --git a/raw/exhaust.png b/raw/exhaust.png new file mode 100644 index 0000000..20254af Binary files /dev/null and b/raw/exhaust.png differ diff --git a/raw/laser_start.ase b/raw/laser_start.ase new file mode 100644 index 0000000..76dfd62 --- /dev/null +++ b/raw/laser_start.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12c47d8f7f9d1577ba352f2a1d6da522f9a264dca4de22ef3354398fa0c41042 +size 568 diff --git a/raw/laser_start.png b/raw/laser_start.png new file mode 100644 index 0000000..24a12f4 Binary files /dev/null and b/raw/laser_start.png differ diff --git a/raw/minimap.ase b/raw/minimap.ase new file mode 100644 index 0000000..4789ff6 --- /dev/null +++ b/raw/minimap.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d0b15e4d517c75f72f5046a83afe2a535dc4c7a040cd1112c9b34a289f872b9 +size 834 diff --git a/raw/minimap.png b/raw/minimap.png new file mode 100644 index 0000000..f570281 Binary files /dev/null and b/raw/minimap.png differ diff --git a/raw/minimap.png.flags b/raw/minimap.png.flags new file mode 100644 index 0000000..efb2b8c --- /dev/null +++ b/raw/minimap.png.flags @@ -0,0 +1 @@ +filter=false diff --git a/raw/power_station.png b/raw/power_station.png index f01d44e..7ec24d2 100644 Binary files a/raw/power_station.png and b/raw/power_station.png differ diff --git a/raw/railgun.ase b/raw/railgun.ase new file mode 100644 index 0000000..063ca7d --- /dev/null +++ b/raw/railgun.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3ff7324ab7209c467b526d6b3e33969b06545498c5f7013469e01678759dd9e +size 580 diff --git a/raw/railgun.png b/raw/railgun.png new file mode 100644 index 0000000..e12d7b8 Binary files /dev/null and b/raw/railgun.png differ diff --git a/raw/simple_bullet.ase b/raw/simple_bullet.ase new file mode 100644 index 0000000..2a4f26e --- /dev/null +++ b/raw/simple_bullet.ase @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e527fef8ec783c4d0fe4da31c38011107940600b9db3df77621c815f35166e0a +size 578 diff --git a/raw/simple_bullet.png b/raw/simple_bullet.png new file mode 100644 index 0000000..34ae7d6 Binary files /dev/null and b/raw/simple_bullet.png differ