Sign in to follow this  

A Virtual Village

This topic is 4741 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

A virtual village, I thought it would be good to combine my thread “Look it’s a man in the woods” and “A living blacksmith” into a new thread a virtual village. In this thread I hope we can collectively design a virtual village and the processes that run in the background to make the village function. To begin with we will start with the Blacksmith. Occupation: Blacksmith Needs: [Forge Tools] [Coal] [Water] [Metal] [Wood] [Furnace] <Structure> Produces: [Forge Tools] [Cooking Tools] [Hunting Tools] [Farming Tools] [Building Tools] Person: Needs: [Food] [Water] <Home> Now that we have a base outline of the Occupations Blacksmith and a Person we can begin to derive new Occupations from them. Blacksmith: Need -> [Coal] -> (Coal Provider) Need -> [Water] -> (Water Source) Need -> [Metal] -> (Metal Provider) Need -> [Wood] -> (Wood Provider) Need -> [Furnace] -> Builder Need -> <Structure> -> Builder Person: Need -> [Food] -> (Food Source) Need -> <Shelter> -> Builder (Coal Provider) Merchant -> Needs -> [Coal] -> Miner -> Needs -> <Mine> Miner -> Needs -> <Mine> (Water Source) <River> <Well> (Metal Provider) Merchant -> Needs -> [Metal] -> Miner -> Needs -> <Mine> Miner -> Needs -> <Mine> (Wood Provider) Merchant -> Needs -> [Wood] -> Miner -> Needs -> <Forest> Woodcutter -> Needs -> <Forest> (Food Provider) Merchant -> Needs -> [Food] -> Farmer -> Needs -> <Forest> Merchant -> Needs -> [Food] -> Hunter -> Needs -> < Hunting Ground > Farmer -> Needs -> <Farm> Hunter -> Needs -> <Hunting Ground> So after analysing the Blacksmith we have the following new Occupations: Merchant Builder Miner Farmer Hunter New Commodities Forge Tools Coal Wood Metal Water Food Furnace Cooking Tools Hunting Tools Farming Tools Building Tools New Locations Mine Forest Farm Hunting Ground River Well Structure Home

Share this post


Link to post
Share on other sites
I think the first step would be to do some reasearch on villiages of medievil europe. Find out how they were structured, why people settled there, the different occupations, what exactly each occupation does.. etc..

Then we could build a basic villiage structure around that (both archectually and populated with people), then work on the AI. Once all the NPC's core AI is set, then work on the social AI. Give the Blacksmith all the information he needs to be a blacksmith from materials needed, what to make, what to charge, when to work, etc.. then build its social life like where it lives, who it lives with and all that. I'd imagine that all NPCs core AI should be pretty close to done before building anyone's social AI, since most of the social intelligence is based around it's interaction with other NPC's core intelligence.

Share this post


Link to post
Share on other sites
Quote:
Original post by Garmichael
I think the first step would be to do some reasearch on villiages of medievil europe. Find out how they were structured, why people settled there, the different occupations, what exactly each occupation does.. etc..


I don't think that is really necessary instead an evolving approach would be far more suitable to achieve results. With each poster building on the existing work by defining new fields as they are identified and making amendments to existing ones.

For instance posters could define the new occupations identified in the analysis of the Blacksmith, which in turn may identify new occupations, locations, commodities or entirely new types of fields. After all it is not necessary to have every possible occupation in the design merely the ones need to satisfy the requirements of the design.

Share this post


Link to post
Share on other sites
Don't forget to go the other way as well, expanding the products:

[Forge Tools] <- Needs <- Blacksmith
[Cooking Tools] <- Needs <- Cook -> Produces -> (Taste++, Safety++) -> Food
[Hunting Tools] <- Needs <- Hunter
[Farming Tools] <- Needs <- Farmer
[Building Tools] <- Needs <- Builder
--
[Weapons] <- Needs <- Soldier/Bandit/Etc


Occupation: Cook
Needs: [Coal]
[Water]
[Oven] (optional)
[Spices]
[Unprepared Food]
[Cooking Tools]

and much more. I don't have time to go on rigth now though =-/


Soembody needs to make a website with a script to autoexpand and link this data so building a web would be easier

Share this post


Link to post
Share on other sites
How deep do you want to go with this? There are a ton of occupations in and around the fantasy style medieval village you can consider.

Tailor, Shoemaker, Innkeeper, Chef, Bootlick, Alchemist, Fletcher, Cooper, Lumberjack, Courier, Doctor, Nurse, Maid/Servant, Guard, Pickpocket, Banker, Loan Shark, MerchantMiner, Hunter, Builder, Driver, Stableboy, Craftsman, Scientist, Astrologist, Prostitute?

I'll go through one in attempt to contribute to the virtual village


Occupation: Alchemist

Needs: [Plants]
[Minerals]
[Chemicals]
[Water]
[Wood]or[Coal]
[Furnace]
[Containers]
<Structure>

Produces: [Potions]
[Explosives]
[Acids]
[Refined Chemicals/Minerals]

following the same analysis he depends on the following occupations:
Merchant
Miner
Gatherer
Herbalist
Apprentice
Builder
Glass Worker (I know there's a proper name for this)


Already this introduces a few more occupations than I could think of off of the top of my head. I see this becoming really complex.

As ever,
***Cosmic***

Share this post


Link to post
Share on other sites
Quote:
Original post by Cosmic One
How deep do you want to go with this? There are a ton of occupations in and around the fantasy style medieval village you can consider.

Tailor, Shoemaker, Innkeeper, Chef, Bootlick, Alchemist, Fletcher, Cooper, Lumberjack, Courier, Doctor, Nurse, Maid/Servant, Guard, Pickpocket, Banker, Loan Shark, MerchantMiner, Hunter, Builder, Driver, Stableboy, Craftsman, Scientist, Astrologist, Prostitute?


Well, the amount of complexity we introduce will change over time I think. For now though I think if we should keep it simple and merely define and analyze the occupations we already have and the ones that result from that work. This should provide a basic social dynamic that we can then begin to build on.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
I think the idea is great - very interesnting stuff.
How about creating a web page for the hole thing, when the progress can be seen, instead of simply a forum thread ?

Share this post


Link to post
Share on other sites
I've taken what has been done so far and created a xml document, containg that information, so that people can easily see what has been done so far and still needs to be done.
Virtual Village

So keep the additions comming.

[Edited by - TechnoGoth on December 2, 2004 10:41:25 AM]

Share this post


Link to post
Share on other sites
I think this village needs a "mule", some kind of worker that brings goods from the producer to the consumer

about medieval villages, they where usually builded near fresh water.
If anyone is thinking about a fisherman, I think that a fisherman is, in fact, a hunter, with different equipment but a hunter, same for miners and farmers, they are resource collectors and may be in the same category.

Share this post


Link to post
Share on other sites
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....

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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
???




Share this post


Link to post
Share on other sites
(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...

Share this post


Link to post
Share on other sites
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...

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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:\)

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
Well, getting .htaccess to work correctly with MediaWiki was pissing me off. I opted for something that works and something that was much less cumbersome.

Share this post


Link to post
Share on other sites
Quote:
Original post by Sta7ic
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?


I'd vote for transfer of occupations and cross training for a very simple reason: Some of these NPCs are going to die. Be it the werewolf in the forest or that unfortunate fishing accident or the ever murderous player, when an NPC dies it will likely gum up some of the interdependencies. I don't think you want the whole village migrating or stalling just because the blacksmith got axed.

Share this post


Link to post
Share on other sites
Quote:
Original post by Wavinator
I'd vote for transfer of occupations and cross training for a very simple reason: Some of these NPCs are going to die. Be it the werewolf in the forest or that unfortunate fishing accident or the ever murderous player, when an NPC dies it will likely gum up some of the interdependencies. I don't think you want the whole village migrating or stalling just because the blacksmith got axed.

Which brings up another "class" that hasn't been mentioned, and I'm not sure how much attention they are ever given in MMORPGs (I've only played two. Just to note, the old text based MMORPG Gemstone III did have some kind of a "Living Village", even if it may have been easier to do because of the text based structure).

I'm rambling, but how about Children? I don't remember ever seeing children in Asheron's Call, much less running around the village playing with each other on nice days. Children are definately part of what makes any village "alive" (It does take a village, after all). The Blacksmith's son may be learning the trade from his father, and in the case of his death might even take over for him. Also, all of the possible "Family Dynamics" that can be developed between members of a family could be much more immersive than the more business type relationships we have so far.

Share this post


Link to post
Share on other sites
Now that's a good point, there are no children in almost any RPG that I've seen... The last two cases that I remember were in Deus Ex and Fallout. There's also Legend of Zelda, but ... that doesn't quite count, I think, it's more of an adventure game. Kids do add a definite sense of believability to a game world, I agree.

I think the best way to handle occupations that are or are not available in a town is by tracking the needs and abilities of an entire village as a larger actor. Much like "Bob needs an axe", you'd get "Tristram need a demon hunter and a church janitor". When a given smith with a good stock but little work sees/hears that another village needs a blacksmith and/or a lot of tools (a need that a blacksmith provides), they move into town in their cart w/ tools, an anvil, stock metal, coal, and firebrick for a forge, and start setting up shop.

Thus, suppliers would seek places that need/have a high demand for their supplies, and gatherers would go places where natural resources are plentiful (in the "supply / depletion rate" sense) and some global need exists.

(new actor for the list: Community)

But at the same time of having a large enough world that people transfer around, in a small closed system, or to encourage vermilitude, having NPCs acquire and improve occupational skills would be crucial. Apprentices, Journeymen, Masters would all be moving around, with a reputation to boot, and it could be big news when someone is certified of their new rank.
Or a sufficient number of people could wander off somewhere new, start building a new village, and either teach themselves or their children how to do the tasks to keep the new village alive.

Family dynamics are a neat idea, but I can't think of anything to tag onto the idea. A good way to add spice, though, to start chatting with someone in the bar, and to hear how a couple is looking for somewhere to move to make soap, or needs a new bed for their growing daughter, or has relatives over for a few days.

The really scary thing is when you stop to consider just how much flavor a sufficiently complicated system can dynamically generate.

What about holidays and other big big occasions? Or local rumors and mythology?

(how much detail is too much detail?)

Share this post


Link to post
Share on other sites
Don't forget about women; your village won't last too long without them. I would make some occupation descriptions for them, but I don't think the current structure fits the sorts of jobs they did in the Middle Ages very well. For example, consider a house wife (which is what pretty much all of them above a certain age should be in the village, I think). She needs a husband, but he isn't really a commoditie, and she doesn't use him up. I think marriage deserves some kind of new data structure specifically designed to handle it. She also produces children, but those aren't commodities, and she doesn't sell them to anyone (hopefully). She teaches her children things, but I don't think it makes much sense to have something like
Needs: ...
[Ignorant children]
...
Produces: ...
[Educated children]
...
since the teaching takes years, the children aren't being bought and sold, they aren't commodities, they are also being taught by at least one other person (their father plus a master of a trade, who might also be their father), etc. She cooks, but she isn't really a cook, because she probably basically just cooks for her family, and she does many other jobs as well. I could go on, but I think you get the point. The occupation system doesn't describe a wife in the Middle Ages very well. I guess we could just ignore married women, but that's not very realistic or complete.

From the above and the fact that similar issues exist for children, I think we should take a little more time to plan out the basic structure of the village before we move onto trying to think about programming or AI. Just my two cents.

Share this post


Link to post
Share on other sites

This topic is 4741 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this