A field is a collection of agents. Ps-i was designed to allow multiple fields. However due to time constraints the interface allowing interaction of agents from different fields was not implemented. Thus though one might have multiple field sections in the input file it is recommended only to have one. Also (again due to time constraints) only rectangular fields with square lattice were implemented. The design, though, allows for straightforward addition of other fields types - for example hexagonal lattice.
Example:
field 'landscape' dimensions 50 50 paint 'basic' rect(1,1,48,48) 100 paint 'basic' "rectangle(1,1,field_width-2,field_width-2)" with 'cache' "make_b_repertoire" paint 'entrepreneur' "rectangle(1,1,field_width-2,field_width-2) and (rand < e_ratio)" with 'cache' "make_e_repertoire" paint 'border' "rectangle(0,0,field_width-1,0)" paint 'border' "rectangle(0,field_width-1,field_width-1,field_width)" paint 'border' "rectangle(0,0,0,field_width-1)" paint 'border' "rectangle(field_width-1,0,field_width-1,field_width-1)" end
There are four directives:
Note that the coordinate system in the field are set up in such a way that the top left agent has coordinates (0,0) and bottom right has coordinates (field_width-1,field_height-1).
See also About Ps-i 2.4, agentclass sections.