With your "all made manually" approach, how would you create 100 differents plates (like in my "hidden items searcher finder" game) with each plate having a different text ? same comment for the text on messageboxes...
OK. I'm not going to say one method is better than another, just provide 'my' answer to the plate issue above:
1. You are never going to have 100 different plates (in basic look), so I would probably use 3 different meshes for the basic plates.
2. any mesh can be rendered with any color. so lets say there are going to be 8 minor variations in color
3. Lets assume that we are going to map some textures to the plates to give them some more variation. lets give them 5 variations
(we are already up to 120 possible color/shape/texture ways)
Text is irrelevent as is messagebox as they are attachments to the 'object' and rendered separately <- that's how I would approach it
How would you modelize the (all different) caves that i am currently making ? in a modelisation software ? try it and see how quick it is...
Me personally, I would break down the caves into the minimum that I needed and work from there. Usually the first things would be a floor, a ceiling, and a wall plus corner.
The issue you are really raising is about 'difference': cave A 'looks' the same as cave B.
For any generative system, unless you have loads and loads of time and skill. it will always 'look' the same after a few different caves. That is why a lot of games use partial pre-made and generative system together, or drop generative systems entirely for one that looks and feels 'right'.
The best example of Procedural content done completely right - but ending up completely wrong is the recent "No Mans Sky" monstrosity. "wow, it's all different. wait a minute, it's all the same. oh gawd this is a load of crap".
And the reverse of that is "The witness". Beautiful on every level.
So how does CaveA not look like CaveB?
* The first is design - so you start to need to have procedural systems that are programmable and give different results - that still feel 'right'
* dressing - each cave must have a very different visual look, color, type of rock, moss, etc <- your now getting into procedural fixtures. but they have to be directly related to the first design so they feel 'right'
* does it have water. is it dry. is it cold, etc
What you are actually doing is writing systems that interact with each other and after a few caves the player will be "Meh, seen it all before... NEXT!"
And that is before you try and make sense out of puzzles - which usually end up being hand crafter, just because a human can do it far better than a machine can.
To recap:
caveA = blue cave with hidden room, etherial sounds emanating from a crack in the wall. when you get near you hear a mystic voice saying "beware the Creme Angaise"
caveB = rock cave with one end going down to a submerged room containing a treasure chest
caveC = many small chambers connected together forming a maze. at the center of the maze is a bottle with the words "eat me" written on it
caveD = arid dry cave with sand piled along one wall (not sure if the sand is red or pale buff colored yet) with some painted stuff peeking out. further investigation shows the location of a second cave plus lots of scorpions pop out of the sand
With that list and a set of minimal resources I could reuse and create all the different caves with the same stuff and a simple map tool.
how would you create a volumetric glow effect depending on the shape of the item ? how would you create volumetric rays depending on the color of the grawings of a window ?
hmmm. volumetric - nasty stuff. not a problem. just use a particle glow at the same position of the mesh
volumetric rays - I've not got any god rays in my renderer, but if I was faking it, then I'd again use particles. In both cases you have complete control over alpha, color, etc