CMAC 270S: Constructing Immersive Virtual Worlds