Letter Scoring:
Sending an unprompted letter to any resident villager will cause the letter's body to be scored through seven different checks. This letter scoring affects the villager's response letter, as well as your friendship with them and your odds at receiving a present in return!
Possible Outcomes:
Letter Score | Villager Response | Friendship Change |
100 pts or more | Positive reply 50% chance at receiving a random furniture / clothing item | +3 if no present attached +6 if present attached |
50-99 pts | No reply | +3 if no present attached +6 if present attached |
Less than 50 pts | Negative reply | -2 if no present attached +1 if present attached |
Check A: Punctuation Adds +20 pts if the letter ends with punctuation, so long as the letter body does not take up all 192 characters. Also checks the next three characters following every occurrence of a punctuation mark. If there is a capital letter within those three characters, adds +10 pts per occurrence. If there isn't AND there is any other non-space character present, -10 pts per occurrence. Check B: Trigrams Adds +3 pts per valid trigram found within the starting three characters of each word. A trigram is considered valid if it is found within the game's internal trigram tables. Note that these tables are bugged in the North American / Australian versions of the game, resulting in each trigram table being much longer than intended. This tool takes into account this bug and scores the letter as the game would. More information about this bug can be found here. Check C: Leading Capital Adds +20 pts if the first non-space character in the letter is a capital alphabetic letter; -10 pts if not. Check D: Repeating Characters -50 pts if any letter of the alphabet is repeated sequentially three times or more. Check E: Space Ratio If the ratio of spaces to non-space characters in the letter is greater than or equal to 20%, add +20 pts. If the letter empty, all spaces, or is less than 20% spaces, then -20pts. Check F: Run-on Sentence If the letter has at least one punctuation mark before the final 75 characters of the letter, check after each punctuation mark for an instance of 75 sequential characters without any punctuation. If there are 75 sequential characters without punctuation, then -150 pts. Check G: 32-Character Space Groupings Checks every 32 sequential characters in the letter for at least one space. -20 pts per group of 32 characters that does not have a space. This check does not occur if a grouping is not at least 32 characters long. For example, a letter 63 characters long will only check the first grouping of 32 characters and will not care about the remaining 31 characters. Quest Letters:
Whenever you ask a villager if they need anything, there's a chance they will tell you that you should write a letter to them! This triggers the start of a questline where, if you mail a letter to a villager who has this quest active, a different ranking system is used instead of the normal scoring algorithm. This specific quest letter can rank between 0 and 11, with guaranteed rewards depending on your letter's rank. After mailing this letter, you can then talk to the villager again and your mailbox will update with a letter from them. If your letter ranked 3 or higher, this response letter will always have an attached present, which differs depending on the rank. The attached presents are consistent every time, meaning you can guarantee specific rewards if you pre-calculate your letter's rank! These rewards, and information about the quest-specific checks, are detailed below.
Quest Rewards:
Letter Rank | Response Letter's Attached Present |
0 - 2 | No attached gift |
3 | Random clothing item |
4 | Random furniture item |
5 | Random carpet or wallpaper (50% chance each) |
6 | Your town's native fruit |
7 | Random clothing item |
8 | Rare clothing item |
9 | Random, non-native fruit |
10 | Rare furniture item |
11 | Rare carpet or rare wallpaper (50% chance each) |
Length Check: Quest letters have a length check that simply counts the total number of non-space characters in the letter. If there are 49 or more non-space characters, your letter gets +2 rank. If there are between 17 and 48 non-space characters, your letter gets +1 rank. Otherwise, you get no rank added. Trigram / Run-on Check: This check calculates the total percentage of valid trigrams in your letter, as well as a special "run-on" check for repeated characters. A trigram is defined as the leading three characters of each word, and the game has an internal list of "valid" ones. This trigram check uses the same tables as the normal letter scoring, meaning this check is bugged in the North American / Australian versions of the game. More information on trigrams and this bug can be found here.
The game calculates valid trigrams by getting the total number of words in the the letter and comparing it to the total number of valid trigrams. The actual calculation is: (VALID_TRIGRAMS * 10000) / (TOTAL_WORDS * 100)
Further, a letter is considered a "run-on" if any letter of the alphabet is sequentially repeated three times or more. The exceptions to this rule are these characters, which can be repeated sequentially up to seven times: ! " _ - 💢 % @ ·
After this, the check calculates the rank, which is best summarized via psuedocode:
RANK = 3
if ( TOTAL_WORDS < 3 )
{
if( TOTAL_NONSPACE_CHARACTERS < 5 )
{
RANK = 0
}
else if( RUN_ON == TRUE )
{
RANK = 0
}
}
else if ( VALID_TRIGRAMS >= 30% )
{
RANK = 3
}
else if ( RUN_ON == TRUE )
{
RANK = 0
}
return RANK
If you think this is programmed strangely, you are correct! Since this check defaults the rank to 3, you can purposefully write a letter to avoid the RANK = 0 conditions to still get +3 rank. An example of the easiest letter to write that gives +3 here is just "!!!!!" Present Check: Simply adds +6 rank if you include a present in your letter.