So, Unity now supports shape keys. This is really good - previously, it was a bit of a chore to get them working. I've started to create all sorts of keyed assets - for example, beds and chairs which dent like real cushions when you sit on them. Not using physics, but just using shape keys and knowing where people will sit/lay down.
All this has brought me back to one of my biggest difficulties: designing interior spaces. I've started to take it on, so I'm toying around, creating all sorts of rooms and assets just for fun.
My problem with designing interiors stems from my extremely long history of graph-paper dungeons. I think in grid tiles viewed from above. All the games I used to play were based around tiles and turns, so those kinds of maps were ideal.
But in a world with 3D and a real-time situation and a controllable camera and walking up and down stairs and... well, the grid is very obsolete. There's a lot of interesting layouts to explore with looser restrictions, vertical regions, and non-right-angles.
In the end, it comes down to how the player (or other in-game thing) interacts with the world. And now that I've started to understand this, I've started to come up with some reasonably interesting ideas and layouts. This is really helped along by the ease of creating super-interactive/adaptive settings thanks to the immense power of modern computers and the ease of middleware like Unity. The environment can adjust in tons of subtle, passive or active ways.
The difficulty is how this interacts with gameplay. Lara Croft's mansion has beds and chairs and all sorts of other things in it, but they're just passive, noninteractive pieces because there is no gameplay to be found in using them. The gameplay in Tomb Raider is about going from point A to point B, often over difficult terrain. Laying down for a bit or having a sit... not part of the theme. So in Tomb Raider, the internal spaces are designed to interact with your attempts to go from A to B, with setpieces added in for flavor.
This is not quite as simple as it sounds. A to B can be made challenging or simple in a variety of ways, sure, but there's also all the meta stuff. You might design this area so it overlooks another area you'll be reaching soon, giving the player some anticipation and a chance to plan ahead. Or it might be all tight, confined, opaque spaces until - surprise! - it opens into a massive new challenge... there's lots of things that affect how you create your levels, obviously.
But, in Tomb Raider's case, the core of interactivity is running and jumping. Fundamentally, running and jumping is not how we normally use interior spaces. If we want to design internal spaces where the furniture matters and the layout can be a bit cramped, we need a completely different kind of gameplay.
Anyway, just thinking out loud, but here's a simple idea for a game with a kind of gameplay that allows for dense internal spaces:
You're a tailor. Your job is to make outfits for adventurers who are trying to integrate back into society. As you might expect, the gameplay is primarily about planning outfits, with a secondary focus on finding the resources you need for those outfits. This can be quite complex due to the wide variety of social and physical situations each adventurer can be in.
The obvious way to do the gameplay is menu-based - pick X cloth, Y blueprint, assign it, etc. That is, after all, what you're doing. But when the gameplay is so heavily mired in setting color and social norms, it makes sense to make the outfits you create feel real, and the people you create them for feel compelling. Therefore, let's presume we set the game inside our little shop.
How do we design our shop to be compelling? Well, it has to present our world, and our gameplay. Of course, in terms of functionality, there's not much needed. At most, we map specific furniture to specific menulike actions. The shop is not to enhance gameplay, but to enhance feedback. Our shop needs to make the world and the people feel real. Therefore, there are a few objectives:
1) Highlight the personality and body type of the heroes. This can be done by allowing them to wander around and interact with things. A huge warrior would constantly hunch over and scoot sideways, where a tiny gnome might bounce energetically from thing to thing. Therefore, our shop needs to have a lot of things for adventurers to do while you're designing clothes - when you're selecting stuff and trying variants, they're passively wandering around reading things, eating snacks, doing pushups, taking naps, watching the sun set, doodling... of course, you may periodically call them over to try something on and see how it looks "for real", get their opinion on it. All adventurers will need to make small talk, too, but that's got nothing to do with the room design.
2) Highlight the clothes you create to give a sense of history and accomplishment. This should be a combination of clothes hanging on racks or from walls as well as pictures of heroes who did particularly well thanks to your outfits. This takes a lot of wall space and is intended to be shown off, so our shop design should have several jutting regions you can fill with knicknacks as well as random things to do.
3) Highlight our supplies. Our needle room should feature cubbies with cloth ready to use, shoes neatly stored in pairs, etc. This, too, gives you a feeling for the world having weight - as you progress, your workroom fills up.
4) Give strong feedback as to what people think/thought of our design decisions. To this end we need a table for correspondences, a place to chat with visitors that don't need tailoring, and a retired old tailor who gives design feedback both during and after, helping you to interpret stuff. Obviously, this could be accompanied by a large calendar if things like weather, holidays, etc matter.
All told, we don't even need to exist in our world. We don't have to walk through the environment, or interact with a chair, or any of that stuff. Our camera is limited to simply panning left and right through our shop to look at various rooms, and even then which room we're looking at doesn't matter much - we can overlay our design menu on top of whatever we're looking at regardless. The layout serves to remind us of our accomplishments and capabilities, as well as giving us an opportunity to watch the adventurers wander around and express their personalities.
Interacting with our home is limited to panning around and clicking on something to tell the current client to interact with it (or to select a client directly). The only other thing you'd do is if you go to your back room, you can ask the retired tailor questions and pull up reference materials.
Anyway, it seems like it'd be a pretty easy setting to make. Easier than the technical difficulties of dressing adventurers in arbitrary costumes, at any rate.
The good news is that shape keys help with THAT, too.