Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
August 21, 2014
arrowPress Releases
August 21, 2014
PR Newswire
View All
View All     Submit Event





If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 
PROCEDURAL GENERATED GAME CONTENT – PART II
by Boto Gatas on 09/09/10 02:28:00 am

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

[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).


Related Jobs

Infinity Ward / Activision
Infinity Ward / Activision — woodland hills, California, United States
[08.21.14]

Build Engineer-Infinity Ward
Disney Consumer Products
Disney Consumer Products — Glendale, California, United States
[08.20.14]

Contract Game Programmer
Cloud Imperium Games
Cloud Imperium Games — Austin, Texas, United States
[08.20.14]

Lead Network Engineer
Cloud Imperium Games
Cloud Imperium Games — Santa Monica, California, United States
[08.20.14]

Animation Programmer






Comments


Jonathan Jennings
profile image
This sounds like it would be a huge task but executed correctly it could make for an amazing game. a " build your own universe" type game would have mass appeal and should you include different aspects from other social / created content based games you could make a game that has an almost unlimited amount of replayability. this sounds a lot like a game concept a team I was on made for one of my early game-developement courses however our idea was much less fleshed out and would far more unnecessarily complicated.

Boto Gatas
profile image
Thanks for the reply! I’m relieved! So I’m not completely crazy after all. I believe a developer would only develop such tools for a product in the molds o WoW. Maybe I should send them an e-mail with these posts. I’ll do it now. What do you think?

Nicolas L
profile image
You're not crazy, only some kind of dreamer. Because you can think about it doesn't mean you can make it real. Not because it's technically impossible, only because it's too complex and would require too much time and investement.



By the way, here is a pseudo C code of a program that may do what you want in more time than the age of the universe (i bet) :





while(true){

bigInt program = 0;

if( running_program_does_whats_expected(program) ){

saveInAfile(program);

break;

}else{

program++;

}

}



It works because a program is a binary code, aka a really big integer.

Beware, it will produce Shakespeare tragedy too.

Also, I don't wanna sound harsh, but the title of your article reveals how deepless is your understanding of _procedural_ generation. If sometimes a random seed is used, the whole process is by no mean random.

Boto Gatas
profile image
Thanks for your reply. Sorry for being so naïve. You’re right, randomness is but an illusion. Anyway, to dream is my most precious hobby, so maybe my posts will tend to be annoying. :)

Boto Gatas
profile image
I've changed the name of the article to Procedural. Thanks.

Jonathan Jennings
profile image
If any one could do it I am certain the geniuses at activision - blizzard could, However like I said it would be a huge task, The potential for success is great though. clearly gamers like having their own virtual form of expression / representation and a game full of player universes/ galaxies of content would be awesome, but it would just be a lot of work to institute something like that.


none
 
Comment: