Bones' Blog of Stuff About Things

05 Jul

Location, Location, Location

Most coding is a fairly blunt assault on some logical problem. Most software development is about trying to extract and define the requirement — the logical problem that can be assaulted, a process that is often as tortuously detailed and slow as archaeology (and yes, I know I haven’t gotten back to the software dev posts — I will, honest). Writing software for yourself is some kind of mix of these two processes and each project finds its own rhythm as you move between thinking about what you want to do and how you want to do it. Slow, slow,quick, quick, slow…

…currently slow.

I’m thinking about what I want to do with the people placement, and issue is being steadily masticated by the small blue brain gnomes that live in whatever part of my head obsesses with these sort of things. This involves much staring at screens and writing of class definitions. I may write a list or two, or scribble a diagram of lines and boxes and curiously scripted labels that I wouldn’t be able to read back to you ten minutes later. I choose not to be organised about my thinking at this stage — it never helps.

So far, I have a rough definition of a “settlement” class and I’ve created some extra layers for the map. It’s probably worth noting that I’m coming to see the data layering as a formal model for how I’m going to handle the map data as it allows a nice separation of processing concerns along with clear relationships between map attributes (such as rainfall and flow) although I’m not sure how well this will translate to a database schema. The first layer is “gatherer food”, which is going to contain data on naturally occuring food resources (fish, fruit, nuts, game). The second layer is food again, but I’m calling it “agri-potential”. This layer will contain data on the benefit available from farming the land. This will just be generic farming for now, but it could easily be extended to include more specific concepts such as dairy, grain, meat etc. Obviously, the intention is to add more layers for resource distribution, but food and water will do for now.

The bit that I’m still mulling is how to choose where the settlements will go. I have this idea that settlements will be where merchants and services will be available, but they aren’t the only place where people are. So every cell will have a population value(possibly zero) that represents the people just living on a small-holding or in tents or whatever. If the density of the population in an area reaches a certain level, then a settlement can form which effectively links surrounding populations as well as supporting its own internal population, settlements have cachement areas, if you like.

So, what I want to do is to simulate people populating the land in small groups, finding good places to live as hunter-gatherers and individual farmers and then allow the population to grow and settlements to form in a “natural” manner,with populations growing from the initial settlements and spreading. I will then simply allow this process to continue until the population reaches my desired level or there are x number of settlements or whatever. The point is to always have the map emerge from processes that can be continued in the game. I want to put controls in as tweaks to the processes (such as controlling the “islandness” of the landscape via patches) and not resort to hand editing unless absolutely necessary.

There, I thought writing a post would help think it through, and it did.

Leave a Reply

© 2010 Bones' Blog of Stuff About Things | Entries (RSS) and Comments (RSS)

GPS Reviews and news from GPS Gazettewordpress logo