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); }