Synopsis: Player character houses can travel with the character, being automatically incorporated into the layout of the nearest town as the character moves around the world.
lordaltay1 blogged on player character housing and I dropped a reply that got me thinking about a different way to implement player character housing.
In a nutshell, the idea is that housing is tied to your character. If your character isn't in the world, then neither is its house. If your character is in the Desert Region then your house is in The Town In The Desert Region. If your character is the Forest of Blingo, then your house is in The Town In The Forest of Blingo. Whenever you visit a town, village or city with your character, you'll find your house there.
As a result of this, your house must be dynamically placed into every town that it gets added to. If the center of a town is considered to be the intersection of two roads, then houses are added at the corners of the intersection, then along the roads leading away from the intersection and so forth. The number of houses in town is a function of the number of characters in the surrounding area. It's a kind of dynamic citizenship.
The same would be true of a town by the shore of a lake, or along a river or any other location; the town grows and shrinks from a central point.
To take the idea a step farther, consider that the appearance of a town could change as more and more dwellings appear. The appearance of the buildings could change, and the appearance of the roads and other paraphernalia that give a community its unique flavor could also change. A village has a crossroads, while a town has a town square. The village NPC blacksmith becomes the city's iron works.
The village by the lake acquires upgraded docks. The village in the plains acquires a stronger defensive wall.
Imagine all such upgrades and downgrades happening smoothly and subtly instead of everything snapping abruptly from one appearance to another.
A step farther still would permit a house to change its external appearance according to the region of the world the character has reached. A middle-eastern look when in a middle-eastern-themed region, and a european look when in a european-themed region. That could be done to a character as well, but I'm fairly certain few people would want that.
The interiors of houses could remain the same or change as the exterior changes. A chair in the european-themed region looks a certain way, while in the middle-eastern-themed region it might turn into a settee. Perhaps bookshelves become scroll racks. And so forth.
This would be an alternative to having banks serving as a place to dump things. If you want something of yours, visit the nearest town (which is as large as the number of people in the region), go to your house, get it and get back to adventuring.
For crafters with shops, I can imagine their shops traveling with them as well. The shops would be placed according to the zoning laws of the town.
I see guilds using a shared house instead of having a special feature for guild halls. A shared house can appear in N towns simultaneously, with the selection of towns based on how many shares each owning character has. If six characters hold 10, 10, 10, 5, 5, and 5 shares and the house is rated for three simultaneous placements, then the towns that the three 10-share characters are in would have the house appear. If one of the 10-share characters logs off, then one of the 5-share characters is used to place the house.
There are issues around a character changing towns while there are people in his house, but that can be dealt with. The behavior that would NOT be implemented would be to move the people with the house. The choice is simply a matter of how tolerant the player would be of letting the characters continue to stay in the house. A shopowner logging off while customers were in his house may well want the house to stay open so long as customers are inside. A minute or two after the last has left, the shop fades from sight.
Other variations are things such as adding your house to a town only if you're within a certain distance of it. If you're way out in the boonies, you might have the opportunity to 'make camp', which takes a little bit of time and produces a simple campsite. Enter the tent and you have access to your house's contents. Or perhaps some defined subset based on volume. For example, in your house, there is a locker of a limited size that is your Field Pack. Whatever you put in there in town can be accessed by making camp.
All of this is intended to make housing something that adds to the fun of the game. If you see a house, you know the owner is nearby somewhere. After all, he's a resident of the town where his house is located. Of course, 10 seconds later that house might fade away to be replaced by another. The first owner left the region and a new character entered.
Challenges
1. The permanent feel of a town is lost. This is considered a feature. The permanent feel of towns in MMOs today is that they are ghost towns. Many houses with nobody around. This system attempts to produce towns that at least reflect what's going on nearby.
2. The exterior appearnce of a house is not directly under the player's control. This will undoubtedly be a sticking point for many players, but I'm not excessively worried about it. During the upgrade and downgrade cycles, the exterior treatments of houses can be upgraded and downgraded as well. Plant a shrub in the yard of your house and in the village it's an unruly shrub. In a town it's a trimmed shrub with a border. In a city it's a trimmed shrub in a planter. The basics of the exteriors would be under player control, but they would be upgraded and downgraded automatically.
3. There's no way this can be implemented today, except in a very basic form. Upgrading and downgrading the appearance of housing as a site moves from village to town to city and back down again would require massive amounts of artwork as well as careful crafting of the code to make the transitions work. Houses constantly appearing and disappearing would be an additional load on the network, CPU and graphics of all the clients.
It's a tough system to implement, but I'm pretty sure that I'd enjoy having it.
