In my day job, I teach computer programming and databases. Though I get bored quickly with actual programming, the software and database design are fascinating. It may seem odd to some that I can balance the harsh logic of computers with the creativity and flow of creative writing, but these things are actually quite well related.
My skill in the design part of computing is very similar to the world building in my writing. In the same way that I can manage the interactions between two characters in accordance with the rules of their story world, I can also manage the interactions between two data constructs in their world. There is no real disparity.
If anything, I would say that my writing skill has given me an advantage in my technical work. Many years ago, I worked on various electro-mechanical devices. These things ran from large format photocopiers to life support equipment. It took little time with a machine before I had a mental model of how it worked and could quickly diagnose problems by duplicating the symptoms in my head. This made my repairs very quick and they tended to last.
Now, if I have to model a business process in terms of data flow, I can build that model as well. Not only do I build a strong database to manage the data, but I can also design software to control and use the data as well. This is the same modeling that helped me repair the machines mentioned above.
I see no difference between that and keeping track of a population of fictional characters as they interact within a fictional environment. Once the rules are understood, the agents move as they are supposed to move within the given constraints.
One thing that can be a little more difficult to conceptualize is that the software agents rarely have emotions attached, nor do they experience character development. Like many things, this is merely a linguistic issue. In the field of software agents, the emotional aspects are represented by “utility”, a term borrowed from economists. Likewise, learning agents could be said to develop over time. Since my graduate degree emphasized Artificial Intelligence, I could go on for quite a while, but most people don’t want to hear it.
The gist of what I’m saying is that, if you get a chance, you should take a little time to see how the database and computer programming people model their worlds. You don’t have to become an expert in their field, but you may be able to gain some insight into how you model things in yours.