public static void SetupNewGame()
        {
            // get character name
            var playerName = MainMenuView.GetPlayerName();

            var game = new Game();

            // setup map
            var map = MapController.LoadMapFromJson(game.GameSettings.Map.MapPath);
            var startingLocation = map.Locations[map.StartingRow, map.StartingCol];

            if (game.GameSettings.Map.EnableFow)
            {
                MapController.TryExploreAdjacentLocations(map, startingLocation);
            }

            // setup player
            var player = new Player
            {
                Name      = playerName,
                Hunger    = game.GameSettings.Player.InitialHunger,
                Row       = startingLocation.Row,
                Col       = startingLocation.Col,
                Inventory = new Inventory
                {
                    Items = new List <InventoryRecord>()
                }
            };

            startingLocation.Characters.Add(player);
            AddDefaultItemsToInventory(player.Inventory);

            // setup game
            game.Player = player;
            game.Status = GameStatus.Playing;
            game.Fire   = new Fire();
            game.Day    = new Day();
            game.Map    = map;

            StartGame(game);
        }