LOTS of work, map editing, map-generation, controller, events