Advertisement

Procedural game idea creation

Started by January 02, 2011 07:04 AM
5 comments, last by way2lazy2care 13 years, 10 months ago
Hi,

I was reading the game design forum lately and felt like I saw some sort of pattern there which I now see almost everywhere where people pitch their game ideas. So I made a program to have ideas for me (see source). It's written in c++ for performance reasons. The command line takes a single argument which can be any integer number. The program will then display the game idea associated with that number but you can also skip the argument and just get a random idea. It produces post-ready text. You only have to append your plans/experiences (i.e. "I have three weeks of VB experience and programmed html before that. I am writing the engine myself from scratch and am now searching for skilled texture artists."). Also I hope this becomes some sort of industry standard, so instead of always writing all that text you can pitch your game simply with: "hey, I want to make game 763, who's with me?".

#include <iostream>#include <string>#include <vector>#include <cstdlib>#include <ctime>std::string& getRandom(std::vector<std::string> &v){  return v[std::rand()%v.size()];}int main(int argc, char *argv[]){  int idea;  if(argc>1)    {      idea = std::atoi(argv[1]);    }  else    {      idea = std::time(0);    }  std::srand(idea);  std::vector<std::string> mmo;  mmo.push_back("MMO");  mmo.push_back("");  std::vector<std::string> genre;  genre.push_back("role playing");  genre.push_back("real time strategy");  genre.push_back("turn based strategy");  genre.push_back("adventure");  genre.push_back("first person shooter");  genre.push_back("third person shooter");  genre.push_back("simulation");  std::vector<std::string> theme;  theme.push_back("fantasy");  theme.push_back("sci fi");  theme.push_back("WW1");  theme.push_back("WW2");  theme.push_back("mafia");  theme.push_back("medival");  theme.push_back("antique");  std::vector<std::string> gameplay_feature;  gameplay_feature.push_back("open world gameplay");  gameplay_feature.push_back("realistic physics");  gameplay_feature.push_back("customizable characters");  gameplay_feature.push_back("customizable gear");  gameplay_feature.push_back("destructible environments");  gameplay_feature.push_back("something unique I will reveal later");  std::vector<std::string> amount;  amount.push_back("large");  amount.push_back("huge");  amount.push_back("overwhelming");  std::vector<std::string> aspect;  aspect.push_back("races");  aspect.push_back("professions");  aspect.push_back("classes");  aspect.push_back("weapons");  aspect.push_back("activities");  std::vector<std::string> story1;  story1.push_back("waking up in");  story1.push_back("arriving at");  std::vector<std::string> location;  location.push_back("village");  location.push_back("bar");  location.push_back("generic dark creepy place");    std::vector<std::string> state;  state.push_back("amnesia");  state.push_back("nothing to lose");  state.push_back("a terrible hangover");  std::vector<std::string> important_person;  important_person.push_back("his brother");  important_person.push_back("his sister");  important_person.push_back("his girlfriend");  important_person.push_back("his loyal sidekick");  std::vector<std::string> story2;  story2.push_back("been abducted");  story2.push_back("been murdered");  story2.push_back("gone missing");  story2.push_back("eaten to much candy");  std::cout << "Game idea " << idea << ":\n\n";  std::cout << "Hi,\nI had this idea for a " << getRandom(mmo) << ' ' << getRandom(genre)	    << " game with " << getRandom(genre) << " elements. It will be " << getRandom(theme)	    << " themed and feature " << getRandom(gameplay_feature) << " together with " << getRandom(gameplay_feature)	    << ". There will be a " << getRandom(amount) << " amount of " << getRandom(aspect)	    << " to choose from. The game will start with the main character " << getRandom(story1)	    << " a " << getRandom(location) << " with " << getRandom(state)	    << " where he will soon learn that " << getRandom(important_person)	    << " has " << getRandom(story2) << ". The story then progresses from there.";  std::cout << "\n\n";  return 0;}


Sample ideas:

Quote:
Game idea 47:

Hi,
I had this idea for a MMO turn based strategy game with first person shooter elements. It will be WW1 themed and feature realistic physics together with open world gameplay. There will be a huge amount of activities to choose from. The game will start with the main character waking up in a generic dark creepy place with a terrible hangover where he will soon learn that his loyal sidekick has gone missing. The story then progresses from there.

Game idea 7557:

Hi,
I had this idea for a MMO role playing game with real time strategy elements. It will be mafia themed and feature realistic physics together with realistic physics. There will be a large amount of activities to choose from. The game will start with the main character arriving at a bar with nothing to lose where he will soon learn that his sister has gone missing. The story then progresses from there.
Need to add "The Elder Scrolls" generic, recently escaped from prison.
Advertisement
I came up with a great idea that just doubled your programs productivity and opened up market share by 50%. A story about a female...
It could be a cool april's fool joke
---------------------------------
FAR Colony http://farcolony.blogspot.com/
Should make it create a Help Wanted ad that follows the mandatory template. Also here's a link to the program running

Hah, interesting.

I'd like to see an inverted mode where I can take my game idea description and turn it into a number.
Advertisement
Quote: Original post by radioteeth

Hah, interesting.

I'd like to see an inverted mode where I can take my game idea description and turn it into a number.


int main(int argc, char *argv[]){  std::cout<<"7";  return 0;}

This topic is closed to new replies.

Advertisement