diff --git a/Blarg.GameFramework/Blarg.GameFramework.csproj b/Blarg.GameFramework/Blarg.GameFramework.csproj
index 35b8d4a..a801b20 100644
--- a/Blarg.GameFramework/Blarg.GameFramework.csproj
+++ b/Blarg.GameFramework/Blarg.GameFramework.csproj
@@ -75,6 +75,9 @@
+
+
+
diff --git a/Blarg.GameFramework/ILogger.cs b/Blarg.GameFramework/ILogger.cs
new file mode 100644
index 0000000..053753f
--- /dev/null
+++ b/Blarg.GameFramework/ILogger.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace Blarg.GameFramework
+{
+ public interface IPlatformLogger
+ {
+ void Info(string category, string format, params object[] args);
+ void Warn(string category, string format, params object[] args);
+ void Error(string category, string format, params object[] args);
+ void Debug(string category, string format, params object[] args);
+ }
+}
+
diff --git a/Blarg.GameFramework/IPlatformServices.cs b/Blarg.GameFramework/IPlatformServices.cs
new file mode 100644
index 0000000..f3fff88
--- /dev/null
+++ b/Blarg.GameFramework/IPlatformServices.cs
@@ -0,0 +1,15 @@
+using System;
+using Blarg.GameFramework.IO;
+
+namespace Blarg.GameFramework
+{
+ public interface IPlatformServices
+ {
+ PlatformOS OperatingSystem { get; }
+ PlatformType Type { get; }
+
+ IPlatformLogger Logger { get; }
+ IFileSystem FileSystem { get; }
+ }
+}
+
diff --git a/Blarg.GameFramework/Platform.cs b/Blarg.GameFramework/Platform.cs
new file mode 100644
index 0000000..37112dc
--- /dev/null
+++ b/Blarg.GameFramework/Platform.cs
@@ -0,0 +1,25 @@
+using System;
+
+namespace Blarg.GameFramework
+{
+ public enum PlatformOS
+ {
+ Windows,
+ Linux,
+ MacOS,
+ Android,
+ iOS
+ }
+
+ public enum PlatformType
+ {
+ Mobile,
+ Desktop
+ }
+
+ public static partial class Platform
+ {
+ public static IPlatformServices Services { get; private set; }
+ }
+}
+