diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
new file mode 100644
index 0000000..efabe22
--- /dev/null
+++ b/.config/dotnet-tools.json
@@ -0,0 +1,36 @@
+{
+ "version": 1,
+ "isRoot": true,
+ "tools": {
+ "dotnet-mgcb": {
+ "version": "3.8.1.303",
+ "commands": [
+ "mgcb"
+ ]
+ },
+ "dotnet-mgcb-editor": {
+ "version": "3.8.1.303",
+ "commands": [
+ "mgcb-editor"
+ ]
+ },
+ "dotnet-mgcb-editor-linux": {
+ "version": "3.8.1.303",
+ "commands": [
+ "mgcb-editor-linux"
+ ]
+ },
+ "dotnet-mgcb-editor-windows": {
+ "version": "3.8.1.303",
+ "commands": [
+ "mgcb-editor-windows"
+ ]
+ },
+ "dotnet-mgcb-editor-mac": {
+ "version": "3.8.1.303",
+ "commands": [
+ "mgcb-editor-mac"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/Content/Content.mgcb b/Content/Content.mgcb
new file mode 100644
index 0000000..5e70b96
--- /dev/null
+++ b/Content/Content.mgcb
@@ -0,0 +1,63 @@
+
+#----------------------------- Global Properties ----------------------------#
+
+/outputDir:bin/$(Platform)
+/intermediateDir:obj/$(Platform)
+/platform:DesktopGL
+/config:
+/profile:Reach
+/compress:False
+
+#-------------------------------- References --------------------------------#
+
+
+#---------------------------------- Content ---------------------------------#
+
+#begin spr_cave1_background.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:spr_cave1_background.png
+
+#begin spr_Cave1_foreground.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:spr_Cave1_foreground.png
+
+#begin spr_Cave1_walls.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:spr_Cave1_walls.png
+
+#begin sprRo_Wall.png
+/importer:TextureImporter
+/processor:TextureProcessor
+/processorParam:ColorKeyColor=255,0,255,255
+/processorParam:ColorKeyEnabled=True
+/processorParam:GenerateMipmaps=False
+/processorParam:PremultiplyAlpha=True
+/processorParam:ResizeToPowerOfTwo=False
+/processorParam:MakeSquare=False
+/processorParam:TextureFormat=Color
+/build:sprRo_Wall.png
+
diff --git a/Content/sprRo_Wall.png b/Content/sprRo_Wall.png
new file mode 100644
index 0000000..90a663d
Binary files /dev/null and b/Content/sprRo_Wall.png differ
diff --git a/Content/spr_Cave1_foreground.png b/Content/spr_Cave1_foreground.png
new file mode 100644
index 0000000..9e96322
Binary files /dev/null and b/Content/spr_Cave1_foreground.png differ
diff --git a/Content/spr_Cave1_walls.png b/Content/spr_Cave1_walls.png
new file mode 100644
index 0000000..8042275
Binary files /dev/null and b/Content/spr_Cave1_walls.png differ
diff --git a/Content/spr_cave1_background.png b/Content/spr_cave1_background.png
new file mode 100644
index 0000000..ce847a3
Binary files /dev/null and b/Content/spr_cave1_background.png differ
diff --git a/Game1.cs b/Game1.cs
new file mode 100644
index 0000000..7e0dbf6
--- /dev/null
+++ b/Game1.cs
@@ -0,0 +1,52 @@
+using Microsoft.Xna.Framework;
+using Microsoft.Xna.Framework.Graphics;
+using Microsoft.Xna.Framework.Input;
+
+namespace LunaLightXMG
+{
+ public class Game1 : Game
+ {
+ private GraphicsDeviceManager _graphics;
+ private SpriteBatch _spriteBatch;
+
+ public Game1()
+ {
+ _graphics = new GraphicsDeviceManager(this);
+ Content.RootDirectory = "Content";
+ IsMouseVisible = true;
+ }
+
+ protected override void Initialize()
+ {
+ // TODO: Add your initialization logic here
+
+ base.Initialize();
+ }
+
+ protected override void LoadContent()
+ {
+ _spriteBatch = new SpriteBatch(GraphicsDevice);
+
+ // TODO: use this.Content to load your game content here
+ }
+
+ protected override void Update(GameTime gameTime)
+ {
+ if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))
+ Exit();
+
+ // TODO: Add your update logic here
+
+ base.Update(gameTime);
+ }
+
+ protected override void Draw(GameTime gameTime)
+ {
+ GraphicsDevice.Clear(Color.CornflowerBlue);
+
+ // TODO: Add your drawing code here
+
+ base.Draw(gameTime);
+ }
+ }
+}
diff --git a/Icon.bmp b/Icon.bmp
new file mode 100644
index 0000000..2b48165
Binary files /dev/null and b/Icon.bmp differ
diff --git a/Icon.ico b/Icon.ico
new file mode 100644
index 0000000..7d9dec1
Binary files /dev/null and b/Icon.ico differ
diff --git a/LunaLightXMG.csproj b/LunaLightXMG.csproj
new file mode 100644
index 0000000..a7fb71d
--- /dev/null
+++ b/LunaLightXMG.csproj
@@ -0,0 +1,29 @@
+
+
+ WinExe
+ net6.0
+ Major
+ false
+ false
+
+
+ app.manifest
+ Icon.ico
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/LunaLightXMG.sln b/LunaLightXMG.sln
new file mode 100644
index 0000000..5ec58ad
--- /dev/null
+++ b/LunaLightXMG.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.9.34728.123
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LunaLightXMG", "LunaLightXMG.csproj", "{253C77F4-6B2C-45CD-B94E-7D3206478B07}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {253C77F4-6B2C-45CD-B94E-7D3206478B07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {253C77F4-6B2C-45CD-B94E-7D3206478B07}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {253C77F4-6B2C-45CD-B94E-7D3206478B07}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {253C77F4-6B2C-45CD-B94E-7D3206478B07}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {5E7F27E2-1530-4E3D-BA53-9968E6BAC1C5}
+ EndGlobalSection
+EndGlobal
diff --git a/Program.cs b/Program.cs
new file mode 100644
index 0000000..8240b0a
--- /dev/null
+++ b/Program.cs
@@ -0,0 +1,3 @@
+
+using var game = new LunaLightXMG.Game1();
+game.Run();
diff --git a/app.manifest b/app.manifest
new file mode 100644
index 0000000..73e8424
--- /dev/null
+++ b/app.manifest
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true/pm
+ permonitorv2,permonitor
+
+
+
+