A Virtual Village

Started by
51 comments, last by Sta7ic 19 years, 4 months ago
Dont forget governmental posts. Everyone needs someone else to run their life for them. This is partialy your mules, but would be a necessity or who else would control your guards, defense units, or organized crime?

PS: what about the welfare collectors? Or people collecting from the kingdoms workmans comp policy....
Advertisement
A mule could be useful but then again the consumer could purchase the goods directly from the producer.

Guards are an interesting point, as to how they fit in? Why don't you tell me. I don't think guards are nessary at this point they only become relivant once the social dynamic is added and we have crime and punishment.
Well, unless people can see further needed occupations at this development level, I think its time to move on.

How should we organize the basic need driven AI? The core of the AI will function around three elements, Actions, Decision Making, and Planning.

Actions - are performed by an Agent in an attempt to alter a module of data. Example: move(A,B) moves the agent from A to B changing the agents location data and the locations people here data.

Decision Making - Is the method by which an Analysis its current situation and decides what action to perform based on the available actions.

Planning - Is the method by which an agent constructs a series of actions that lead it from its current state to a desired goal.

So how will the need driven AI work?
Will it simply be

if(HasNeeds()==true)
Aquire(NEEDS)
else
Produce()

How will we decided what to produce? We could use a supply and demand system.

if(GOOD.supply < GOOD.demand)
Produce(GOOD)
if(ALLGOODS.supply > AllGOODS.demand)
{
ConsiderNewCareer()
}

Does anyone have a better idea of how to manage the need driven AI? If so please share. ļ

TO DO:
Decided on Need Driven AI
Develop Want Driven AI
Develop Social Dynamic
???




(I've been paying attention to all this, honest!)

The blacksmith seemed to be a central part of the development of a community through the shear number of tools that they were called on for. Get what seems like the hardest job out of the way, right?

Mules/assistants are a good idea, they'd probably end up being kids hired on to busier occupations. One for the butcher to deliver meat, one for the smith to deliver tools, run the bellows, and bring coal in, one for the alchemist to deliver finished concoctions and get things out of storage...

Merchants are sort of an odd case here, because they need to look at what they can sell in the whole city/village, if they're not doing runs for someone. On one hand a transport system, on the other a maddening version of the traveling salesman problem where you get to tag commodities, demand, and expected revenue onto the path.

This drags up scheduled deliveries, since merchants would know that certain people need certain things.

Part of the problem to stare at is in how the AI figures out who they can go to when they need something, if it's an omniscient "I know everyone" thing or if they have a list of people they know and of who they like. The former wouldn't be too terribly realistic, but it would keep everything running smoothly. The latter would open up some interesting dialogue options ("You want a backpack? Well, %name1 and %name2 do that work, but I think %name3 is the person to go to.") and dynamic "quests" for the player to go talk to a merchant, deliver something themselves, or find out why a shipment is late.

The "mules" could also be used to let other NPCs know that a given person needs more of something, or can fulfill a given need. Word of mouth and all. The player might even glean random tidbits by asking one of them what's going on in town. "Well, I dunno, but I know Bob has these carved wooden chests for sale."

One way to work on the decision making could be to set a threshold for agents' needs, where if they need this X much, they'll try to get more. If they need Y much, though, they'll take more if it rolls into town, but won't go out of their way. Different goods could be given different weights by past usage.

I'll stare at the implimentation problem more later... designing complex systems is something I enjoy.

Impressive thread here... when're we gunna make this virtual village? We only need a farmer, baker, smith, miner, woodcutter, carpenter, seemstress/tailor, butcher...
a not so realistic propopsal:

what if it was some mad witch/wizard just outside the town? and that the inhabitants of the village started new rumours every day about this person, but if the player visits this castle/house, he finds out that this
witch/wizard is not mad at all, only an misunderstod person who wants his life back, wich makes a good quest for the player to help him/her with that?

i´m not a game designer at all, just an interested gamer :D


PS: Occupation: Workshop

Needs: (Building Tools)
(Wood)
(Rope)
(Metal)
<structure>

Produces: (Bows,crossbows and siege equipment)
(Bows)
(Crossbows)
(siege equipment)

Person:

Needs: (food)
(water)
<home>

iam using a mac so i cant get that: "]" thing

my first try on game design...
After poking at this, it seems like we have a few classes of occupations. The least of which are...

* Providers (farmers, lumberjacks, miners, hunters) who need little more than personal needs, tools, and a resource location.
* Craftsmen (blacksmiths, carpenters/builders, alchemists, bakers, armourers) who need an array of tools, a good supply of materials, and a shop at which to do their work.
* Servicemen (doctors, tailors, ??? ) who are found in larger cities, a more specialized occupation from the craftsmen, requiring something to work on (a ripped seam, a severed left foot) and an assortment of tools.
* Apprentices, who serve someone specific, and are found doing more mundane things for said employer. This would require the Occupation references to contain information for what apprentices and assistants would do.
* "Mules", who carry gear from one location to another, either in a circular or cyclic fashion, requiring some way to move equipment in large quanities, and said equipment.
* Guards/Soldiers, who follow orders assigned to them, and are given arms and armor. They need orders and a CO.

This brings up the whole detail that some occupations step on each other's toes. A smith can fill in for a leathercrafter or an armourer, in a pinch. A lumberjack may be called on to work his wood as well, rather than exporting logs twenty miles down the road.
So do we work off of strict occupations, occupational skills (a level X worker is rated Y in these skills...), or loose skills (Morrowind/EVE/AC)? Or do we shelve this question for someone who's building a design for this concept?

Alright, obligatory addition. Have I mentioned that this whole thing mushrooming is extremely encouraging?

Occupation: Lumberjack (provider)

Needs:
Axe (tool)
Forest (natural resources)
- hardwood forest and otherwise?
*Wedges, feathers and pegs, saw (tools) -- shaping lumber
- job of the carpenter?
- multiple occupations or weighted skills?

Provides:
Logs
Firewood
Hardwood
*Lumber

Skills:
Chopping trees
*Splitting lumber

Lumberjack => {Logs, Hardwood, Firewood} => Carpenter
Lumberjack => Hardwood => Workshop
Lumberjack => Firewood => Person

{Smith, Merchant} => Axe => Lumberjack
Y'all could use a wiki for this project!

GLD - Talk:virtual village
I was just thinking that it would be cool to have a way to archive these Virtual Village threads. It would also be cool if we colectively created this game. I could probably write some pretty good AI if i was given a good scripting engine (Im terrible at programming:\)
Im losing the popularity contest. $rating --;
i have copied some of the text from this topic to the wiki. Its not all, just a little bit.

And by the way:

Blacksmiths and Bakeries where located outside the village beacuse of the risk of fire...(this includes all buildings where fire was used)

-Zep
Adraeus, you just *had* to change up the site structure hours after I bookmarked it... heh.

Scribbled out some of what I think the ground rules are on the main page, which is now sitting at http://gld.metavirus.net/Main/VirtualVillage after someone reorganized the site. I'm not going to get much more done for a while, or at least shouldn't, since this is finals week.

Garmichael: I agree, getting this together would be good fun. Who should be pestered for a forum or mailing list or whatnot? Or would it be easier to use GD.net's built in PM and similar features?

This topic is closed to new replies.

Advertisement