void Start()
    {
        Instance = this;
        PlacedModules = new Dictionary<ModuleScript, Vector3>();
        unfinishedModules = new Queue<ModuleScript>();
        Floorplan = new Floorplan();

        //here, pick a level "format" or "rule set" and broadcast it to clients
        //this should be able to be passed in from the lobby
        //this is also probably the best place to pick and broadcast a random seed (or, again, accept one from the lobby)
        int seed = 0;
        //int seed = (int)DateTime.Now.Ticks;
        LevelRNG = new System.Random(seed);
        Debug.Log("Seed:" + seed);
        Level = Level.ReadRulesXML("");

        Vector3 position = new Vector3(0, 0, 0);
        RootModule = Instantiate(ModuleContainerPrefab, position, Quaternion.identity) as ModuleScript;
        RootModule.Module = Level.RootModule;

        RootModule.BuildModule(2);
        PlacedModules.Add(RootModule, position);
        Floorplan.Merge(RootModule.Module.Floorplan, 0, 0, 0);

        unfinishedModules.Enqueue(RootModule);
    }