Index: space-game.cpp
===================================================================
--- space-game.cpp	(revision eba8c0cc2de18697994e16dfe2991f9dc10565e5)
+++ space-game.cpp	(revision 0df3c9acf0298410c3de6537c0c5755ac65eca1f)
@@ -1,4 +1,71 @@
 #include "space-game.hpp"
 
+#include <iostream>
+
+#include "game-gui-sdl.hpp"
+
+using namespace std;
+
+SpaceGame::SpaceGame() {
+   gui = nullptr;
+   window = nullptr;
+}
+
+SpaceGame::~SpaceGame() {
+}
+
 void SpaceGame::run() {
+   if (initWindow() == RTWO_ERROR) {
+      return;
+   }
+   initVulkan();
+   mainLoop();
+   cleanup();
 }
+
+bool SpaceGame::initWindow() {
+   gui = new GameGui_SDL();
+
+   if (gui->Init() == RTWO_ERROR) {
+      cout << "UI library could not be initialized!" << endl;
+      cout << SDL_GetError() << endl;
+      return RTWO_ERROR;
+   }
+   cout << "GUI init succeeded" << endl;
+
+   window = (SDL_Window*) gui->CreateWindow("Vulkan Game", SCREEN_WIDTH, SCREEN_HEIGHT);
+   if (window == nullptr) {
+      cout << "Window could not be created!" << endl;
+      return RTWO_ERROR;
+   }
+
+   return RTWO_SUCCESS;
+}
+
+void SpaceGame::initVulkan() {
+}
+
+void SpaceGame::mainLoop() {
+   SDL_Event e;
+   bool quit = false;
+
+   while (!quit) {
+      while (SDL_PollEvent(&e)) {
+         if (e.type == SDL_QUIT) {
+            quit = true;
+         }
+         if (e.type == SDL_KEYDOWN) {
+            quit = true;
+         }
+         if (e.type == SDL_MOUSEBUTTONDOWN) {
+            quit = true;
+         }
+      }
+   }
+}
+
+void SpaceGame::cleanup() {
+   gui->DestroyWindow();
+   gui->Shutdown();
+   delete gui;
+}
Index: space-game.hpp
===================================================================
--- space-game.hpp	(revision eba8c0cc2de18697994e16dfe2991f9dc10565e5)
+++ space-game.hpp	(revision 0df3c9acf0298410c3de6537c0c5755ac65eca1f)
@@ -2,7 +2,24 @@
 #define _SPACE_GAME_H
 
+#include "game-gui-sdl.hpp"
+
+const int SCREEN_WIDTH = 800;
+const int SCREEN_HEIGHT = 600;
+
 class SpaceGame {
    public:
+      SpaceGame();
+      ~SpaceGame();
+
       void run();
+
+   private:
+      GameGui* gui;
+      SDL_Window* window;
+
+      bool initWindow();
+      void initVulkan();
+      void mainLoop();
+      void cleanup();
 };
 
