fuzzyworld

godot-shooter / commit

Move code into appropriate folders, there are no more important files in the root.

16938031653fd6200b2d7d5ac5148c6e6bc8ebf0 · Pavel Safronov · 2023-11-17 09:30:30 -0800 · parents 9b01d05a881c

Move code into appropriate folders, there are no more important files in the root.
 Enemy.gd => actors/Enemy.gd                        |  6 +++---
 Enemy.tscn => actors/Enemy.tscn                    | 20 ++++++++++----------
 Player.gd => actors/Player.gd                      |  6 +++---
 Player.tscn => actors/Player.tscn                  | 12 ++++++------
 default_env.tres                                   |  6 +-----
 Explosion.gd => effects/Explosion.gd               |  0
 Explosion.tscn => effects/Explosion.tscn           |  2 +-
 SmallExplosion.gd => effects/SmallExplosion.gd     |  0
 SmallExplosion.tscn => effects/SmallExplosion.tscn |  8 ++++----
 Smoke.tscn => effects/Smoke.tscn                   |  0
 StarField.tscn => effects/StarField.tscn           |  0
 Trails.gd => effects/Trails.gd                     |  0
 Trails.tscn => effects/Trails.tscn                 |  2 +-
 .../ConstantItemGenerator.gd                       |  2 +-
 .../LevelItemGenerator.gd                          |  2 +-
 PowerUp.gd => items/PowerUp.gd                     |  2 +-
 PowerUp.tscn => items/PowerUp.tscn                 | 10 +++++-----
 project.godot                                      | 22 +++++++++++-----------
 HUD.gd => scenes/HUD.gd                            |  4 ++--
 HUD.tscn => scenes/HUD.tscn                        |  4 ++--
 World.gd => scenes/World.gd                        | 10 +++++-----
 World.tscn => scenes/World.tscn                    |  6 +++---
 CharacterTheme.tres => themes/CharacterTheme.tres  |  0
 Theme.tres => themes/Theme.tres                    |  0
 Popup.gd => utils/Popup.gd                         |  0
 Popup.tscn => utils/Popup.tscn                     |  2 +-
 Settings.gd => utils/Settings.gd                   |  0
 Utils.gd => utils/Utils.gd                         |  2 +-
 Bullet.gd => weapons/Bullet.gd                     |  4 ++--
 Bullet.tscn => weapons/Bullet.tscn                 |  2 +-
 Rocket.gd => weapons/Rocket.gd                     |  4 ++--
 Rocket.tscn => weapons/Rocket.tscn                 |  8 ++++----
 Weapon.gd => weapons/Weapon.gd                     |  0
 Weapons.gd => weapons/Weapons.gd                   |  6 +++---
 34 files changed, 74 insertions(+), 78 deletions(-)

diff --git a/Enemy.gd b/actors/Enemy.gd
similarity index 95%
rename from Enemy.gd
rename to actors/Enemy.gd
index 9906f3c..ea87389 100644
--- a/Enemy.gd
+++ b/actors/Enemy.gd
@@ -3,9 +3,9 @@ class_name Enemy
 
 onready var ray_cast_2d: RayCast2D = $RayCast2D
 onready var damage_points = $DamagePoints
-const Utils = preload("res://Utils.gd")
-const Explosion = preload("res://Explosion.tscn")
-const Smoke = preload("res://Smoke.tscn")
+const Utils = preload("res://utils/Utils.gd")
+const Explosion = preload("res://effects/Explosion.tscn")
+const Smoke = preload("res://effects/Smoke.tscn")
 
 export var move_speed = 40
 export var turn_rate = 0.01
diff --git a/Enemy.tscn b/actors/Enemy.tscn
similarity index 89%
rename from Enemy.tscn
rename to actors/Enemy.tscn
index 873cc0b..05b8f7a 100644
--- a/Enemy.tscn
+++ b/actors/Enemy.tscn
@@ -1,10 +1,10 @@
 [gd_scene load_steps=10 format=2]
 
-[ext_resource path="res://assets/kenney_simple-space/PNG/Default/enemy_A.png" type="Texture" id=1]
-[ext_resource path="res://Enemy.gd" type="Script" id=2]
-[ext_resource path="res://assets/kenney_crosshair-pack/PNG/White Retina/crosshair041.png" type="Texture" id=3]
-[ext_resource path="res://CharacterTheme.tres" type="Theme" id=4]
-[ext_resource path="res://Trails.tscn" type="PackedScene" id=5]
+[ext_resource path="res://themes/CharacterTheme.tres" type="Theme" id=1]
+[ext_resource path="res://effects/Trails.tscn" type="PackedScene" id=2]
+[ext_resource path="res://actors/Enemy.gd" type="Script" id=3]
+[ext_resource path="res://assets/kenney_simple-space/PNG/Default/enemy_A.png" type="Texture" id=4]
+[ext_resource path="res://assets/kenney_crosshair-pack/PNG/White Retina/crosshair041.png" type="Texture" id=5]
 
 [sub_resource type="Gradient" id=4]
 colors = PoolColorArray( 0, 0, 0, 0, 1, 0, 0, 1 )
@@ -87,13 +87,13 @@ modulate = Color( 1, 1, 1, 0 )
 z_index = 10
 collision_layer = 2
 collision_mask = 9
-script = ExtResource( 2 )
+script = ExtResource( 3 )
 
 [node name="Graphics" type="Node2D" parent="."]
 
 [node name="Alive" type="Sprite" parent="Graphics"]
 modulate = Color( 1, 0.537255, 0, 1 )
-texture = ExtResource( 1 )
+texture = ExtResource( 4 )
 
 [node name="Container" type="Node2D" parent="Graphics/Alive"]
 
@@ -102,14 +102,14 @@ margin_left = -48.0
 margin_top = 37.0
 margin_right = 49.0
 margin_bottom = 72.0
-theme = ExtResource( 4 )
+theme = ExtResource( 1 )
 text = "HEALTH"
 
 [node name="Target" type="Sprite" parent="Graphics/Alive"]
 modulate = Color( 1, 0, 0, 1 )
-texture = ExtResource( 3 )
+texture = ExtResource( 5 )
 
-[node name="Trails" parent="Graphics/Alive" instance=ExtResource( 5 )]
+[node name="Trails" parent="Graphics/Alive" instance=ExtResource( 2 )]
 gradient = SubResource( 4 )
 
 [node name="AnimationPlayer" type="AnimationPlayer" parent="."]
diff --git a/Player.gd b/actors/Player.gd
similarity index 97%
rename from Player.gd
rename to actors/Player.gd
index 544befd..64fd8bf 100644
--- a/Player.gd
+++ b/actors/Player.gd
@@ -1,7 +1,7 @@
 extends KinematicBody2D
 class_name Player
 
-const Weapons = preload("res://Weapons.gd")
+const Weapons = preload("res://weapons/Weapons.gd")
 
 export var score = 0
 export var move_speed = 60
@@ -30,8 +30,8 @@ onready var shot_timer = $ShotTimer
 onready var death_screen = $UI/DeathScreen
 onready var final_score_label = $UI/DeathScreen/CenterContainer/PanelContainer/VBoxContainer/FinalScoreLabel
 
-const Utils = preload("res://Utils.gd")
-const PopupControl = preload("res://Popup.tscn")
+const Utils = preload("res://utils/Utils.gd")
+const PopupControl = preload("res://utils/Popup.tscn")
 
 var weapon: Weapon
 var default_weapon: Weapon = Weapons.create_basic_gun()
diff --git a/Player.tscn b/actors/Player.tscn
similarity index 96%
rename from Player.tscn
rename to actors/Player.tscn
index 7954406..e3c8541 100644
--- a/Player.tscn
+++ b/actors/Player.tscn
@@ -1,14 +1,14 @@
 [gd_scene load_steps=16 format=2]
 
 [ext_resource path="res://assets/kenney_simple-space/PNG/Default/ship_sidesA.png" type="Texture" id=1]
-[ext_resource path="res://Explosion.tscn" type="PackedScene" id=2]
-[ext_resource path="res://Player.gd" type="Script" id=3]
+[ext_resource path="res://effects/Explosion.tscn" type="PackedScene" id=2]
+[ext_resource path="res://actors/Player.gd" type="Script" id=3]
 [ext_resource path="res://assets/kenney_simple-space/PNG/Retina/ship_B.png" type="Texture" id=4]
-[ext_resource path="res://CharacterTheme.tres" type="Theme" id=5]
-[ext_resource path="res://Trails.tscn" type="PackedScene" id=6]
+[ext_resource path="res://themes/CharacterTheme.tres" type="Theme" id=5]
+[ext_resource path="res://effects/Trails.tscn" type="PackedScene" id=6]
 [ext_resource path="res://assets/neuropolitical rg.otf" type="DynamicFontData" id=8]
-[ext_resource path="res://Theme.tres" type="Theme" id=9]
-[ext_resource path="res://HUD.tscn" type="PackedScene" id=10]
+[ext_resource path="res://themes/Theme.tres" type="Theme" id=9]
+[ext_resource path="res://scenes/HUD.tscn" type="PackedScene" id=10]
 
 [sub_resource type="Gradient" id=2]
 colors = PoolColorArray( 1, 0, 0, 1, 1, 0, 0, 0 )
diff --git a/default_env.tres b/default_env.tres
index 20207a4..4f63af5 100644
--- a/default_env.tres
+++ b/default_env.tres
@@ -1,7 +1,3 @@
-[gd_resource type="Environment" load_steps=2 format=2]
-
-[sub_resource type="ProceduralSky" id=1]
+[gd_resource type="Environment" format=2]
 
 [resource]
-background_mode = 2
-background_sky = SubResource( 1 )
diff --git a/Explosion.gd b/effects/Explosion.gd
similarity index 100%
rename from Explosion.gd
rename to effects/Explosion.gd
diff --git a/Explosion.tscn b/effects/Explosion.tscn
similarity index 95%
rename from Explosion.tscn
rename to effects/Explosion.tscn
index 0133d15..ea2a5f7 100644
--- a/Explosion.tscn
+++ b/effects/Explosion.tscn
@@ -1,7 +1,7 @@
 [gd_scene load_steps=8 format=2]
 
 [ext_resource path="res://assets/kenney_simple-space/PNG/Default/star_small.png" type="Texture" id=1]
-[ext_resource path="res://Explosion.gd" type="Script" id=2]
+[ext_resource path="res://effects/Explosion.gd" type="Script" id=2]
 
 [sub_resource type="Gradient" id=4]
 offsets = PoolRealArray( 0, 0.941935, 1 )
diff --git a/SmallExplosion.gd b/effects/SmallExplosion.gd
similarity index 100%
rename from SmallExplosion.gd
rename to effects/SmallExplosion.gd
diff --git a/SmallExplosion.tscn b/effects/SmallExplosion.tscn
similarity index 85%
rename from SmallExplosion.tscn
rename to effects/SmallExplosion.tscn
index adc8a0e..a63368e 100644
--- a/SmallExplosion.tscn
+++ b/effects/SmallExplosion.tscn
@@ -1,7 +1,7 @@
 [gd_scene load_steps=5 format=2]
 
-[ext_resource path="res://assets/kenney_simple-space/PNG/Default/star_small.png" type="Texture" id=1]
-[ext_resource path="res://SmallExplosion.gd" type="Script" id=2]
+[ext_resource path="res://effects/SmallExplosion.gd" type="Script" id=1]
+[ext_resource path="res://assets/kenney_simple-space/PNG/Default/star_small.png" type="Texture" id=2]
 
 [sub_resource type="Curve" id=1]
 _data = [ Vector2( 0, 1 ), 0.0, 0.0, 0, 0, Vector2( 1, 0 ), 0.0, 0.0, 0, 0 ]
@@ -14,7 +14,7 @@ colors = PoolColorArray( 1, 1, 1, 1, 1, 0.0580645, 0.0580645, 1, 1, 0, 0, 1 )
 amount = 25
 lifetime = 0.5
 explosiveness = 1.0
-texture = ExtResource( 1 )
+texture = ExtResource( 2 )
 emission_shape = 1
 emission_sphere_radius = 0.01
 spread = 180.0
@@ -28,7 +28,7 @@ scale_amount = 0.5
 scale_amount_random = 1.0
 scale_amount_curve = SubResource( 1 )
 color_ramp = SubResource( 4 )
-script = ExtResource( 2 )
+script = ExtResource( 1 )
 
 [node name="Timer" type="Timer" parent="."]
 wait_time = 0.5
diff --git a/Smoke.tscn b/effects/Smoke.tscn
similarity index 100%
rename from Smoke.tscn
rename to effects/Smoke.tscn
diff --git a/StarField.tscn b/effects/StarField.tscn
similarity index 100%
rename from StarField.tscn
rename to effects/StarField.tscn
diff --git a/Trails.gd b/effects/Trails.gd
similarity index 100%
rename from Trails.gd
rename to effects/Trails.gd
diff --git a/Trails.tscn b/effects/Trails.tscn
similarity index 91%
rename from Trails.tscn
rename to effects/Trails.tscn
index 824a868..2513790 100644
--- a/Trails.tscn
+++ b/effects/Trails.tscn
@@ -1,6 +1,6 @@
 [gd_scene load_steps=3 format=2]
 
-[ext_resource path="res://Trails.gd" type="Script" id=1]
+[ext_resource path="res://effects/Trails.gd" type="Script" id=1]
 
 [sub_resource type="Curve" id=1]
 _data = [ Vector2( 0, 0.220721 ), 0.0, -0.0409159, 0, 0, Vector2( 0.781651, 0.243243 ), 0.0, 0.0, 0, 0, Vector2( 1, 1 ), 0.0, 0.0, 0, 0 ]
diff --git a/ConstantItemGenerator.gd b/items/ConstantItemGenerator.gd
similarity index 93%
rename from ConstantItemGenerator.gd
rename to items/ConstantItemGenerator.gd
index cbb7137..24790a6 100644
--- a/ConstantItemGenerator.gd
+++ b/items/ConstantItemGenerator.gd
@@ -1,6 +1,6 @@
 class_name ConstantItemGenerator
 
-const Utils = preload("res://Utils.gd")
+const Utils = preload("res://utils/Utils.gd")
 var generated_count: int = 0
 var item_count: int
 var creator_name: String
diff --git a/LevelItemGenerator.gd b/items/LevelItemGenerator.gd
similarity index 95%
rename from LevelItemGenerator.gd
rename to items/LevelItemGenerator.gd
index a38e7f7..f0b8782 100644
--- a/LevelItemGenerator.gd
+++ b/items/LevelItemGenerator.gd
@@ -1,6 +1,6 @@
 class_name LevelItemGenerator
 
-const Utils = preload("res://Utils.gd")
+const Utils = preload("res://utils/Utils.gd")
 var generated_count: int = 0
 var simultaneous_count: int = 1
 
diff --git a/PowerUp.gd b/items/PowerUp.gd
similarity index 90%
rename from PowerUp.gd
rename to items/PowerUp.gd
index 10cb2b7..ccd2ce3 100644
--- a/PowerUp.gd
+++ b/items/PowerUp.gd
@@ -5,7 +5,7 @@ export var label = "+SP"
 export var color = Color.gold
 var data: Object
 signal consumed
-const Utils = preload("res://Utils.gd")
+const Utils = preload("res://utils/Utils.gd")
 
 func _ready() -> void:
 	$AnimationPlayer.play("fade_in")
diff --git a/PowerUp.tscn b/items/PowerUp.tscn
similarity index 91%
rename from PowerUp.tscn
rename to items/PowerUp.tscn
index ef1b543..5b5a341 100644
--- a/PowerUp.tscn
+++ b/items/PowerUp.tscn
@@ -1,8 +1,8 @@
 [gd_scene load_steps=8 format=2]
 
-[ext_resource path="res://CharacterTheme.tres" type="Theme" id=1]
-[ext_resource path="res://assets/kenney_simple-space/PNG/Retina/star_tiny.png" type="Texture" id=2]
-[ext_resource path="res://PowerUp.gd" type="Script" id=3]
+[ext_resource path="res://themes/CharacterTheme.tres" type="Theme" id=1]
+[ext_resource path="res://items/PowerUp.gd" type="Script" id=2]
+[ext_resource path="res://assets/kenney_simple-space/PNG/Retina/star_tiny.png" type="Texture" id=3]
 
 [sub_resource type="RectangleShape2D" id=4]
 extents = Vector2( 26, 32 )
@@ -69,13 +69,13 @@ tracks/1/keys = {
 }
 
 [node name="PowerUp" type="Node2D"]
-script = ExtResource( 3 )
+script = ExtResource( 2 )
 
 [node name="Area2D" type="Area2D" parent="."]
 collision_layer = 4
 
 [node name="Sprite" type="Sprite" parent="Area2D"]
-texture = ExtResource( 2 )
+texture = ExtResource( 3 )
 
 [node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
 position = Vector2( 0, 16 )
diff --git a/project.godot b/project.godot
index 01d188b..9e9d901 100644
--- a/project.godot
+++ b/project.godot
@@ -12,52 +12,52 @@ _global_script_classes=[ {
 "base": "Area2D",
 "class": "Bullet",
 "language": "GDScript",
-"path": "res://Bullet.gd"
+"path": "res://weapons/Bullet.gd"
 }, {
 "base": "Reference",
 "class": "ConstantItemGenerator",
 "language": "GDScript",
-"path": "res://ConstantItemGenerator.gd"
+"path": "res://items/ConstantItemGenerator.gd"
 }, {
 "base": "KinematicBody2D",
 "class": "Enemy",
 "language": "GDScript",
-"path": "res://Enemy.gd"
+"path": "res://actors/Enemy.gd"
 }, {
 "base": "Reference",
 "class": "LevelItemGenerator",
 "language": "GDScript",
-"path": "res://LevelItemGenerator.gd"
+"path": "res://items/LevelItemGenerator.gd"
 }, {
 "base": "KinematicBody2D",
 "class": "Player",
 "language": "GDScript",
-"path": "res://Player.gd"
+"path": "res://actors/Player.gd"
 }, {
 "base": "Node2D",
 "class": "PowerUp",
 "language": "GDScript",
-"path": "res://PowerUp.gd"
+"path": "res://items/PowerUp.gd"
 }, {
 "base": "Area2D",
 "class": "Rocket",
 "language": "GDScript",
-"path": "res://Rocket.gd"
+"path": "res://weapons/Rocket.gd"
 }, {
 "base": "Reference",
 "class": "Settings",
 "language": "GDScript",
-"path": "res://Settings.gd"
+"path": "res://utils/Settings.gd"
 }, {
 "base": "Node2D",
 "class": "Trails",
 "language": "GDScript",
-"path": "res://Trails.gd"
+"path": "res://effects/Trails.gd"
 }, {
 "base": "Reference",
 "class": "Weapon",
 "language": "GDScript",
-"path": "res://Weapon.gd"
+"path": "res://weapons/Weapon.gd"
 } ]
 _global_script_class_icons={
 "Bullet": "",
@@ -75,7 +75,7 @@ _global_script_class_icons={
 [application]
 
 config/name="shooter"
-run/main_scene="res://World.tscn"
+run/main_scene="res://scenes/World.tscn"
 run/delta_sync_after_draw=true
 config/icon="res://icon.png"
 
diff --git a/HUD.gd b/scenes/HUD.gd
similarity index 97%
rename from HUD.gd
rename to scenes/HUD.gd
index 98deb5d..dc80880 100644
--- a/HUD.gd
+++ b/scenes/HUD.gd
@@ -1,8 +1,8 @@
 extends Control
 
-const Utils = preload("res://Utils.gd")
+const Utils = preload("res://utils/Utils.gd")
 export var score = 0
-export var objective = "1/17"
+export var objective = "0/5"
 var is_dragging = false
 signal paused
 signal debug_signal
diff --git a/HUD.tscn b/scenes/HUD.tscn
similarity index 96%
rename from HUD.tscn
rename to scenes/HUD.tscn
index 7ced25e..15157d3 100644
--- a/HUD.tscn
+++ b/scenes/HUD.tscn
@@ -1,7 +1,7 @@
 [gd_scene load_steps=5 format=2]
 
-[ext_resource path="res://Theme.tres" type="Theme" id=1]
-[ext_resource path="res://HUD.gd" type="Script" id=2]
+[ext_resource path="res://themes/Theme.tres" type="Theme" id=1]
+[ext_resource path="res://scenes/HUD.gd" type="Script" id=2]
 
 [sub_resource type="Animation" id=2]
 resource_name = "message fade in"
diff --git a/World.gd b/scenes/World.gd
similarity index 96%
rename from World.gd
rename to scenes/World.gd
index 9acd42d..cf0c792 100644
--- a/World.gd
+++ b/scenes/World.gd
@@ -1,10 +1,10 @@
 extends Node2D
 
-const Utils = preload("res://Utils.gd")
-const Weapons = preload("res://Weapons.gd")
-const Enemy = preload("res://Enemy.tscn")
-const PowerUp = preload("res://PowerUp.tscn")
-const Settings = preload("res://Settings.gd")
+const Utils = preload("res://utils/Utils.gd")
+const Weapons = preload("res://weapons/Weapons.gd")
+const Enemy = preload("res://actors/Enemy.tscn")
+const PowerUp = preload("res://items/PowerUp.tscn")
+const Settings = preload("res://utils/Settings.gd")
 var width = ProjectSettings.get("display/window/size/width")
 var height = ProjectSettings.get("display/window/size/height")
 onready var player: Player = $Player
diff --git a/World.tscn b/scenes/World.tscn
similarity index 92%
rename from World.tscn
rename to scenes/World.tscn
index 123aab8..57d9204 100644
--- a/World.tscn
+++ b/scenes/World.tscn
@@ -1,9 +1,9 @@
 [gd_scene load_steps=6 format=2]
 
 [ext_resource path="res://assets/kenney_simple-space/PNG/Default/icon_crossLarge.png" type="Texture" id=1]
-[ext_resource path="res://Player.tscn" type="PackedScene" id=2]
-[ext_resource path="res://World.gd" type="Script" id=4]
-[ext_resource path="res://StarField.tscn" type="PackedScene" id=5]
+[ext_resource path="res://actors/Player.tscn" type="PackedScene" id=2]
+[ext_resource path="res://scenes/World.gd" type="Script" id=4]
+[ext_resource path="res://effects/StarField.tscn" type="PackedScene" id=5]
 
 [sub_resource type="CircleShape2D" id=1]
 radius = 29.0172
diff --git a/CharacterTheme.tres b/themes/CharacterTheme.tres
similarity index 100%
rename from CharacterTheme.tres
rename to themes/CharacterTheme.tres
diff --git a/Theme.tres b/themes/Theme.tres
similarity index 100%
rename from Theme.tres
rename to themes/Theme.tres
diff --git a/Popup.gd b/utils/Popup.gd
similarity index 100%
rename from Popup.gd
rename to utils/Popup.gd
diff --git a/Popup.tscn b/utils/Popup.tscn
similarity index 91%
rename from Popup.tscn
rename to utils/Popup.tscn
index 7dea130..9ab050f 100644
--- a/Popup.tscn
+++ b/utils/Popup.tscn
@@ -1,6 +1,6 @@
 [gd_scene load_steps=2 format=2]
 
-[ext_resource path="res://Popup.gd" type="Script" id=1]
+[ext_resource path="res://utils/Popup.gd" type="Script" id=1]
 
 [node name="Popup" type="Control"]
 margin_right = 40.0
diff --git a/Settings.gd b/utils/Settings.gd
similarity index 100%
rename from Settings.gd
rename to utils/Settings.gd
diff --git a/Utils.gd b/utils/Utils.gd
similarity index 98%
rename from Utils.gd
rename to utils/Utils.gd
index e9d6e0c..cf32600 100644
--- a/Utils.gd
+++ b/utils/Utils.gd
@@ -1,7 +1,7 @@
 # Note: `tool` is optional but without it there are no error reporting in the editor
 tool
 
-const SettingsClass = preload("res://Settings.gd")
+const SettingsClass = preload("res://utils/Settings.gd")
 
 static func remove_user_settings(path = SettingsClass.settings_path) -> void:
 	var dir = Directory.new()
diff --git a/Bullet.gd b/weapons/Bullet.gd
similarity index 84%
rename from Bullet.gd
rename to weapons/Bullet.gd
index 2701673..aaada15 100644
--- a/Bullet.gd
+++ b/weapons/Bullet.gd
@@ -1,8 +1,8 @@
 extends Area2D
 class_name Bullet
 
-const Utils = preload("res://Utils.gd")
-const SmallExplosion = preload("res://SmallExplosion.tscn")
+const Utils = preload("res://utils/Utils.gd")
+const SmallExplosion = preload("res://effects/SmallExplosion.tscn")
 export var lifetime_seconds = 1.5
 export var speed = 300
 export var damage_amount = 1
diff --git a/Bullet.tscn b/weapons/Bullet.tscn
similarity index 93%
rename from Bullet.tscn
rename to weapons/Bullet.tscn
index 8f41e7d..8164058 100644
--- a/Bullet.tscn
+++ b/weapons/Bullet.tscn
@@ -1,6 +1,6 @@
 [gd_scene load_steps=4 format=2]
 
-[ext_resource path="res://Bullet.gd" type="Script" id=1]
+[ext_resource path="res://weapons/Bullet.gd" type="Script" id=1]
 [ext_resource path="res://assets/kenney_simple-space/PNG/Default/effect_yellow.png" type="Texture" id=2]
 
 [sub_resource type="RectangleShape2D" id=1]
diff --git a/Rocket.gd b/weapons/Rocket.gd
similarity index 86%
rename from Rocket.gd
rename to weapons/Rocket.gd
index afc663f..21d5639 100644
--- a/Rocket.gd
+++ b/weapons/Rocket.gd
@@ -1,8 +1,8 @@
 extends Area2D
 class_name Rocket
 
-const Utils = preload("res://Utils.gd")
-const SmallExplosion = preload("res://SmallExplosion.tscn")
+const Utils = preload("res://utils/Utils.gd")
+const SmallExplosion = preload("res://effects/SmallExplosion.tscn")
 export var lifetime_seconds = 5
 export var speed = 100
 export var arm_secs = 1
diff --git a/Rocket.tscn b/weapons/Rocket.tscn
similarity index 95%
rename from Rocket.tscn
rename to weapons/Rocket.tscn
index 32b5db3..8d21147 100644
--- a/Rocket.tscn
+++ b/weapons/Rocket.tscn
@@ -1,7 +1,7 @@
 [gd_scene load_steps=8 format=2]
 
-[ext_resource path="res://Rocket.gd" type="Script" id=1]
-[ext_resource path="res://assets/kenney_simple-space/PNG/Default/meteor_squareSmall.png" type="Texture" id=2]
+[ext_resource path="res://assets/kenney_simple-space/PNG/Default/meteor_squareSmall.png" type="Texture" id=1]
+[ext_resource path="res://weapons/Rocket.gd" type="Script" id=2]
 [ext_resource path="res://assets/kenney_simple-space/PNG/Retina/ship_B.png" type="Texture" id=3]
 
 [sub_resource type="Animation" id=1]
@@ -70,7 +70,7 @@ colors = PoolColorArray( 0.775391, 0.775391, 0.775391, 1, 0.364706, 0.364706, 0.
 position = Vector2( 0, -1 )
 collision_layer = 8
 collision_mask = 2
-script = ExtResource( 1 )
+script = ExtResource( 2 )
 speed = 200
 
 [node name="Sprite" type="Sprite" parent="."]
@@ -100,7 +100,7 @@ position = Vector2( 0, -6 )
 amount = 50
 lifetime_randomness = 0.5
 local_coords = false
-texture = ExtResource( 2 )
+texture = ExtResource( 1 )
 emission_shape = 1
 emission_sphere_radius = 0.01
 direction = Vector2( 0, 0 )
diff --git a/Weapon.gd b/weapons/Weapon.gd
similarity index 100%
rename from Weapon.gd
rename to weapons/Weapon.gd
diff --git a/Weapons.gd b/weapons/Weapons.gd
similarity index 85%
rename from Weapons.gd
rename to weapons/Weapons.gd
index 17df292..957ca93 100644
--- a/Weapons.gd
+++ b/weapons/Weapons.gd
@@ -3,7 +3,7 @@ tool
 
 static func create_basic_gun() -> Weapon:
 	var weapon = Weapon.new()
-	weapon.particle = preload("res://Bullet.tscn")
+	weapon.particle = preload("res://weapons/Bullet.tscn")
 	weapon.shooting_range = 300
 	weapon.particle_lifetime_secs = 1
 	weapon.particle_speed = 300
@@ -15,7 +15,7 @@ static func create_basic_gun() -> Weapon:
 
 static func create_gattling_gun() -> Weapon:
 	var weapon = Weapon.new()
-	weapon.particle = preload("res://Bullet.tscn")
+	weapon.particle = preload("res://weapons/Bullet.tscn")
 	weapon.shooting_range = 300
 	weapon.particle_lifetime_secs = 1
 	weapon.particle_speed = 300
@@ -28,7 +28,7 @@ static func create_gattling_gun() -> Weapon:
 
 static func create_rocket_gun() -> Weapon:
 	var weapon = Weapon.new()
-	weapon.particle = preload("res://Rocket.tscn")
+	weapon.particle = preload("res://weapons/Rocket.tscn")
 	weapon.shooting_range = 200
 	weapon.particle_lifetime_secs = 2
 	weapon.particle_speed = 100