[Also see the other parts of this article.]
Future - Personality, history, relations, communication
I believe the random generated suggestions above are developable, if not already existent. I believe they will become increasingly necessary as games become more and more persistent. I believe that a translator engine (one that adapts content to the myriad of hardware available) will be unavoidable to let this persistent world accessible from a cell phone, a game console, a PC etc. (in other words, anytime and anyway the user wishes). Maybe the hardware differences will vanish and cell phones will become as powerful as desktop PCs. But, even then, programming languages will tend to be different. Anyway, I’m driving away from my point, the future of random generated content: the psychological side of the characters. Their soul, so to speak.
Most and foremost, in order to exist personality is necessary to exist memory. So for each character to have their own personality there must be a way to store their memories (and a huge space, for that matter, since memories will continually be generated). Second, personality (and memories) is/are built according to experience. So, before the world is opened to the player the characters must be “nurtured”, interacting with each other (and the environment) in order to develop their life histories. Third, there must be a set of variables that define what that personality is (once again much like The Sims traits, although I think them to be too shallow).
Now things get more complex. Besides the inner traits, the outer traits are equally important to develop one’s personality. In other words, there must be a culture where these characters are immersed and from which they grasp portions according with their inner selves/traits. I never played Civilization, but for what I read, I guess it has profound clues about how to create an interactive culture capable of influencing NPCs’ behaviors.
The utopian goal would be to create a culture generator (random or not) with several variables (economy, politics, whatever), determine the cultures and distribute them throughout the populations of the world. According with each culture, the tool would generate and distribute the social roles (professions, army men, unemployed etc.) of the NPCs necessary to match and support such cultural environment. After that, developers would let the game running to make the history construct itself between the interactions of the NPCs and let them freely develop memories and inter-relations.
(It could be implemented a databank of real-world city developments so the engine could generate their cities plausibly.)
Finally, the trickiest of the traits. In order to convey their personalities to the players, the NPCs must be able to somehow communicate. And here lies a huge problem. The solution of The Sims is too abstract to say the least. In order to convey the reality that the suggested engines are capable of generate, it would be necessary a language as complex as ours.
I only have a vague idea of how to do this. I would start with an engine like Google Translator and someone dedicated to teach this engine. I guess that, instead of words translated into words, the communication/language engine would translate game data into words. I believe that, for it to work, the characters should be able to “percept/read” the world (like seeing or hearing).
Plus – and extremely fundamental – the programmer should name every variable of the game with its correspondent word (e.g. the head object be named “head”; the variation of the weight be categorized like, say, from 100% to 80% obese, from 79% to 65% above average, 15% to 0% squalid), so that when a character “sees” one of that variables he is able to express it with the correct word. It’s obvious that to achieve “real” NPC communication within the game it’s necessary to implement language itself as integral part of the development tools since the beginning, so NPCs can be able to turn data into vocabulary.
The future of the future
Give the players the power to create and share their own universes using those tools. And configure their avatars with as much freedom as the system is capable of allow. Since the tools are much too complex with their almost endless variables, create a metagame/tutorial/achievement system that evenly uncovers all the tools possibilities. Of course the user can access the hole toolbox from the start if he/she wishes and read the help files as they wish. Since every variable will be named as it would in real life (to facilitate the design of the communication system of NPCs) it will be easier to find what one wants (which reminds me that a search tool must be available, as well as configurable index of the hole content).