diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..e0f11e89817457f56b6466f1208ed7654c836cb3
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+*.png filter=lfs diff=lfs merge=lfs -text
+*.ogg filter=lfs diff=lfs merge=lfs -text
diff --git a/assets/audio/alien.ogg b/assets/audio/alien.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..781cab53ff2e411c51ab580c5633ba2e046800c4
--- /dev/null
+++ b/assets/audio/alien.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e90b164966850fa3e3b319def35614012ce735397fb13a739ae5404abce7f7ed
+size 11536
diff --git a/assets/audio/beepx3.ogg b/assets/audio/beepx3.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..5521a974c8b69d842b13a16728c07b2ebd1aa19b
--- /dev/null
+++ b/assets/audio/beepx3.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fbd82b987757200471ab266e68e003f33044b740955d2df035ad3302996bed01
+size 8006
diff --git a/assets/audio/big_explosion.ogg b/assets/audio/big_explosion.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..15d8fcf47eea8281d531d20d524b82d338dfa3f3
--- /dev/null
+++ b/assets/audio/big_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8b6d3cd060230c735d9246867e8ba70075a6c84eb85f2b89de0824f3ba7c87f0
+size 12227
diff --git a/assets/audio/bling.ogg b/assets/audio/bling.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..9152de468e9fe94eb499ba4222cd36d97634443f
--- /dev/null
+++ b/assets/audio/bling.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2e142fe008663d21d8187d2a665683bfca43f36f8de925752d8149de79be3b5e
+size 10113
diff --git a/assets/audio/boom1.ogg b/assets/audio/boom1.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..65c78e8e7ed48285ab96884ca85e3e27d5f1d2ac
--- /dev/null
+++ b/assets/audio/boom1.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:34d7d97b2d19b25581040df660570567b3e2fc77623e0346e57dd7409e4e876f
+size 11511
diff --git a/assets/audio/energy.ogg b/assets/audio/energy.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..fcb732bd3e1da3ee46f8a5459f42389dd4f16a7f
--- /dev/null
+++ b/assets/audio/energy.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:edfc2f41a97b9c8a34ce4e02fb95794bc56429c028c3d9472b9089d05ec59cd6
+size 25310
diff --git a/assets/audio/shoot_missile.ogg b/assets/audio/shoot_missile.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..39c9bbbada8375d171d4abf8ec9b00d42488bec7
--- /dev/null
+++ b/assets/audio/shoot_missile.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:45d596a58a5ce03c58db1c9959551c1370449f00647a8331bdd5965658112e56
+size 5642
diff --git a/assets/audio/small_explosion.ogg b/assets/audio/small_explosion.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..3bdf33627882828f32396be814c2e2cf36361ba7
--- /dev/null
+++ b/assets/audio/small_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:4215ad395081dbdebc18e1d7997f4e58612c6791880ba268d21291633998f2c8
+size 7269
diff --git a/assets/audio/very_big_explosion.ogg b/assets/audio/very_big_explosion.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..6cb1b4eeeeb4cd55ff8980e5ec3001461e869ab7
--- /dev/null
+++ b/assets/audio/very_big_explosion.ogg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d237a471677d8af8a26ec0d73cc0fffeedf12acb51ee746971f19bc391be02f
+size 16615
diff --git a/assets/sprites/alien_boss.png b/assets/sprites/alien_boss.png
new file mode 100644
index 0000000000000000000000000000000000000000..2a65fe2c52917e8c096b8c27849a703f19cc41f1
--- /dev/null
+++ b/assets/sprites/alien_boss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2fd45bee64c9579f78e0c0192ba1883c397819530e845fe524155cfbf0100580
+size 48840
diff --git a/assets/sprites/alien_mini_boss.png b/assets/sprites/alien_mini_boss.png
new file mode 100644
index 0000000000000000000000000000000000000000..48e2e6869098c79802245514070cb2a184291552
--- /dev/null
+++ b/assets/sprites/alien_mini_boss.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d52e5d4f01e8776a559410274884e1a93404cd68c7e986431ee67f138b5df0cb
+size 13947
diff --git a/assets/sprites/alien_ship.png b/assets/sprites/alien_ship.png
new file mode 100644
index 0000000000000000000000000000000000000000..fa449e8db6a628be7a5f90ff84030ab32061c3c2
--- /dev/null
+++ b/assets/sprites/alien_ship.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:64e646240f64685cf6fe93f4b8a18c4716440fe81683dbdc2dfa208cc01fdbef
+size 7792
diff --git a/assets/sprites/background.png b/assets/sprites/background.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e51eff8a571b14a3848a47f8083887dc783aa84
--- /dev/null
+++ b/assets/sprites/background.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:94885921b0e3fb6b1d8cc76948d2c44deb5490cf56a34e7b14edbdb3fedaf1b6
+size 500093
diff --git a/assets/sprites/powerup.png b/assets/sprites/powerup.png
new file mode 100644
index 0000000000000000000000000000000000000000..0b661764eac71938614bea9008a97665dee29ef4
--- /dev/null
+++ b/assets/sprites/powerup.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bd264db9da05cb55217b7727655a7c984df8e3db96a3a76072c5659c4781c91c
+size 1176
diff --git a/assets/sprites/ship.png b/assets/sprites/ship.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c8ab79c1bee1cd4272b381ee9ef55691deeb2ff
--- /dev/null
+++ b/assets/sprites/ship.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:0a0b42e4abf91c989850a035bd40b80e63cae58d13083b6db3b30d4a39fc43d1
+size 9316
diff --git a/src/main.rs b/src/main.rs
index 49824e3740582c0b91acd920809654d92581a166..09047ae96b29b25b80fb9defae910467a1575359 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,14 +1,16 @@
+use bevy::asset::AssetServer;
 use bevy::core_pipeline::clear_color::ClearColorConfig;
 use bevy::math::Vec3;
 use bevy::prelude::{
-	App, Camera2d, Camera2dBundle, Color, Commands, OrthographicProjection, PluginGroup, Rect,
+	App, Camera2d, Camera2dBundle, Color, Commands, OrthographicProjection, PluginGroup, Rect, Res,
 	Transform, Vec2, Window, WindowPlugin,
 };
 use bevy::render::camera::ScalingMode;
+use bevy::sprite::SpriteBundle;
 use bevy::window::{WindowMode, WindowResolution};
 use bevy::DefaultPlugins;
 
-static VIEWPORT_WIDTH: f32 = 480.0;
+static VIEWPORT_WIDTH: f32 = 680.0;
 static VIEWPORT_HEIGHT: f32 = 300.0;
 
 fn spawn_camera(mut commands: Commands) {
@@ -30,6 +32,18 @@ fn spawn_camera(mut commands: Commands) {
 	});
 }
 
+fn spawn_ship(mut commands: Commands, assets: Res<AssetServer>) {
+	commands.spawn(SpriteBundle {
+		texture: assets.load("sprites/ship.png"),
+		transform: Transform::from_translation(Vec3::new(
+			VIEWPORT_WIDTH / 2.0,
+			VIEWPORT_HEIGHT / 2.0,
+			0.0,
+		)),
+		..Default::default()
+	});
+}
+
 fn main() {
 	App::new()
 		.add_plugins(DefaultPlugins.set(WindowPlugin {
@@ -44,5 +58,6 @@ fn main() {
 			..Default::default()
 		}))
 		.add_startup_system(spawn_camera)
+		.add_startup_system(spawn_ship)
 		.run();
 }