A generic game model