# D&D Sci Thanksgiving: the Festival Feast Evaluation & Ruleset

This is a follow-up to [last week's D&D.Sci scenario](https://www.lesswrong.com/posts/4d9KW8nduz7MWaqD9/d-and-d-sci-thanksgiving-the-festival-feast): if you intend to play that, and haven't done so yet, you should do so now before spoiling yourself.

There is a web interactive [here](https://aphyer1992.github.io/dndsci_feast_calculator) you can use to test your answer, and generation code available [here](https://github.com/aphyer1992/dndsci_thanksgiving/blob/main/foods.py) if you're interested, or you can read on for the ruleset and scores.

RULESET
=======

A dish has three properties: **Size, Spiciness** and **Sweetness**.

| **Dish** | **Size** | **Spiciness** | **Sweetness** |
| --- | --- | --- | --- |
| **Ambrosial Applesauce** | 0   | 0   | 2 (±1**)** |
| **BBQ Basilisk Brisket** | 2 (±1**)** | 1 (±1**)** | 1 (±1**)** |
| **Chili Con Chimera** | 2 (±1**)** | 2 (±1**)** | 0   |
| **Displacer Dumplings**[^5b7hnpk0ysa] | 0   | 0   | 0   |
| **Ettin Eye Eclairs** | 1 (±1**)** | 0   | 4 (±1**)** |
| **Fiery Formian Fritters** | 1 (±1**)** | 2 (±1**)** | 0   |
| **Geometric Gelatinous Gateau** | 1 (±1**)** | 0   | 3 (±1**)** |
| **Honeyed Hydra Hearts** | 1 (±1**)** | 0   | 2 (±1**)** |
| **Killer Kraken Kebabs** | 3 (±1**)** | 3 (±1**)** | 0   |
| **Mighty Minotaur Meatballs** | 3 (±1**)** | 0   | 0   |
| **Opulent Owlbear Omelette** | 2 (±1**)** | 0   | 0   |
| **Pegasus Pinion Pudding** | 1 (±1**)** | 0   | 1 (±1**)** |
| **Roc Roasted Rare** | 4 (±1**)** | 0   | 0   |
| **Scorching Salamander Stew** | 2 (±1**)** | 3 (±1**)** | 0   |
| **Troll Tenderloin Tartare** | 1 (±1**)** | 0   | 0   |
| **Vicious Vampire Vindaloo** | 2 (±1**)** | 4 (±1**)** | 0   |
| **Wyvern Wing Wraps** | 1 (±1**)** | 1 (±1**)** | 0   |

Cooking is not an exact science, and there's a ±1 variation in each dish (effectively adding 1d3-2 to each of its stats).  For example, if you cook Chili Con Chimera (usually Size 2 and Spiciness 2), you might end up with a large mild batch (Size 3 Spiciness 1), or a small spicy batch (Size 1 Spiciness 3), etc. etc.  However, any stat that is at 0 will stay there: your Chili will never end up sweet, for example, and your Eclairs will never end up spicy.

The ideal Feast has in total **Size 10, Spiciness 5**, and **Sweetness 5**.

Each of these stats increases your score up to this ideal, and then decreases it thereafter.  For example, a total Size of 6 will score you 6 points, Size 9 will score you 9 points, Size 12 will score you 8 points (10 minus 2), and Size 15 will score you 5 points (10 minus 5).

STRATEGY
========

The first order of strategy was to select dishes that tended to generate the correct overall amount of size/spiciness/sweetness.

The subtler element of strategy was to minimize variance by using as few dishes as possible for each stat: reaching e.g. 5 Sweetness using 3 Sweet dishes is worse than reaching 5 Sweetness using 2 Sweet dishes, because there's more variance away from your ideal 5.

The **perfectly optimal** feast that used as few dishes as possible for each stat was actually very tightly constrained:

*   Two Sweet dishes are needed to reach 5 Sweetness.
    *   One of these should be Applesauce, which avoids adding variance to Size by having Size 0 and just adding Sweetness 2.
    *   The other therefore needs to have Sweetness 3, and so must be Gateau (Size 1 Sweetness 3).
*   Two Spicy dishes are needed to reach 5 Spiciness.
    *   These dishes should also give as much Size as possible, so that we can avoid having to include too many more dishes for Size.
    *   Therefore we bring Chili (Size 2 Spiciness 2) and Kebabs (Size 3 Spiciness 3) to contribute Size 5 along with Spiciness 5 in two dishes.
*   With 6 Size so far, we can reach Size 10 in one more dish by bringing Roc (for a total of 4 dishes that contribute to Size).
*   Optionally, we can include Dumplings as well, since they have no effect.
*   So we bring AC(D?)GKR.

However, there were many other options that would get extremely close in score, just e.g. having very slightly more variance in one stat or another, or accepting a Spiciness/Sweetness of 4 off a single dish (4±1 scores only a tiny bit worse on average than 5±2).

LEADERBOARD
===========

| **Player** | **Dishes** | **Size** | **Spiciness** | **Sweetness** | **Average Score** |
| --- | --- | --- | --- | --- | --- |
| **Optimal Play** | **AC(D?)GKR)** | **10 (±4)** | **5 (±2)** | **5 (±2)** | **16.94** |
| James Camacho | AGORTV | 10 (±5) | 4 (±1) | 5 (±2) | 16.67 |
| Unnamed | ABDMOPV | 10 (±5) | 5 (±2) | 4 (±3) | 16.30 |
| simon | BDGKOPT | 10 (±6) | 4 (±2) | 5 (±3) | 16.09 |
| Multicore | ABDGRS | 9 (±4) | 4 (±2) | 6 (±3) | 15.89 |
| abstractapplic | ABDHKO | 8 (±4) | 4 (±2) | 5 (±3) | 15.52 |
| Yonge | ABFOP | 6 (±4) | 3 (±2) | 4 (±3) | 12.63 |
| **Entirely Random Play** | **??** | **??** | **??** | **??** | **9.88** |

Congratulations to all players, especially **James Camacho**.

DATASET GENERATION
==================

The Isamandan feasts in your dataset were generated as follows:

*   Select 2-10 (4d3-2) dishes at random.
    *   Some dishes are weighted differently here.  For example, Roc Roasted Rare is the traditional main course, and is more common, while Ambrosia is hard to find and so Ambrosial Applesauce is rare.
*   If the combined average Size of the resulting dishes is <6, this doesn't really count as a Feast, just as a regular dinner, and nobody gets invited over/this doesn't enter your dataset.
    *   This creates some additional bias towards the large-Size dishes in feasts with few dishes, but not in feasts with many dishes (which will hit the Size threshold anyway).

FEEDBACK REQUEST
================

As usual, I'm interested to hear any other feedback on what people thought of this scenario.  If you played it, what did you like and what did you not like?  If you might have played it but decided not to, what drove you away?  What would you like to see more of/less of in future?  Do you think the scenario was more complicated than you would have liked?  Or too simple to have anything interesting/realistic to uncover?  Or both at once?  Did you like/dislike the story/fluff/theme parts?  What complexity/quality scores should I give this scenario in the index?

[^5b7hnpk0ysa]: These dumplings Displace themselves out of your stomach after being eaten.