April 03, 2005

Simulating a house

I was just reading this. (How did I end up there, you ask? Because of the other stuff Bob Jenkins has on his website.) Anyway, this got me to thinking about the Sims. I haven't actually played the Sims since before the first expansion pack was released, but the core of the game looks like it could act as a simulation for evaluating house designs. In particular, as the sims wander around on their daily routine you can figure out how much walking they had to do in each floor-plan. This is important both on a large scale, if two rooms that are often visited one after the other are on opposite sides of the house (or different floors!), and on a small scale, as in laying out an efficient kitchen.

Actually, most of the game is irrelevant for a simulation, since you don't need graphics, music, or user interaction if you just want to compile some statistics. For path-length evaluation all you really need is a set of paths for sims to follow from one service to another, a way to compute the distances from a floorplan, and a way to generate new floorplans.

Of course, there are lots of other factors to consider, like building cost, location, lot size constraints, typical weather, plumbing (so that hot water doesn't take 5 minutes to start flowing and flushing the downstairs toilet doesn't cause the upstairs shower to change temperature), light switch locations (I hate stumbling around in the dark looking for the switch; it should be right next to the entrance to the lighted area), and dozens of others. Just to make the problem harder, you can't consider any of them in isolation: the optimal solution to one may force a non-optimal solution to another. So you have to decide how to convert everything to a common system of measurement and try to optimize that.

All in all, it makes a very interesting problem.


At April 03, 2005, Blogger JeremyHussell said...

Oh, and you also have to worry about having more than one person in the house, and how their paths will get in each other's way (otherwise there's no reason to have more than one bathroom).

What other things can you think of?

At April 04, 2005, Blogger Fraxas said...

One thing to note is that using The Sims for timing paths isn't a good idea -- the times things take to do are not to scale, so to speak. It takes as long to brush your teeth as it does to eat a meal, for example.

Other things you can't simulate in The Sims:

-nontrivial stuff breaking.
-the pain and horror of rearranging furniture.
-the need for privacy.
-noise leakage.

At April 04, 2005, Blogger JeremyHussell said...

I pretty much gave up on the Sims right away, but mentioned it to help suck readers in. Seems I was a bit too successful, huh?

Given that, the Sims does (did?) already simulate the need for privacy in some things. Also, path length optimization ignores the time you spend at a task; all it needs is the time spent getting from one place to another.

Writing a noise leakage simulator or a furniture rearrangement algorithm should be possible and reasonably uncomplicated, although getting noise reduction data for various materials might be a little tricky.

One rule mentioned on Jenkins' website was that he wanted wider than standard halls, and doorways that were not flush with the wall. Both of those things would affect furniture rearrangement. Worst case, you haul everything one at a time out to the front lawn and then put them back where you want them to be. Unless you run into a situation involving Dirk Gently and a time machine, of course.

I can't think of an easy way to figure out what would and would not be non-trivial to fix. You could, I suppose, take a few tricks from the builders of server rooms and make everything in the walls, floors, and ceilings easily accessible, thus making it easy to install or remove plumbing, air vents, and wiring.


Post a Comment

<< Home