Optimising Agent Behaviours And Game Parameters To Meet Designers' Objectives