PDA

View Full Version : Ready made npc personalities



Teflonknight
2012-06-24, 03:09 PM
My sons and I share an interest in Star Wars. Especially the clone wars cartoon (Please no arguments over the merits or lack there of of the cartoon or episodes 1-3). I recently got out the star wars clone wars character encyclopedia from the library. While looking through it ( the kids weren't as interested as I thought they would be) I realized that the characters would make great NPCs. The have defined personalities and weaknesses. A little tweaking in race and occupations and you have ready made NPCs appropriate for any RPG ( I will be using them in D&D 3.5 Eberron). Please share any sources of NPCs that you have.

The Bandicoot
2012-06-24, 04:21 PM
All my good NPC's are either ideas I had for my own PC's or even just old PC's modified a bit.

Garwain
2012-06-25, 07:27 AM
I have made a random personality generator. Coding is crude and I would do it different now, but it works.



<html>
<head>
<script>

function get(){
var p1=p2=p3=p4=p5=p6=p7=p8=p9=p10=p11=p12=p13=p14=p15 =p16=0;
document.getElementById('warmth').innerHTML ="";
document.getElementById('reasoning').innerHTML ="";
document.getElementById('stability').innerHTML ="";
document.getElementById('dominance').innerHTML ="";
document.getElementById('liveliness').innerHTML ="";
document.getElementById('rules').innerHTML ="";
document.getElementById('social').innerHTML ="";
document.getElementById('sensitivity').innerHTML ="";
document.getElementById('vigilance').innerHTML ="";
document.getElementById('abstract').innerHTML ="";
document.getElementById('private').innerHTML ="";
document.getElementById('apprehension').innerHTML ="";
document.getElementById('openness').innerHTML ="";
document.getElementById('self').innerHTML ="";
document.getElementById('perfectionism').innerHTML ="";
document.getElementById('tension').innerHTML ="";
var p1=Math.floor(Math.random()*2);
if (p1>0){
var warmth=new Array("Impersonal", "distant", "cool","detached", "formal", "outgoing", "attentive to others", "kindly", "easy-going", "participating");
var r=Math.floor(Math.random()*10);
document.getElementById('warmth').innerHTML = "Warmth: "+ warmth[r]+"<br/>";
};
var p2=Math.floor(Math.random()*2);
if (p2>0){
var reasoning=new Array("concrete thinking", "lower general mental capacity", "less intelligent", "unable to handle abstract problems", "slow minded", "abstract-thinking", "more intelligent", "bright", "higher general mental capacity", "fast learner");
var r=Math.floor(Math.random()*10);
document.getElementById('reasoning').innerHTML = "Reasoning: "+ reasoning[r]+"<br/>";
};
var p3=Math.floor(Math.random()*2);
if (p3>0){
var stability=new Array("reactive emotionally", "changeable","affected by feelings", "emotionally less stable", "easily upset", "emotionally stable", "adaptive", "mature", "faces reality calmly", "natural coolness");
var r=Math.floor(Math.random()*10);
document.getElementById('stability').innerHTML = "Stability: "+stability[r]+"<br/>";
};
var p4=Math.floor(Math.random()*2);
if (p4>0){
var dominance=new Array("cooperative", "avoids conflict", "submissive", "humble", "obedient","Dominant", "forceful", "assertive", "competitive", "stubborn");
var r=Math.floor(Math.random()*10);
document.getElementById('dominance').innerHTML ="Dominance: "+ dominance[r]+"<br/>";
};
var p5=Math.floor(Math.random()*2);
if (p5>0){
var liveliness=new Array("Serious", "restrained", "prudent", "introspective", "silent","spontaneous", "enthusiastic", "cheerful", "expressive", "impulsive");
var r=Math.floor(Math.random()*10);
document.getElementById('liveliness').innerHTML = "Liveliness: "+liveliness[r]+"<br/>";
};
var p6=Math.floor(Math.random()*2);
if (p6>0){
var rules=new Array("expedient", "nonconforming", "disregards rules", "self indulgent", "chaotic", "rule-conscious", "dutiful", "conscientious", "conforming", "moralistic");
var r=Math.floor(Math.random()*10);
document.getElementById('rules').innerHTML = "Conformity: "+rules[r]+"<br/>";
};
var p7=Math.floor(Math.random()*2);
if (p7>0){
var social=new Array("shy", "threat-sensitive", "timid", "hesitant", "intimidated", "socially bold", "venturesome", "thick skinned", "uninhibited", "easygoing");
var r=Math.floor(Math.random()*10);
document.getElementById('social').innerHTML = "Social Behavior: "+social[r]+"<br/>";
};
var p8=Math.floor(Math.random()*2);
if (p8>0){
var sensitivity=new Array("objective", "unsentimental", "tough minded", "self-reliant", "rough", "sensitive", "sentimental", "tender minded", "intuitive", "refined");
var r=Math.floor(Math.random()*10);
document.getElementById('sensitivity').innerHTML = "Sensitivity: "+sensitivity[r]+"<br/>";
};
var p9=Math.floor(Math.random()*2);
if (p9>0){
var vigilance=new Array("trusting", "unsuspecting", "accepting", "unconditional", "easy", "vigilant", "suspicious", "skeptical", "distrustful", "oppositional");
var r=Math.floor(Math.random()*10);
document.getElementById('vigilance').innerHTML ="Vigilance: "+ vigilance[r]+"<br/>";
};
var p10=Math.floor(Math.random()*2);
if (p10>0){
var abstract=new Array("grounded", "practical", "conventional", "solution oriented", "steady","abstract", "imaginative", "absent minded", "impractical", "absorbed in ideas");
var r=Math.floor(Math.random()*10);
document.getElementById('abstract').innerHTML = "Reasoning: "+ abstract[r]+"<br/>";
};
var p11=Math.floor(Math.random()*2);
if (p11>0){
var private=new Array("forthright", "genuine", "guileless", "naive", "unpretentious", "discreet","shrewd", "worldly", "astute", "diplomatic");
var r=Math.floor(Math.random()*10);
document.getElementById('private').innerHTML = "Private: "+private[r]+"<br/>";
};
var p12=Math.floor(Math.random()*2);
if (p12>0){
var apprehension=new Array("self-assured", "unworried", "free of guilt", "confident", "self satisfied", "self doubting", "worried", "guilt prone", "insecure","self blaming");
var r=Math.floor(Math.random()*10);
document.getElementById('apprehension').innerHTML = "Apprehension: "+apprehension[r]+"<br/>";
};
var p13=Math.floor(Math.random()*2);
if (p13>0){
var openness=new Array("traditional", "attached to familiar", "conservative", "respecting traditional ideas", "open to change", "experimental", "liberal", "analytical", "critical", "flexibility");
var r=Math.floor(Math.random()*10);
document.getElementById('openness').innerHTML = "Openness: "+openness[r]+"<br/>";
};
var p14=Math.floor(Math.random()*2);
if (p14>0){
var self=new Array("group-oriented", "affiliative", "joiner", "follower", "dependent", "self-reliant", "solitary", "resourceful", "individualistic", "self sufficient");
var r=Math.floor(Math.random()*10);
document.getElementById('self').innerHTML = "Personal Upkeep: "+self[r]+"<br/>";
};
var p15=Math.floor(Math.random()*2);
if (p15>0){
var perfectionism=new Array("tolerates disorder", "undisciplined", "lax", "impulsive", "careless", "perfectionistic", "organized", "compulsive", "self-disciplined","exacting will power");
var r=Math.floor(Math.random()*10);
document.getElementById('perfectionism').innerHTML = "Perfectionism: "+perfectionism[r]+"<br/>";
};
var p16=Math.floor(Math.random()*2);
if (p16>0){
var tension=new Array("relaxed", "calm", "tranquil", "lazy", "patient", "high energy", "impatient", "driven", "frustrated", "over wrought");
var r=Math.floor(Math.random()*10);
document.getElementById('tension').innerHTML ="Tension: "+ tension[r]+"<br/>";
}


var fear=new Array("corruptness", "unworthiness of love","worthlessness", "commonness", "uselessness", "isolation", "boredom", "loss of control", "loosing");
var r=Math.floor(Math.random()*10);
document.getElementById('fear').innerHTML =fear[r];

var desire=new Array("integrity","unconditional love","value to others", "uniqueness", "competency", "safety", "experience of life", "autonomy", "peace of mind");
var r=Math.floor(Math.random()*10);
document.getElementById('desire').innerHTML =desire[r];

var temptation=new Array("hypercriticism", "manipulativeness", "pleasing everybody", "withdrawl","overthinking","suspiciousness", "moving too fast", "self-sufficiency", "giving in");
var r=Math.floor(Math.random()*10);
document.getElementById('temptation').innerHTML =temptation[r];

var vice=new Array("anger", "vainglory", "deceit", "envy", "avarice", "fear", "gluttony", "lust", "indifference");
var r=Math.floor(Math.random()*10);
document.getElementById('vice').innerHTML =vice[r];

var goal=new Array("perfection", "freedom", "hope", "origin", "omniscience", "faith", "work", "truth", "love");
var r=Math.floor(Math.random()*10);
document.getElementById('goal').innerHTML =goal[r];

}
</script>
</head>
<body>
<div style="text-align:center">
<input type="button" onclick="javascript:get();" value="Generate Random Personality Description"><br/>


<span id="warmth"></span>
<span id="reasoning"></span>
<span id="stability"></span>
<span id="dominance"></span>
<span id="liveliness"></span>
<span id="rules"></span>
<span id="social"></span>
<span id="sensitivity"></span>
<span id="vigilance"></span>
<span id="abstract"></span>
<span id="private"></span>
<span id="apprehension"></span>
<span id="openness"></span>
<span id="self"></span>
<span id="perfectionism"></span>
<span id="tension"></span>
<br/>

Motivations:<br/>
biggest fear: <span id="fear"></span><br/>
biggest desire: <span id="desire"></span><br/>
biggest temptation: <span id="temptation"></span><br/>
biggest vice: <span id="vice"></span><br/>
Goal in life: <span id="goal"></span><br/>


</div>
</body>
</html>

Save the code in a notepad and save it as "generator.html" or something. Keep clicking on 'generate' to see different personalities.

ThiagoMartell
2012-06-25, 07:34 AM
I usually get inspiration from movies and TV series.
I once had a demon that was like Lorne from Angel, a corrupt mayor that was a lot like Lionel Luthor from Smallville, a ranger that was based on Clint Eastwood's character from Gran Torino and probably their favorite - a 4th level elf Fighter (gained through the deck of many things) based on Alfred Pennyworth from Batman.