A methodical framework for engineering co-evolution for simulating socio-economic game playing agents