Randomly generated story-lines based on randomly generated characters via the use of character attributes of a certain number of types assigned to each character like modules or puzzle pieces which needs to be overall somehow balanced in the amount of each type of similar attributed characters in the same world would be the developer’s challenge in developing the kind of randomly generated RPG game I’m proposing.
Each randomly generated character in the world would have a story element block or arc applied to it when the world is generated, and the compatibility of those story arcs would be determined by your character’s chosen attributes.
The randomly generated world’s look, feel and leanings would be determined by the values set by the user when choosing their new character’s attributes, however each location element, or that actual way the architecture and landscaping is laid out would be different even between two custom character’s worlds with their own files but similar or same attributes.
The location of each character would be semi-random, with a set location type for each attribute yet would still have a randomizer applied for the minority of the time (the character’s attributes won’t be matched with the set location for that character type less than 50% of the time). This means that the randomly generated world, will for the most part match the randomly generated character, this can also be applied to the story-blocks and their sequence.
Applying It To NPC Ai
This concept could also be used to determine how the Ai for each NPC would move around the world, with them closer to their compatible location type more than 50% of the time, but of course able to semi-autonomously move to other locations in the hub/world the minority of the time.
The Generation Process For The Player
The player would create a new file when setting the attributes for a new character at the beginning of the story. The player could of course also customize the look of the character from a high number of possible combinations.
The game would be set up so that each possible story element that could occur when interacting with a character would be a class with its own inputs and outputs for other possible story elements. Those inputs would be added using booleans (true/false) for what kind of outputs from other story elements are compatible in order to determine whether or not they can be sequenced logically.
Likewise the output would work in the same way. The same object-oriented concepts could be applied to randomly generating the world with each location type or prop as its own class with inputs and outputs that define compatibility with other world elements. In other words extending what you do with story elements or character attributes to world items or power-ups.
Connecting Worlds Online
When going online, the worlds generated for the selected characters of that multiplayer session would be connected via a “bridge” in the communal online world, so that one character could enter the world of another and vice versa when playing online at the same time.
When playing online, characters in the world which hold story-blocks compatible with multiple online characters would make it possible to simultaneously play those story-blocks online together.
Depending on how one does using the gameplay system during those story arcs or simply by the choices the player makes in realtime or turn-based, different results could ensue, whether it be based on points, or simply the kind of ending you get on that story arc. Depending on the story arc type, there would also be chances to replay them for different or better results.
Multiplayer Quest Compatibility
Because the amount of each type of character with each type of attribute leaning would be balanced in the world ideally, there should always be some relevant quests for multiple parties to take on in multiplayer while single player mode would never quite feel the same with each different character (and randomly generated world) you create.
This would add more value and the potential for increased customizability or variations in the characters wouldn’t cause a problem for having a matching world, and this would allow each to be a unique experience or world of relevant quests (which are accessible) and randomly generated characters and content for atmosphere and to enrich the world (whether those generated characters’ quests are incompatible with your character, so you can only interact with the character statically rather than with full interaction including being able to proceed into that story-block from the hub or world).
Potentially you could connect the worlds of multiple characters you created yourself, either by using multiple computers on a network, virtualizing them or natively but with a set limit of custom characters and their worlds so that it can handled under the overhead.
The Game’s Focus & “Skin”
The kind of game, the theme or market for the game, would all be dependent on the types of attributes available, their variations, as well as their combinations that would have assets, story arcs and levels developed for those possibilities. Levels would be accessed via story-blocks leading to new story-blocks, unlocking new levels, or new content/sequences.