Traditionally, non-unique game mobs and NPCs are of the cookie-cutter type. Seen one, seen 'em all, and you instantly know their behavior, stats and strong/weak points. Games however become ever more immersive, and this seems like one of the last hurdles to take in that regard.

A quick search for this shows mods like SetBody for Oblivion which allegedly gives all NPCs random bodies (lore friendly), and I've found some DnD discussions about random character creation tools for DMs, but this is only putting a random look on a predefined character. With full randomization I mean not only random looks (to an extend of course - no orc looks on elves of course), but also random abilities, random AI level, etc. I'd even go as far as e.g. random attack style (weapon choice, etc.) and AI.

On the one hand this would make games far more interesting, but on the other hand it might make them a lot harder to play. Imagine a horde shooter which traditionally would e.g. have 10 basic enemy types, each with their own unique looks, stats and attack style. In the new set-up, you wouldn't be able to know how they would react to you upfront, nor would you be able to know how to best handle them. Basically every enemy you encounter would be fresh, and you cannot rely on things anymore like "Oh, that zombie is red - it's an exploding one" or "it's obviously one of the 10 available elf body types - it'll surely attack with this-and-that spell when I get closer than this-or-that distance". It seems like it could only ever work in more strategic games where you have time to study and handle each NPC and mob individually.

Regardless of whether current gaming platforms are up to it hardware wise, would players actually like and want it due to the above? Or would it only appeal to a niche of the player base, and is it thus not more common today? And I think current hardware is up to the task; if not, then it's easy to spend say 30 seconds upfront to pre-render the mobs upfront before a level starts, and just create a strong AI with diverse parameters that can be randomly tweaked per mob to weaken its abilities in a random way (a bit weaker path finding skills, smaller alert distance, etc.).

If anyone has any example of such games: please share; I'd be nice to try it on for size :)


closed as primarily opinion-based by Stephane Hockenhull, DMGregory May 21 '18 at 14:20

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • \$\begingroup\$ I've agreed with the close votes on this question because despite the title it doesn't really seem to be about technical feasibility - OP answers that concern themselves above - but rather boils down to "do you think mechanic is a good idea?" This is largely opinion-based. If you have a question you'd like to ask about how to achieve this feature in a game you're making, or how to solve a particular issue with it, or how to tune it to achieve a particular desired result, all of those questions would be potentially on-topic here. \$\endgroup\$ – DMGregory May 21 '18 at 14:24
  • \$\begingroup\$ @DMGregory: agreed; I think it's indeed technically feasible, it's just that I see it (almost) never user which made me wonder if adding it makes a game not fun to play anymore, or if there's other reasons you don't see it used. But it's indeed quite opinion based... \$\endgroup\$ – Carl Colijn May 21 '18 at 16:37
  • \$\begingroup\$ If you're considering using it in your own game, asking a question where you lay out how it would work in your game's context, identifying a problem case where it would be non-fun, and asking for solutions to that case in your game, would be constructive and on-topic here. :) \$\endgroup\$ – DMGregory May 21 '18 at 16:39
  • \$\begingroup\$ Nah, it's more that I wondered about the concept in general. I asked to see if someone would answer that it's e.g. actually technically infeasible, or that games x, y and z already tried and failed for reasons a, b and c, but I got more agreement on the question than hard facts :) \$\endgroup\$ – Carl Colijn May 21 '18 at 16:46

(Full disclosure: I am not a game developer, and (so far) have no practical experience in game development; I'm just trying to answer your question from a theoretical point of view).

If you're talking about enemies, I don't see why this wouldn't be feasible. A few ideas off the top of my head:

  • You could write a few variants of an enemy's basic AI routine that could correspond to different temperaments (for example: risk-taking and highly aggressive vs. cautious and defensive, or confident enemies who attempt to take you on alone vs. hesitent ones who try to call in reinforcements), or degrees of intelligence (such as dumb enemies that always blindly go for pure damage vs. smarter ones that take into account what weapon(s) and armor you have equipped) then assign them randomly to different enemies of the same type.
  • This isn't really randomization, but you could write increasingly effective AIs for enemies as a function of their level. E.g. level 1-19 orcs will only rush you head-on, but level 20+ ones can sneak up behind you while you're busy fighting the rest of them. This would feel unexpected for most players, and force them to adapt their tactics.
  • If your AI script uses fixed values (e.g. mean distance at which they detect your presence, or accuracy of their shots), you could add a random deviation from those values. This variation could be based on some measure of progression through the game (e.g. character level, number of dungeons cleared, or point of progression in the main story). You could also extend this to basic attributes like level, hit points, attack power, equipment, etc.
  • Instead of making every individual encountered enemy of a given type completely identical (or conversely making every enemy entirely random), you could use a probability based system to assign attributes. For example "that zombie is red, there's a pretty high likelihood it'll explode if I let it get too near" or "this body type looks elven, there's a good chance it'll use xyz spells when I get reasonably close"; again, "too near" and "reasonably close" could also be probabilistic, making it harder for the player to predict exactly how a specific enemy is going to behave. This allows the player develop a general idea of how certain enemies behave, without making it deterministic.
  • Using a probability distribution to determine factors like an enemy's equipped weapon, armor, spells, or even many of its other stats would mean that the majority of enemies of a given type would fall within a typical range, but still allow for a few outliers that could catch unprepared players off-guard. You'd probably still want some sort of hard upper and lower limits to prevent excessively over- or under-powered enemies, but I feel this has to potential to add quite a bit of variety and uncertainty to encounters, while discouraging complacency.

IMHO the key here is to encourage the player to get an understanding of how a given enemy type will behave, and thus how to handle them in general, while still expecting them to demonstrate a reasonable degree of improvization when dealing with individual enemies of that type. Seems to me that this would encourage players to both learn common patterns and think on their feet during fights. Things should be neither too predictable nor too unpredictable.

  • \$\begingroup\$ These were indeed lines of thought I had as well. Doesn't seem to be very resource intensive to work out; (some of the) randomization can even happen up-front anyway in a pre-level rendering phase. The point about not giving too much randomization is indeed what I was wondering about: too much randomization might mean the player will not be able to have a fun time playing the game. Most of the time it's meant for relaxing after all, and not give additional stress :) \$\endgroup\$ – Carl Colijn May 21 '18 at 12:36

Rimworld gives you characters with all kinds of random traits who change as they interact with the environment. Were this done in a Bethesda game (and tamed down a bit) it'd be pretty stellar.

The main issue (which may be solved in time) is Speech. In an FPS game you prefer to hear the characters talk, even if there aren't a lot of actors, etc. The tech for speech generation is getting there, and when it is, I expect that it'd be much easier to get a few dozen actors to open things up.

With that, combined with "evolving" NPCs (such as those in Rimworld, which I'll mention is derivative of Dwarf Fortress) one could imagine that RPGs at some future date will be able to generate an interesting world (and with much less effort than before.)

  • \$\begingroup\$ Indeed speech may be difficult to get working, but for most horde-like shooters e.g. speech is not needed for the enemies. Thanks for mentioning Rimworld and Dwarf Fortress; I've heard of the latter before but never realized it was set up like that (thx Wikipedia for plenty of info) \$\endgroup\$ – Carl Colijn May 21 '18 at 12:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.