test content
What is the Arc Client?
Install Arc

XP for RP

Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
edited July 2011 in General Discussion (PC)
Just wondering if Cryptic might include a script that lets you get small XP bonuses for RP. That's one of the things commonly impimented in heavy RP worlds. After I put the script I use into the harvest moon persistent world the folk on the server that liked to RP didn't have to worry so much about going out to hack and slash to get their XP. They started building villages and homes for themselves and generally doing alot of things heavy RPers do. It also afforded Dms a chance to do different small quests around what the RPers were doing too ( attacks on villages being built, involving themselves in family feuds and politics). Things like that add much to the world and breathed a bit more color into the world with just one script.

heres a script to do that.

[code]// Min length of an IC dialog string (in chars) to count toward the award
const int XP4RP_MINLENGTH = 10;
// Min amount of XP per RP award
const int XP4RP_MINXPAWARD = 10;
// Max amount of XP per RP award
const int XP4RP_MAXXPAWARD = 30;
// Minimum number of RP dialog strings before eligable for xp award
const int XP4RP_MINDIALOGCOUNT = 15;
// Minumum time between XP awards for RP
const int XP4RP_MININTERVAL = 10;
// Max for the RP counter
const int XP4RP_MAXCOUNT = 24;


// Check sString for characters that indicate it is
// an OOC comment. Return TRUE if OOC fragment found
int XP4RP_OOCText(string sString);

// Award the PC XP for RP if conditions are satisfied
void XP4RP_Award(object oPC);

// Determine the Amount of XP to award
int XP4RP_Amount(object oPC);

// Set them as having recieved RP XP, cleaning
// and setting variables
void XP4RP_Records(object oPC);

// Create a listener and assign it to the PC
void lsn_AssignListener(object oPC);


// OOC fragments. Since string isn't tokenized, faster to do NWNscript than DB
// when adding/removing fragments from the list, make sure to adjust
// case statement in XP4RP_OOCText function

// Note that leading special characters for VoiceThrow, translate, etc are already gone
// first several should catch 99% of emoticons and "flagged" ooc messages

const string OOC_FRAGMENT_1 = "/";
const string OOC_FRAGMENT_2 = "(";
const string OOC_FRAGMENT_3 = ")";
const string OOC_FRAGMENT_4 = ":";
const string OOC_FRAGMENT_5 = ";";
const string OOC_FRAGMENT_6 = "[";
const string OOC_FRAGMENT_7 = "xp";
const string OOC_FRAGMENT_8 = "lol";
const string OOC_FRAGMENT_9 = "lmao";
const string OOC_FRAGMENT_10 = "*g*";
const string OOC_FRAGMENT_11 = "*eg*";
const string OOC_FRAGMENT_12 = "brb";
const string OOC_FRAGMENT_13 = "afk";
const string OOC_FRAGMENT_14 = "wb";
const string OOC_FRAGMENT_15 = "gtg";
const string OOC_FRAGMENT_16 = "ooc";
const string OOC_FRAGMENT_17 = "cool";
const string OOC_FRAGMENT_18 = "suck";
const string OOC_FRAGMENT_19 = " ty";
const string OOC_FRAGMENT_20 = "ding";
const string OOC_FRAGMENT_21 = "grats";
const string OOC_FRAGMENT_22 = "gratz";
const string OOC_FRAGMENT_23 = "thx";
const string OOC_FRAGMENT_24 = "=";
const string OOC_FRAGMENT_25 = "gurble";
const string OOC_FRAGMENT_26 = "to equip";
const string OOC_FRAGMENT_27 = "listener";
const string OOC_FRAGMENT_28 = "<";
const string OOC_FRAGMENT_29 = "**";
const string OOC_FRAGMENT_30 = "nw_";
const string OOC_FRAGMENT_31 = "ammy";
const string OOC_FRAGMENT_32 = " ya ";
const string OOC_FRAGMENT_33 = " k ";
const string OOC_FRAGMENT_34 = "bandaid";
const string OOC_FRAGMENT_35 = "*wsp*";
const string OOC_FRAGMENT_36 = " u ";
const string OOC_FRAGMENT_37 = "rp";

/*
* XP4RP_OOCText: Compares the string case-insensitive with
* the OOC fragments defined above.
* MatchString: The string to test.
* RETURN: TRUE if OOC, FALSE otherwise
*/
Post edited by Archived Post on

Comments

  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    the rest of the code.

    [code] int XP4RP_OOCText(string MatchString)
    {
    // make the string lowercase
    string Match = GetStringLowerCase( MatchString );

    // By the time this function is called, leading "punctuation" for special functions
    //(translate, "VoiceThrow" to summons, etc will have been stripped.

    if (FindSubString(Match, OOC_FRAGMENT_1) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_2) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_3) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_4) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_5) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_6) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_7) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_8) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_9) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_10) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_11) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_12) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_13) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_14) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_15) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_16) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_17) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_18) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_19) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_20) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_21) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_22) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_23) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_24) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_25) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_26) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_27) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_28) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_29) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_30) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_31) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_32) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_33) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_34) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_35) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_36) != -1)
    return TRUE;
    else if (FindSubString(Match, OOC_FRAGMENT_37) != -1)
    return TRUE;
    else
    return FALSE;
    }

    // Determine the number of elasped game minutes since
    // the hour and minute passed into the function
    int ElaspedMinutes(int iSDay, int iSHour, int iSMinute)
    {
    int iCDay = GetCalendarDay();
    int iCHour = GetTimeHour();
    int iCMinute = GetTimeMinute();
    int iEMinutes;

    // Reset the counter at a new day
    if (iCDay > iSDay)
    {
    iSHour = 0;
    iSMinute = 0;
    }

    // use 5 rather then 60 because there are 5 real time minutes
    // to 1 game hour in Harvest Moon
    if (iCHour < iSHour)
    {
    iEMinutes = 5 - iSMinute + iCMinute;
    iCHour = iCHour - 1;

    iEMinutes = iEMinutes + 5 * (iCHour - iSHour);
    }
    else
    {
    iEMinutes = (iCMinute - iSMinute) + 5 * (iCHour - iSHour);
    }
    return iEMinutes;
    }

    void XP4RP_Award(object oPC)
    {
    // running count of dialogue lines PC has spoken
    int iCount = GetLocalInt(oPC, "XP4RP_Counter");

    if (iCount > XP4RP_MINDIALOGCOUNT)
    {
    int iXPMinute = GetLocalInt(oPC, "iXPMinute");
    int iXPHour = GetLocalInt(oPC, "iXPHour");
    int iXPDay = GetLocalInt(oPC, "iXPDay");
    if (ElaspedMinutes(iXPDay, iXPHour, iXPMinute) > XP4RP_MININTERVAL)
    {
    int iXP = XP4RP_Amount(oPC);
    XP4RP_Records(oPC);
    SetXP(oPC, GetXP(oPC)+iXP);
    SendMessageToPC(oPC, "Experience awarded for RP");
    WriteTimestampedLogEntry("XP4RP: Awarded " + GetName(oPC) +
    " " + IntToString(iXP) + " xp for rp.");
    }
    }
    }

    int XP4RP_Amount(object oPC)
    {
    // Number of rewards awarded this warp
    int iNumXPRewards = GetLocalInt(oPC, "iNumXPRewards");
    int iLevel = GetHitDice(oPC);
    // Get a random number between the max and min amount
    int iXP = Random(XP4RP_MAXXPAWARD - XP4RP_MINXPAWARD) + XP4RP_MINXPAWARD;
    // add 5 per number of award already given this warp
    iXP = iXP + (5 * iNumXPRewards);
    // scale the xp awarded by level
    iXP = iXP + iXP*(iLevel/5);
    return iXP;
    }

    void XP4RP_Records(object oPC)
    {
    int iCount = GetLocalInt(oPC, "XP4RP_Counter");
    int iMinute = GetTimeMinute();
    int iHour = GetTimeHour();
    int iDay = GetCalendarDay();
    int iNumXPRewards = GetLocalInt(oPC, "iNumXPRewards");

    // only incriment counter if there is another PC or DM in the area to hear
    object oSecondPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, oPC);
    object oDM = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_NOT_PC, oPC);
    if (!GetIsObjectValid(oSecondPC) && !GetIsObjectValid(oDM))
    return;
    if (GetIsInCombat(oPC))
    return;

    // reset the xp reward counter if it exceeds the max
    if (iNumXPRewards > XP4RP_MAXCOUNT)
    iNumXPRewards = 0;

    if (iCount - XP4RP_MINDIALOGCOUNT > XP4RP_MINDIALOGCOUNT/2)
    iCount = XP4RP_MINDIALOGCOUNT/2;
    else if (iCount - XP4RP_MINDIALOGCOUNT < 0)
    iCount = 0;
    else
    iCount = iCount - XP4RP_MINDIALOGCOUNT;
    SetLocalInt(oPC, "XP4RP_Counter", iCount);
    SetLocalInt(oPC, "iXPMinute", iMinute);
    SetLocalInt(oPC, "iXPHour", iHour);
    SetLocalInt(oPC, "iXPDay", iDay);
    SetLocalInt(oPC, "iNumXPRewards", iNumXPRewards+1);
    }[\code]
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    No offense, but you might catch more flies with pseudocode, or even just a summary of what you're rewarding RP XP for.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    yes Kolikos, thank you. I just like to back myself up with some things like code. A summary probably would have been better this time.

    The whole point being that if you give xp for good RP it will keep the RPer's interest up and playing the game longer than they normally would. I'm also use to being able to crunch a script down with BBcode which doesn't seem to be working on this site.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    I applaud the notion, and forgive me if there is a part of the script that resolves this, and I just missed it - but isn't this highly exploitable? What's to keep someone from copy/paste spamming "I have a lovely bunch of coconuts" or some other series of acceptable words, until they get the riskless reward?

    While I will cheer at any attempt to get people to type in leetspeak less, is penalizing out-of-character text really the way to go? Sometimes things need to be communicated in a way that is clearly seperated from the in-character dialogue. I'd hate to see a good roleplayer lose their xp bonus because they were polite enough to indicate that they needed to step away from the computer for a moment.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Yep, saw the same thing myself, theBozer - plus, if I'm reading things right, it looks like you wouldn't get RP points for entries that use the letters "g," "k," or "u." :p It also seems odd that emotes aren't considered RP - roleplayers use them quite extensively in CoH and LotRO.

    These specifics do highlight one larger problem, though - how does one define chat-based "RP" fairly while minimizing spammy exploits? More "mechanical" non-combat actions can take care of themselves - crafting for instance, or building, or decorating, etc. But IC chatting is really hard to pin down. How would you do so fairly, in an environment which is largely devoid of direct human oversight?
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    I have to agree. Too easily exploitable.

    Cryptic has been working on putting in "diplomacy" missions in STO and I believe they are working on adding it to the Foundry. Perhaps something like that could be done for NWO as well.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Mermut and I tried to figure out the most common OOC sayings and penalize those. We added words as we went through trial and error its the best we could do for the server. If a person wanted to talk in OOC without being penalized they could put // or OOC in front of their words so that the script would not count that line of conversation.

    Anyway its the notion and many or our rpers enjoyed getting xp for their rp.

    As far as exploitable yes I am sure you can exploit the script however server logs are also checked once a week for these kinds of things along with dm metagaming and a host of other situations.

    I think if Cryptic puts in a script so people can get xp for rp it would be a good addition. It may help keep some of the heavy rp crowd gaming.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Mermut and I tried to figure out the most common OOC sayings and penalize those. We added words as we went through trial and error its the best we could do for the server. If a person wanted to talk in OOC without being penalized they could put // or OOC in front of their words so that the script would not count that line of conversation.

    Anyway its the notion and many or our rpers enjoyed getting xp for their rp.

    As far as exploitable yes I am sure you can exploit the script however server logs are also checked once a week for these kinds of things along with dm metagaming and a host of other situations.

    I think if Cryptic puts in a script so people can get xp for rp it would be a good addition. It may help keep some of the heavy rp crowd gaming.

    Not worth the dev time. Too exploitable and would require far too much of a judgement call to decide what's "good roleplaying" or not. It works with a few dozen players on a small PW, not going to work on a mass market game with 10's of thousand of players.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Heh, at least everyone understands me when i write in the code exactly what I'm saying.

    Mass market would be very tough you're right about that. The real question will be coming up with a script that gives players XP while making sure as best as possible OOC chat is ignored. What's above is my best effort with the help of an extremely knowledgeable NWN scripter. For 10,000 people I know it probably can be done but, I would be hesitant in figuring out how to approach it. perhaps if cryptics scripts have arrays it could be done. Unfortunately NWN script doesn't allow for arrays.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Heh, at least everyone understands me when i write in the code exactly what I'm saying.
    Alternatively, it may be that the people replying are the only ones with the ability and inclination to read the script :p
    Mass market would be very tough you're right about that. The real question will be coming up with a script that gives players XP while making sure as best as possible OOC chat is ignored. What's above is my best effort with the help of an extremely knowledgeable NWN scripter. For 10,000 people I know it probably can be done but, I would be hesitant in figuring out how to approach it. perhaps if cryptics scripts have arrays it could be done. Unfortunately NWN script doesn't allow for arrays.
    It's a good effort, and I applaud the intent behind it, but extending that to a larger scale risks getting too code-bound. For instance, there are modes of RP that exist entirely outside the chat system (voice chat and demorecord spring to mind) - how would you reward those things?

    I've got a couple of off-the-cuff ideas that probably won't work, but might get the creative juices flowing...

    1) You could have an "RP mode" toggle - while out of combat, you don't get XP directly, but you do get a form of "rest XP" so long as you're interacting in some way that doesn't have a defined XP reward (e.g., tapping a button before the game auto-AFK's you). Eventually you'd have to enter combat (or do other XP-generating activities) to convert that rest XP to the real thing. Also, the rest XP would have to be less efficient for levelling up than median questing or grinding XP.

    2) Creators/DMs could designate an instance or region as RP, where players gain a slow trickle of XP just for being there and being active. DMs and team leaders could kick violators and exploiters out, or maybe the mode/region/instance would be invite-only.

    These clearly have flaws, but I just wanted to present some possibilities that at least partially answer the problem in a way that the OP script could not.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Kolikos wrote:
    Alternatively, it may be that the people replying are the only ones with the ability and inclination to read the script :p
    And some people understand it but do not think it offers anything to prove a point. People that are not proficient at coding can still have valid ideas, and people that are coders can still offer bad ideas, pseudocode provided or not.

    My view: role playing is its own reward. If people aren't involved with it, they are the ones missing out. There is no amount of XP that can validate good role playing, and if you are role playing for XP, then you're doing it for the wrong reasons.

    There's just no way to properly monitor role playing. If you try to, expect it to be exploited by those trying to race to the level cap.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Right on, Hawk, I didnt catch the code that allowed the exception. Or rather, I didn't realize the workaround to the script that was enforced. Good to see necessary OOC was considered. I can definitely see this as being a fantastic thing to have implemented in a private PW - guaranteed like-minded RPers, smaller population that's easy to police if necessary. The problem comes not with your code, but with the nature of the world you'd like to see it introduced to. There will be as many definitions of "good" roleplay here as there are players, and every online game attracts an emelent of power-levellers who will exploit anything in the race to "the top".

    Now, on the subject - I'm wondering if there's a different way to approach this altogether.

    For one - a reward other than XP. I would argue that, while most enjoy levelling and unlocking new abilities and such, xp is far from the be all and end all. I would also note that it might be an inappropriate reward, since levelling unlocks better adventuring skills, and experience points translates (at least to me) to a gameplay mechanic equivalent of "learning by doing". Along this same line of thinking - what would be a more appropriate reward for roleplay? The only thought I have is tickets that can be used to purchase cosmetic features like emotes, costumes, props, guild hall decorations, titles, or maybe even unlocked NPC dialogue (you spend so much time in the tavern that the barkeep knows you by name). Things that do not provide the lure of xp that will draw in farmers and exploiters, but could enhance the roleplay experience.

    The second, harder question, is WHAT to reward. "Good" roleplay is impossible to define, and even more difficult to monitor in a large, around-the-clock social setting. A start would be time spent in purely social settings like bars or guild halls without idling. (note: I'm assuming for the sake of argument that there are such places in the game. Obviously your reality may vary) I saw someone make mention of "diplomatic" quests. What if Foundry missions could be flagged as "roleplay" adventures instead of typical quests, purely noncombat situations that would require team communication to resolve, and reward a larger sum of these tickets. Finally, participation in scheduled social events - even going so far as letting players submit events to be "officially" scheduled. Imagine attending your guild-mates' fictional wedding (which I have seen a MILLION times in other games), and actually GETTING something out of it! These events could also be flagged as "invite only" in case griefers are a concern.

    Obviously, my ideas are a BEAST of a system to implement, and pretty wild and unlikely - but so long as we're just entertaining ideas, why not make them crazy ideas?
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    theBozer wrote: »
    For one - a reward other than XP. I would argue that, while most enjoy levelling and unlocking new abilities and such, xp is far from the be all and end all. I would also note that it might be an inappropriate reward, since levelling unlocks better adventuring skills, and experience points translates (at least to me) to a gameplay mechanic equivalent of "learning by doing". Along this same line of thinking - what would be a more appropriate reward for roleplay? The only thought I have is tickets that can be used to purchase cosmetic features like emotes, costumes, props, guild hall decorations, titles, or maybe even unlocked NPC dialogue (you spend so much time in the tavern that the barkeep knows you by name). Things that do not provide the lure of xp that will draw in farmers and exploiters, but could enhance the roleplay experience.
    I like this reward system much better than XP. Reward people that enjoy role playing with more tools for role playing. I would add voice fonts to the list, too. :)

    One method that this could be monitored is by using a similar method that is being used to rate Foundry modules: put it in the hands of the players.

    Players could sign up to be Role Playing "Monitors" and can give +1 to people (other than yourself) that are making an effort to role play. Or, each day/week, players are given the ability to give 10 +1's to 10 different players (other than yourself) for role playing. This system could even be used in conjunction with one another... i.e. before someone could become a RP Monitor, they must receive X (25/50/??) +1's from fellow players. This would be account-based for accumulation, not character based, so you could play multiple characters and have them accumulate across all of them.

    Personally, I think this is the only method that would work with any amount of accuracy. Of course, it can be abused, but so can Foundry module approval. If people are suspected of abusing the system, they can be reported and Cryptic can investigate.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    theBozer wrote: »
    every online game attracts an emelent of power-levellers who will exploit anything in the race to "the top".

    Things that do not provide the lure of xp that will draw in farmers and exploiters, but could enhance the roleplay experience.

    Sorry but being a roleplayer does not magically draw a halo around a person's head and award them sainthood.

    Roleplayers are just as likely to exploit, farm, lie, cheat and steal to get what they want as the worst leetspeaking 12-year old powerleveler you can imagine. I've seen it in CoH with costume pieces that are gated by level. The second you stick a reward they actually want on something, they'll be just as likely to trample old ladies running for it as anyone else.

    Roleplayers are just like any other group of people: a few good ones and a whole bunch of idiots.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Give the power to the players - I'm always behind that. The only thing I would argue against is earning the right. I can see this as leading to a pretty nasty brand of elitism - or at the very least rampant accusations of such. Just give the option to everyone up front (like you said, in the spirit of Foundry testing characters, have this be a special form of login or character flag). That way no one can throw around conspiracy theories that a "roleplay cartel" is keeping them locked out just because they don't like each other.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    theBozer wrote: »
    The only thing I would argue against is earning the right. I can see this as leading to a pretty nasty brand of elitism - or at the very least rampant accusations of such.
    Not if it's anonymous and when you accept that status you have to accept an NDA of sorts which means you cannot mention that you are an RP Monitor.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    DK242 wrote:
    What DK242 said

    Yikes! Did not mean to imply this, actually - or make any claim that they were two mutually exclusive types of players, or that one is 'superior' to the other. But looking back, I can totally see how it could be read that way. My bad.

    Obviously, if you introduce rewards for roleplaying, roleplayers will find the fastest way to get those rewards, and some will find the equivalent of powerlevelling and exploit it. And just as many nonRPers will avoid exploits to level the 'honest' way. And honestly, in ANY case - it's their money, and their way of enjoying the content. Casting powergamers in a more negative light is essentially the same as claiming roleplay or nonroleplay the more valid form of enjoyment

    That said, the goal here is to give roleplayers a reward system that promotes playing the way they enjoy. Non-roleplayers, for the most part, already have this in standard gameplay. This is not about one being better than the other, this is about all getting the same sense of reinforcement of their playstyle. Currently, simply by the nature of video-games, people who prefer OOC dungeon crawls are rewarded, and people who like to play house, or linger in the tavern with their friends, largely find their entertainment to be fruitless. (unless you count the fun times as reward enough.) This is an effort to bring both styles of gameplay to the same level.

    P.S. - is that really how I chose to spell "element?" Man, I need to proofread my stuff.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Jharii wrote:
    Not if it's anonymous and when you accept that status you have to accept an NDA of sorts which means you cannot mention that you are an RP Monitor.

    This could still become pretty transparent, when a pattern starts to arise between who does and does not have a bunch of special RP rewards unlocked. If only the "RP elite" guild has the top tier stuff first, it would be pretty clear that they are just promoting each other. And it would be hard to pin this down as an exploit, because hey - they're awarding points to people they believe are good roleplayers.

    Also, I'm speaking of both negatives of the issue. Not just the presence of elitism, but the paranoid accusations. This happens even without a reward system in place. People will get ticked off at the perception of RP cliques, blacklisting, snobbery, and other drama. Sometimes it's true, sometimes it's baseless. Add an element of reward, or the lack thereof, to this, and things could get messy. Best to just make it a level playing field from the start, to avoid even the perception that this could become a closed off system.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    theBozer wrote: »
    This could still become pretty transparent, when a pattern starts to arise between who does and does not have a bunch of special RP rewards unlocked. If only the "RP elite" guild has the top tier stuff first, it would be pretty clear that they are just promoting each other. And it would be hard to pin this down as an exploit, because hey - they're awarding points to people they believe are good roleplayers.

    Also, I'm speaking of both negatives of the issue. Not just the presence of elitism, but the paranoid accusations. This happens even without a reward system in place. People will get ticked off at the perception of RP cliques, blacklisting, snobbery, and other drama. Sometimes it's true, sometimes it's baseless. Add an element of reward, or the lack thereof, to this, and things could get messy. Best to just make it a level playing field from the start, to avoid even the perception that this could become a closed off system.
    There's a lot of avenues to cover this, but I do agree that exploitation should be minimized.

    If both systems were implemented to work together, non-RP Monitors can still grant a +1 to players, just in a limited fashion. Also, there could be restrictions to the number of guild members that could be an RP Monitor.

    But the bottom line is, when it's all said and done, role players will be rewarded for role playing. Of course there will be exceptions to the rule, there always are. But I think overall that we're in agreement that putting this in the hands of the players is the best method to measure it.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Absolutely. There's no better gauge for how you roleplay than whether or not other people have fun roleplaying with you.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    This idea only really works in a PW that is focused on RPing. What do you think would happen if the population at large understood that talking (minus certain flagged words) granted XP? How long before you walked through town with characters logged in running a macro that said "Here there be dragons" over and over?
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    That would actually be deeply immersive. Assuming, of course, there was a dragon present. I can't imagine a town being ransacked by a dragon would have much else to say.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    theBozer wrote: »
    That would actually be deeply immersive. Assuming, of course, there was a dragon present. I can't imagine a town being ransacked by a dragon would have much else to say.

    Everyone standing still or walking aimlessly while stating "here there be dragons" is not excactly how I would expect people to act if there were actually a dragon attacking.

    Things like:
    "AHHHHHHHHHHHHHH"
    "Help!!!"
    "Where are the children?!?"
    "Run!!!"
    "He's here peacefully, lets all gather up on a roof and dance"

    Anyway, that wasn't the point I was trying to make.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Yeah, I think we covered that some kind of script is not a good solution.
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    Just got back from work to find 3 pages too read with alot of great alternate ideas on the subject of rewarding Rp. Lot's of very good ideas here. My hat off to everyone posting :).
  • Archived PostArchived Post Member Posts: 5,050,278 Bounty Hunter
    edited July 2011
    I think scripting for RP fails (just my opinion) as I have seen it on RP worlds, etc. and it does not really do what *I* think it should.

    I gave RP xp as a dm all the time, but that was within 'events' that I ran. I would give out bonus xp if the character actually played the character vs roll playing. I also gave xp to wandering characters who actually played their character when all alone. I caught many players emoting, talking to themselves, etc. while adventuring alone.

    I just do not think sitting around a tavern and emoting/talking is actually roleplaying. but then it is just my opinion.
Sign In or Register to comment.