This paper presents two simulations, GPtlobots and GPTeams. GPRobots is a new, competition oriented benchmark for GP, where control programs are evolved for robots. These are then executed in a simulated real time environment, where execution time for instructions varies with instruction complexity. The competitive nature of GPRobots allows the direct comparison of different evolutionary approaches, using two or more best-of-run individuals from various simulations. GPTeams, the second simulation in this paper, introduces the idea of using GP to produce event driven programs, using a novel technique where a population of main control programs are co-evolved with the callback functions they use. The callback functions, although competing against each other on an evolutionary scale, co-operate in teams organised by the main program at a local level. The experiments produce a wide array of behaviours from individuals, from pacifist to violent, from parasitic to general.