Level 1 Survivability Ideas

Ideas and suggestions for game mechanics and rules.
User avatar
JaydeMoon
Fionn In Disguise
Posts: 3164
Joined: Sun Jan 04, 2004 11:03 pm
Location: Paradise
Contact:

Level 1 Survivability Ideas

Post by JaydeMoon »

This may seem off-topic, but it addresses some of the core reason Inaubryn brings this up, ie survivability at level 1 (well, it was slightly off topic in Inaub's post about giving ECL PCs an XP jumpstart... but then dirty Alara moved it to it's own post. Fine!):

How about we increase survivability by making some of the stupid things that have been known to kill ALFAns at level 1 non-killers?

I don't care how weak you are... three or four rats are not EVER going to kill you. PERIOD. Maybe make them so they don't do damage but instead infect you with disease? Or call them 'Horde of Rats' to show that each rat on the screen represents 50 to 100... and then only place as many as there would be actual hordes (usually only 1).

How about Deer that run away when your level 1 ranger, hunting for his party, shoots it with an arrow, instead of Rambo deer that come and attack you.

How about in general animals that run away from you instead of attacking the moment you're in their threat range? Bears tend to leave people alone. So do wolves and hunting cats. Having your server populated all the time with rabid, starving wolves is a weak reason for them to always attack PCs, especially when in the same area PCs can see herds of deer.

Fear scripts on weak mobs like goblins and kobolds. I think BG had fear scripts. I remeber the good old days in 2d edition when creatures had to make morale checks or run away. A fighter with a big stick and high intimidate score should be able to scare away 3 to 4 goblins... thereby not having to actually fight them. Hell a rogue or a wiz with a high intimidate should be able to do the same.

Three goblins attacking someone and seeing one of their number gutted, I say that without some sort of overriding compulsion, the other two are going to bolt.

Awarding XP based on the 3d Ed concept that you should earn XP for successful encounters, and not merely slaughtering everything in sight can add to this concept.

Suddenly 1st level adventurers aren't having to fight everything that looks at them, aren't going to be killed by the stupidest of stuff, and are going to earn experience as they actually experience things, ZOMG what a concept!!!

Now, level 1 PCs who go off hunting goblins or dungeon delving will face the same dangers as they do now, but level 1 PCs who want to take a slowly have a greater chance of succeeding.

Now level 1 doesn't suck as bad, it's still potentially as dangerous as it should be, AND we have a more realistic setting.

Of course, the scripting here would probably be a headache... so maybe it's not really a workable solution... but my understanding is that creatures are being remade to fit ALFA's idea of what they should be and then being distributed evenly to all servers, so that everyone has the same deer and the same basic orcs, etc... so can we not fit fear scripts to them?

Garroting yourself still kills you.
<Burt>: two dudes are better than one.

DMG v.3.5 p.6, 8, and 14

BEATZ
User avatar
Brokenbone
Chosen of Forumamus, God of Forums
Posts: 5771
Joined: Mon May 16, 2005 1:07 am
Location: London, Ontario, Canada

Post by Brokenbone »

(1) Sticking closer to published monsters this time around might help.

You're right that the Bioware "rat" of NWN1 is probably more one rat, but it's also a lot less scary than a "Rat Swarm"

http://www.d20srd.org/srd/monsters/swarm.htm#ratswarm

The NWN1 OC & expansions were full of monsters jacked up for limited reason. So is ALFA's NWN1. Lots of humanoids with way, way too many class levels, skills, feats, whatever. Hopefully this being carefully considered our next go of it, helps.

(2) I do not know what AI systems are contemplated for NWN2. Is it based on JAI? I've personally never been good at getting AI to work in NWN1, but if some of the "best of" scripts can be ported over with clear labelling, that might be nice. Labels like Herbivore, Carnivore, Opportunist, Berserker, Healer, Melee, Ranged, Coward... whatever. I'm personally happy when I can even make NPCs run around and engage with melee weapons, then pull back and run, possibly turning to shoot arrows once they're out of danger.

Anyhow, applying some of those to certain wildlife, good. I do not even know what our current "best of" might be, I know Thangorn helped me with some JAI stuff before, I'm sure everyone will have their strengths and weaknesses on point... assuming JAI ports over (which I don't know, as a non NWN2 builder).

(3) Not sure if we'll ever have a satisfactory XP system for "non-fatal defeats", other than RP XP ticking along. If a goblin flees, does every PC on screen get 5xp? If you chase him and he again flees, is it another 5xp? What if only the closest PC gets XP? What if he ran because a PC in the back ranks plinked him with an arrow? Again, I'm not sure this one will necessarily happen, except again, via "automated" RP-XP timer or by a DM giving you an attaboy of a few XP if you drive off goblins or negotiate peace or some other nonfatal way of overcoming challenge.
ALFA NWN2 PCs: Rhaggot of the Bruised-Eye, and Bamshogbo
ALFA NWN1 PC: Jacobim Foxmantle
ALFA NWN1 Dead PC: Jon Shieldjack

DMA Staff
Rick7475
Haste Bear
Posts: 2097
Joined: Tue Jan 06, 2004 1:59 am
Location: Ottawa
Contact:

Post by Rick7475 »

Level 1's should leave the main player hubs anyway.

But I am not going to be making lethal areas near civilization unless it's is clearly marked or an NPC gives you warning.


For example, south of Silverymoon there is the Silverwood. I will have a patrol quest to a guard tower in the woods. The only thing you may encounter is a lone wolf, a lone rabid skunk/fox/racoon, a snake (with very weak poison) and no killer deer (they will be neutral faction). However, when you get to the guard tower, the NPC will warn you that there are trolls south of the creek and an old but dangerous ruin west of the tower. (I can put recommended levels in brackets if need be :) ). He will describe the ruins as dangerous due to sightings of ghosts and the trolls deadly. You can heed the warning or not, but you have been warned.


Now, on the boards I can put some meta info, such as the Trolls of Silverwood should only be hunted by level 6+, or the the Tall Rock ruins should only be investigated by level 4+.

But I don't know how much other warning I can give. On Daggerford I put up numerous level 1 guides which worked, and anyone who decided not to follow them, well, c'est la vie.

There was a lot of trial and error, yes, I admit a lot of Daggerford was lethal, just like a lot of Waterdeep was lethal for level 1's in the streets when it first went live. But I have learned what to do and how to keep level 1's relatively safe. On TSF there will be a couple of main level 1 player areas, and I am hoping Silverymoon becomes a good (warded as well) safe area for level 1 -3 with a few quests into the catacombs and other stuff to keep players busy.

Rivermoot, as well, will be a hub, though slightly more dangerous. The starting area will give you a choice to start in several areas eventually, though for the first live, probably just SM and Rivermoot.
User avatar
JaydeMoon
Fionn In Disguise
Posts: 3164
Joined: Sun Jan 04, 2004 11:03 pm
Location: Paradise
Contact:

Post by JaydeMoon »

There's nothing wrong with putting some trolls out where lvl 1s might walk, if it makes sense.

This is more aiming at doing just that, making it make sense. Troll + lvl 1 PC = dead PC. That's accepted and understood and no one will rail against it, as long as that troll placement makes sense.

But lvl 1 PC + 1-4 Goblins = There should be some advantages for the PC, and we should take into account the relative cowardice of goblins.

lvl 1 PC vs 1 orc should not be a 50/50 outcome (which it currently seems pretty damn close to).

And deer should never attack PCs (they should also be worth 0 XP in this case) and I would go the extra step to say that they run the hell away from them as soon as they notice them (which may make them worth a point or two of XP).

There should only be a slim chance of any animal taking the offensive when PCs come around.

Anyway, I suppose we'll do what we can do... if it can be scripted and it's out there, then great. If not... then we'll have to live with neutral faction deer and Goblins of Bravery.
<Burt>: two dudes are better than one.

DMG v.3.5 p.6, 8, and 14

BEATZ
User avatar
AcadiusLost
Chosen of Forumamus, God of Forums
Posts: 5061
Joined: Tue Oct 19, 2004 8:38 am
Location: Montara, CA [GMT -8]
Contact:

Post by AcadiusLost »

AI is tricky to code, been hoping a good vault system would present itself. Morale checks for enemies are one thing we'd definitely like to represent- and deer battling hunters to death with their antlers is something none of us want to see in most cases.

Teric has a rudimentary system on the OAS2, but it still needs some work. JAI hasn't been ported for NWN2 as far as I know- unfortunately most AI mods are designed to make opponents more challenging, and involve a good deal of metagaming on the part of the NPCs, in order to choose more effective tactics against the PCs.

I've already put it a lot with the Spawn and Seamless AT systems that should make lag-spawns appearing right on top of PCs a thing of the past- adding functional morale to the equation should go a long way as well.
Thangorn
Haste Bear
Posts: 2081
Joined: Fri Oct 01, 2004 1:00 pm
Location: Queenstown, New Zealand

Post by Thangorn »

I'm putting chickens of death in Zhentil Keep just for Jayde..
On indefinite real life hiatus

[22:52] <Veilan> obviously something sinister must be afoot if a DM does not have his social security number in his avatar name!
User avatar
Teric neDhalir
Githyanki
Posts: 1495
Joined: Mon Jan 05, 2004 10:04 pm
Location: Manchester UK

Post by Teric neDhalir »

AcadiusLost wrote:Teric has a rudimentary system on the OAS2, but it still needs some work.
And the main criticism that keeps coming up is that the encounters run away. A drawback of being limited to encounters suitable for level 1 players. Higher HD monsters or larger groups of low HD monsters would be much more aggressive using the rules I've used on the morale checks. Interestingly I've tried to make the spawns different to (my experience) of NWN1 by using encounter tables, random movement and morale checks for all spawned encounters in order to remove any predictability and it's not going down terribly well with the few testers who have logged on.
User avatar
Mulu
Mental Welfare Queen
Posts: 2065
Joined: Mon Dec 13, 2004 8:25 am

Post by Mulu »

Have you used the flee scripts on animals? I've always thought that animals should flee from heavily armed humanoids. Would make tracking, ranged weapons and stealth necessary to be a hunter, rather than just walking up to a deer and bonking it with a club. Though, for the record, a stag in rut *will fight back* and could absolutely skewer you.

As for lvl 1 encounters, I've always been fond of training quests, as Indio is strongly suggesting for the UD server. Recon and other jobs that don't involve direct combat but are still risky are also good. Level 1 combat works fine in groups, with a generous bleed script. Otherwise it's just suicide.
Neverwinter Connections Dungeon Master since 2002! :D
Click for the best roleplaying!

On NWVault by me:
X-INV, X-COM, War of the Worlds, Lantan University.
Thangorn
Haste Bear
Posts: 2081
Joined: Fri Oct 01, 2004 1:00 pm
Location: Queenstown, New Zealand

Post by Thangorn »

And the main criticism that keeps coming up is that the encounters run away. A drawback of being limited to encounters suitable for level 1 players. Higher HD monsters or larger groups of low HD monsters would be much more aggressive using the rules I've used on the morale checks. Interestingly I've tried to make the spawns different to (my experience) of NWN1 by using encounter tables, random movement and morale checks for all spawned encounters in order to remove any predictability and it's not going down terribly well with the few testers who have logged on.
Can I have a look at your scripts? I have some experience with scripting random encounter tables and AI.. perhaps a pair of fresh eyes might help?

Plus if it's working, I definitely would like to implement it on teh Moonsea..
On indefinite real life hiatus

[22:52] <Veilan> obviously something sinister must be afoot if a DM does not have his social security number in his avatar name!
User avatar
Teric neDhalir
Githyanki
Posts: 1495
Joined: Mon Jan 05, 2004 10:04 pm
Location: Manchester UK

Post by Teric neDhalir »

[quote="Thangorn"]

Can I have a look at your scripts? I have some experience with scripting random encounter tables and AI.. perhaps a pair of fresh eyes might help?

Plus if it's working, I definitely would like to implement it on teh Moonsea..[/quote]

Oh it works, it just isn't what people are used to... It does, in fact, pretty much everything that The_Phoenyxx mentions in his original post; fleeing herd animals, predators with a low chance of attacking, scared goblinoids, etc etc.

////////////////////////////////////////////////////////////////////////////////
//
// System Name : Morale-enabled OnPerception file
// Filename : sjc_onperception_morale
// $Revision:: 1.1 $ current version of the file
// $Date:: 2007-03-20#$ date the file was created or modified
// Author : Teric
//
// Var Prefix:
// Dependencies:
//
// Description
// This script calls the ACR's OnPerception event handler for creatures
// and any custom code a server may need. It is not updated in ACR updates.
//
// Revision History
// inception: Teric
// 1.1 8/26/07 AcadiusLost: added test for GetIsPC(), and return when DIVIDE BY ZERO
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Includes ////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#include "acr_creature_i"
#include "x0_i0_assoc"
#include "x0_i0_enemy"

////////////////////////////////////////////////////////////////////////////////
// Constants ///////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Structures //////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Global Variables ////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Function Prototypes /////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Function Definitions ////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////

void main()
{
ACR_CreatureOnPerception();

// check if it's a PC being perceived, if not, return without further action.
if (!GetIsPC(GetLastPerceived())) {
return;
}

// Morale check code Teric neDhalir 0707
// Morale check dice roll 2D10
int iRoll = d10(2);
// Morale rating (set on creature as variable int SJC_MORALERATING.
// A variable of 0 means the creature will always avoid PCs
int iRating = GetLocalInt(OBJECT_SELF,"SJC_MORALERATING");
// Check for amount of damage sustained and set die modifier accordingly
int iDamageModifier;
int iDamage = GetPercentageHPLoss(OBJECT_SELF);
if
(iDamage <= 50)
{iDamageModifier = -4;}
else if
(iDamage <= 75)
{iDamageModifier = -2;}
else
{iDamageModifier = 0;}
// Check for alignment and set die modifier accordingly
int iAlignmentModifier;
int iAlignment = GetLawChaosValue(OBJECT_SELF);
if
(iAlignment <= 33)
{iAlignmentModifier = -1;}
else if
(iAlignment >= 66)
{iAlignmentModifier = 1;}
else
{iAlignmentModifier = 0;}
// Check for ratio of enemies to allies
int iOutnumberModifier;
struct sSituation sitCurr = CountEnemiesAndAllies(50.0,OBJECT_SELF);
int nNumEnemies = sitCurr.ENEMY_NUM;
int nNumAllies = sitCurr.ALLY_NUM;

// AcadiusLost - escape the DIVIDE BY ZERO case.
if (nNumEnemies == 0) { return;}

if
(nNumEnemies / (nNumAllies + 1) == 1)
{iOutnumberModifier = 0;}
else if
((nNumAllies + 1) > nNumEnemies)
{iOutnumberModifier = (nNumAllies + 1) / nNumEnemies;}
else
{iOutnumberModifier = -(nNumEnemies / (nNumAllies + 1));}
// Check for CR of testing creature
int iCRModifier;
if
(GetChallengeRating(OBJECT_SELF) > 7.5)
{iCRModifier = 3;}
else if
(GetChallengeRating(OBJECT_SELF) > 4.5)
{iCRModifier = 2;}
else if
(GetChallengeRating(OBJECT_SELF) > 2.0)
{iCRModifier = 1;}
else if
((GetChallengeRating(OBJECT_SELF) < 0.5) & (GetChallengeRating(OBJECT_SELF) > 0.25))
{iCRModifier = -1;}
else if
(GetChallengeRating(OBJECT_SELF) < 0.25)
{iCRModifier = -2;}
else
{iCRModifier = 0;}
// Work out die roll needed to pass morale test
int iFinalScore;
object oTarget = GetNearestSeenEnemy(OBJECT_SELF,1);
iFinalScore = iRating + iDamageModifier + iAlignmentModifier + iOutnumberModifier + iCRModifier;
if
(iRating = 0)
{ClearAllActions(TRUE);
ActionMoveAwayFromObject(oTarget,TRUE,60.0);}
else if
(iRoll > iFinalScore)
{ClearAllActions(TRUE);
ActionMoveAwayFromObject(oTarget,TRUE,60.0);}
// Debugging message
//string sRoll = IntToString(iRoll);
//string sRating = IntToString(iRating);
//string sDamage = IntToString(iDamageModifier);
//string sAlignment = IntToString(iAlignmentModifier);
//string sOutnumber = IntToString(iOutnumberModifier);
//string sCR = IntToString(iCRModifier);
//string sFinalScore = IntToString(iFinalScore);
//SendMessageToPC( GetFirstPC(), (sRoll + " " + sRating + " " + sDamage + " " + sAlignment + " " + sOutnumber + " " + sCR + " " + sFinalScore) );
// End morale test

}
//////////////////////////////////////////////////////////////////////////////////


This is basically a subset of the 2ed morale rules with the morale rating of creatures taken from the 2ed Monstrous Manual.

Things to bear in mind;
The dice roll is 2D10, so is not going to have an equal distribution of rolls from 2 to 20, but will be weighted towards a more average result;
If you give a wolf, for example, a morale rating of 7 it has a fairly small chance of attacking (simulating an attack that is possible but not very likely). The rules in the script give a +1 to the roll for each multiple of attackers to defenders above 1 (2:1 in favour of the attackers gives +2, 5:1 +5 etc) so 5 wolves seeing 1 PC have an effective morale rating of 12 giving a chance of attack higher than 50% (= behaviour changes with circumstances)
As this is fired from a creature's OnPerceive slot it's possible that you could chase a creature round a corner, bump into its mates and have the whole lot then chase you back again.
I originally intended to also put this check as part of a creature's OnDamaged so that they would start to flee when wounded/outnumbered, but then everyone really would complain that they never got any XP!

At the moment on the OAS the results seem strange because the spawns are small numbers of low CR creatures, both of which are "penalised" by the script. Personally I don't think you should complain about things running away - if you're attacked you're probably going to be outnumbered...

Teric
User avatar
Rusty
Retired
Posts: 2847
Joined: Mon Feb 21, 2005 10:36 pm
Location: London
Contact:

Post by Rusty »

But... but... all those lumps of XP running away...
User avatar
AcadiusLost
Chosen of Forumamus, God of Forums
Posts: 5061
Joined: Tue Oct 19, 2004 8:38 am
Location: Montara, CA [GMT -8]
Contact:

Post by AcadiusLost »

I suspect the morale scripts still aren't quite right, I've had large groups of orcs fleeing from a single 1st level halfling rogue- the only things that I have seen attack instead of fleeing so far have been skeletons.

Should some amount of damage or loss of allies provoke a new morale check, like back in 1st ed? I'm not sure if that would be ideal in a PW setting or not, but it'd certainly be interesting.
User avatar
Mulu
Mental Welfare Queen
Posts: 2065
Joined: Mon Dec 13, 2004 8:25 am

Post by Mulu »

Well, the old Baldur's Gate system worked very well IMO, if you needed a baseline to look at.
Neverwinter Connections Dungeon Master since 2002! :D
Click for the best roleplaying!

On NWVault by me:
X-INV, X-COM, War of the Worlds, Lantan University.
User avatar
indio
Ancient Red Dragon
Posts: 2810
Joined: Sat Jan 03, 2004 10:40 am

Post by indio »

Yeah, agreed. BG seemed to roll a morale roll for remaining mobs only after a significant percentage of their allies had fallen. Maybe 50%, or maybe 75%. Failing that the rest would flee. But tracking that could be lag inducing, especially if it means keeping track of percentages within a group. Maybe just have individuals roll morale upon losing 75% of their hps.
User avatar
Spider Jones
Pit Boss
Posts: 593
Joined: Sun Jun 06, 2004 1:40 am
Location: The Windswept Depths of Pandemonium

Post by Spider Jones »

The morale scripts weren't perfect, especially when a creature is hidden/sneaking and strolls away slowly screaming in terror and then gets snagged on a cliff. Perhaps make the creatures fade out after some number of seconds with an assumed 'gave you the slip'.
Locked