I am almost 3 months into my first programming class (we are learning python), and I am starting to grasp some of the difficulties in programming sporders. I wanted to share a couple of my thoughts on the subject:
First, a reminder of what we are trying to accomplish:
The overall goal is to facilitate the emergence of a spontaneous order through human interaction in a video game medium. Sporders are a relatively common occurrence in video games, but when we create one we want to be consciously aware of what is happening, and be able to observe the process. By understanding what is occurring, I hope that we can repeat the process in the future (thus making is possible to do basic hypothesis testing).
Second, what are the troubles that might arise when trying to create a Sporder:
Sporders often take something simple and build upon it to make it more complex. Programming has been a process of taking a complex problem and breaking it down into simple code-able components. They are at odds with one another. When I think about how to make a sporder I often just find myself replicating each individual process that the sporder has created. In the end I have something with the functionality of the sporder, but none of the adaptibility that makes them interesting. I didn’t realize just how pervasive design bias is unless you try and program something.
Another problem is that I should have started learning how to program five years ago. Learning code is a process very similar to learning a new language, but with none of the forgiving ears of an actual human. Luckily it is an enjoyable process, and I often get the same satisfaction that I would from solving a difficult puzzle.
Third, and finally, some good news:
One of the programming assignments for my class involves creating Conway’s game of life. =)