Lately I've been obsessed with adding procedural generation (PG) to the game. While I know that, when shoehorned into a game, PG can have disastrous effects, I still think that it would be a fun challenge that would add a cool amount of replayability to the game.
What I'm working on now is heavily narrative based, but many of the mechanics are similar to a light survival stealth game. So, I'm thinking that if, aside from the scripted intro/tutorial sequences, the city that the game takes place in, is randomly generated each playthrough, it would make the game less linear. My only worry is that if levels are randomly generated, it would lack the polish of levels being hand laid out.
The way I am trying to overcome this is by creating large 45x45 (Unity meters) tiles with multiple buildings and interiors, all hand designed. Then, I would Instantiate them along a 45x45 grid, with random rotations in 90 degree increments. Meaning that the city would be different every time, but each city block would be really good looking and won't have the empty computer generated feel. This would also mean that, if I align everything correctly, I can essentially have an endless city with nice streets and even underground areas.
BUT, because it's a VR game, performance is extremely important, so I'm probably only gonna have a 5x5 tile grid. Because each tile is 45x45, it would be a lot larger than it sounds.
The other issue is lighting. Because I want it to be generated at runtime, I can't rely on baked lighting to increase the framerate. Each tile would need to have one point light in the center to illuminate the area, and that's not including the directional (sun/moon) light over the entire map.
In any case, for now I'm working on perfecting the intro sequence, and making sure the script and mechanics are solid, then I can move onto the rest of the game.
Thanks for reading!