@crayons: Glad your interested. Your post was one of the set that made me think "Aw heck I just gotta start this". You said that you had the rendering of your city fairly well under control but you lacked the shape and road system of the town which is the bit I am hoping to generate.

@tilt: Sure ill put in some real basic pics in a mo if you like but there not much to look at.

@Ramah: Thanks

@Talroth: Ill be keeping my dev journal right here - its gonna be a big thread I think. I was initially thinking of developing it in Perl cos its all text and stats stuff but I know that when we get a lot of action then it could slow down and I thought that better prevent that now. So its all in C++. As said the guts of it is taken from my GTS app which is an experimental terreain generator. That was done for multi processor but I have already decided that this one is going to be single threaded.

So far I input a 2D base map which is just some color. I might be able to add the height map in later but for now I was thinking that we will just assume it will be all flat and not worry about gradients. If we get a cliff then ok I think I need to worry about it but for now getting a dude to take a drink and eat something is the first priority.

In terms of update rate I was thinking that one unit of time would be about 1/100th of a day or about 15 mins. In that time he could do something moderately substantial without being too fine. He might only be moving one square so if we need him to get to some trees, chop them and get back across the map he might end up getting hungry again. The unit of time is flexible and I will have to see how fast this runs.

I see what your saying about the pathing. I was thinking of assigning a role to a character so that once he settled into a role then he would be fixed. Like a blacksmith doesn't get a midlife crisis and want to start being a builder or whatever. Maybe I could recheck it just now and again. Once their role is fixed down then what your suggesting about not calculating the AI any more sounds like a good idea. One to think about.

I have a 'path' value for all the map squares so that as people walk over them it climbs up a bit and then every turn it drops a teeny bit. I was thinking if a cart rolls over it then it goes up faster. Character when moving from place to place are going to calculate their cost to move as a loss of earnings based on their personal turnover. So moving a long way costs a lot if the character is making a lot of money. In that case I am hoping he will then see the sense in buying stuff from people close to him at a higher price than he could get it himself if he didnt have to move but not if he has to move to get it. Then the 'path' factor for the squares he moves over biases the costs so that roads are cheaper then rough terrain. Again this is all speculative so I hope that works out.

I haven't heard of Dwarf Fortress - as you can tell I haven't done one of these before and it sounds like you have some experience so I will take what you say with some gravitas. I can see exactly what you mean tho in that when I have a big map and hundreds of characters then it will slow down. I am not aiming for a real time thing where we need to keep a game frame rate up. If I could calculate a years worth of map time in an hour then Id be happy. That would be 365 * 100 iterations per 3600 seconds tho. So 10 per sec sounds ok and that would imply that I should be able to get a few hundred or more characters in play.

I'm starting out with a 32x32 bitmap and the aim is to work with something like 512x512. Since each square contains quite a bit of info I think I could render the 512 squares into something larger with good detail. I would like enough res so that when it plops down houses and streets then it gives enough shape to them that we can render them out with some nice 3D or use the thatching scripts I developed.

Currently, when it saves the bitmap it will expand the squares to 9x9 pixels and mark on where the characters are too. So here is a pretty numpty picture showing my starting test patch of ground with trees, mud, rock and freshwater plus one guy standing at 10,10.

Click image for larger version. 

Name:	TestPic1.png 
Views:	133 
Size:	1.4 KB 
ID:	28562