NGU IDLE

NGU IDLE

Not enough ratings
Deep (Dish) Guide to Cooking
By Shadowminion
A guide on understanding the cooking mechanic, and how to cook up the most deliciously efficient meals possible.
   
Award
Favorite
Favorited
Unfavorite
Overview
First off, if you are new to the game and have discovered some gear with a Cooking bonus and are wondering what it does, the short answer is nothing for now, come back in about a year.

This document contains a few different guides on how to optimize your score, with various tradeoffs.

If you don't care about the details, and want a quick and easy process to maximize efficiency, feel free to use the TL;DR Guide in the sidebar.

The bulk of this document covers the other guide, which is concluded in the My Guide section in the sidebar.

Cooking is the final mechanic unlocked by defeating the 10th titan after reaching SADISTIC difficulty.

Every day you have the opportunity to cook (and eat) a delicious meal, granting a permanent bonus to your Exp gain. This guide seeks to explain how Meal Efficiency is scored, and techniques to reach the optimal +100% for every meal.

When you first unlock cooking, you have access to 6 ingredients, with 2 more ingredients unlocked as you progress further in the game. Each ingredient has it's own unit with 21 different values usually between 0-20, inclusive. Some ingredients instead increment by 2 or even 50, but still have 21 unique values. For simplicity, this guide refers to all ingredient values as the numbers from 0-20.

Changing the ingredient values will have an effect on your Current Meal Efficiency, which is the score that you are trying to maximize. The highest possible efficiency is 100%, and every meal has a configuration of values that will grant 100% efficiency.

When you eat the meal, the meal efficiency and your other cooking bonuses will impact how much of a permanent exp gain bonus get. You are then given your next meal to prepare, which will have different ingredients, and require different values to optimize. You are able to eat a new meal approximately once per day.
Glossary
This guide tries to use consistent terminology throughout, but many people have different words for the concepts when it comes to cooking. These are the terms used in this document:

Value
The current setting of an ingredient between 0 and 20. (Remember to convert from units that increment by 50)
Score
The Current Meal Efficiency at a particular set of ingredient values.
Peak
A peak is any value for an ingredient that gives a higher score than both its adjacent values. Note that 0 or 20 can also be peaks.
Unpaired
No ingredient is truly unpaired. Unpaired means it is paired with a locked ingredient
(x, y)
Setting a pair of ingredients to have the values x and y. Recall that order does not matter for pairs
How Cooking is Scored
Again, if you don't care how the scoring works, and just want to know how to optimize Efficiency, feel free to jump to the TL;DR Guide in the sidebar.

For each meal, the ingredients are put into pairs. Keep in mind, if you have fewer than 8 ingredients unlocked, one (or two) of your ingredients may be paired with a locked ingredient.

Each ingredient is given a hidden target value [0-20], and a hidden weight [4-14]. Additionally, each pair is given a hidden target value [5-34], and a hidden weight [8-30].

For each pair of ingredients (let's call them A and B), the score of the pair is based on:
  • (If A is unlocked): How close A is to A's target
  • (If A is unlocked): How close A is to B's target
  • (If B is unlocked): How close B is to B's target
  • (If B is unlocked): How close B is to A's target
  • (If both unlocked): How close A+B is to the pair target

For each of these, you are highly rewarded for being very close (i.e. exponential drop off), and each of these lines is multiplied by the target's weight, and then summed together for the total pair score. Your score is simply the sum of the pair scores, and your Meal Efficiency is your score as a percentage of the perfect possible score.

For more detailed formulae, see the Wiki page on Cooking[ngu-idle.fandom.com].

The conclusions to take away from this are:
  • If one of the ingredients in the pair is locked, the unlocked (i.e. unpaired) ingredient will simply have two target values, with different weights, and it should be easy to find the optimal score.
  • If both ingredients are unlocked, A and B are interchangeable. The score for (A, B) is the same as the score for (B, A)
  • The highest scores are generally given when each ingredient value is close to either target, and when their sum is close to the pair target.
  • The pair score usually has more weight than the individual scores.
  • Each pair can be optimized independently of the other pairs.

I tend to understand the scoring best when visualized so I created this graph to show how pair scoring works. This simulates a meal consisting of just two paired ingredients. Note that the graph is symmetrical, and the axes A and B are interchangeable, as we expected.

Here you can see the two vertical bars represent when A is close to either target, the horizontal bars for B being close to either target, and the diagonal bar showing when the sum is close to the pair target. In this example, the optimal solution would be A and B and 4 and 9.

Observe that the intensity of the lines are a function of the weights, and note that even keeping the targets the same, changing the weights can result in a different outcome and different optimal solution:
Identifying Pairs
Since we know that for each pair of ingredients A and B, (A, B) and (B, A) will give the same score. We can use this knowledge to find which ingredients are paired with each other.
  1. Begin by setting every ingredient to the same value, typically 0.
  2. Increment one of the ingredients and note what the score changes to, then change it back.
  3. If the score doesn't change with a single increment, continue incrementing until it changes, and mark the score and how much you had to increment it.
  4. If more than two ingredients caused the same score changes, go back, and continue incrementing them until they diverge.
  5. Whichever ingredients caused the same score changes are paired together

For example, you might have this experience (remember to reset the values to 0 between each step):
  • Start by setting all ingredients to 0, and the score starts at 1%
  • Incrementing Snake Oil gives a score of 1.04%
  • Incrementing Tomato gives a score of 1.4% when it reaches 8
  • Incrementing Eggs gives a score of 1.4% when it reaches 8
  • Incrementing Coffee Grounds gives a score of 1.46% when it reaches 8 (400 Tbsp)
  • Incrementing Coconut Milk gives a score of 1.04%
  • Incrementing Lemon Juice gives a score of 1.01% when it reaches 2 (100 ml)

You would conclude that Snake Oil is paired with Coconut Milk, Tomato is paired with Eggs, and Coffee Grounds and Lemon Juice are each unpaired.
Optimizing Unpaired Ingredients
When an ingredient is unpaired, it is much easier to optimize. It is technically still paired with a hidden ingredient, so there will be two target values that will provide good scores, but the pair score based on the sum is discarded.

Using the same visualization from before, we would picture this as removing the diagonal line that represented the pair score, and then looking only at a single row.


The optimal score will simply be when the value matches the target with the higher weight. This can be found simply by scanning from 0-20, and keeping the value that produced the highest score.
Optimizing Pairs
In order to find the optimal values for a pair, we have many more available options to search through. Instead of having 20 options for an unpaired ingredient, a pair will have 441 configurations, or 231 if you discard all of the duplicates. Of course, you could always try to do an exhaustive search to find the highest score, but we're going to try and come up with a better approach.

Using the same example from above, we can consider this a sort of two-dimensional search problem, where we're trying to find the highest value. Of course we can't see this whole graph in game, we can only inspect one cell at a time.

The approach I recommend is to investigate a smaller number of cells in order to try and determine where the lines on the graph fall. We know that the diagonal line corresponds to the pair target, and the horizontal and vertical lines correspond to the individual targets. The optimal value is almost always going to be on the intersection of two of them. If we can figure out what the target values are, then there are only a handful of pairs of values that we would need to check.

Identifying Target Values

There are three target values that we are trying to find. One for each ingredient, and one for the pair. The technique I use to find them is as follows:
  • (Arbitrarily) assign one ingredient to be A and one to be B
  • Set both A and B to 0
  • Increment A from 0 to 20, noting where the peaks were.
  • Keep A at 20, and increment B from 0 to 20, noting where the peaks were.
Most of the time, you should end up with 5 peaks. If you found fewer than 5 peaks, then that means some of your targets are very close together. I'll go into these situations in more depth below, but for now, let's look at our example again:

Here, I've illustrated the values that this approach checked, and the peaks that we should have found. We saw that A peaked at 4, 13, and 16, and that B peaked at 4 and 16. When there are 5 peaks, there will always be one odd one out, and that will be the pair target. So we can conclude that the individual targets are 4 and 16 (recall that order doesn't matter), and the pair target is 13.

Note that if the odd one out was for ingredient B, the pair target will be 20 plus that peak (because we were incrementing B while A was set at 20).

Also note that if you saw an A peak at 20, and a B peak at 0, then the pair target is 20.

Unusual Situations

If you followed the process and found fewer than 5 peaks, then at least two of the targets are very near each other. The way I like to untangle these is looking for wide peaks or tall peaks.

Wide: For a usual peak, the score will spike by ~6% or more, and then immediately drop by a similar amount. If instead you see a significant spike up, followed by a smaller change (either up or down), and then a more significant drop back down, this is a wide peak. This occurs when two targets are adjacent to each other. In these cases, simply consider both of the values with higher scores to be peaks, and that will get you up to the 5 peaks you need.

Below is an example of a wide peak, marked in green, with all 5 true peaks in red.

It's also possible that the individual targets form multiple wide peaks:


Tall If you only found 4 peaks, and the scores for one of those peaks is significantly higher than the others (especially the corresponding peak on the other ingredient), then that peak is both an ingredient target and the pair target.

Below is an example of a tall peak. Note the significantly different scores for the same peak on different ingredients.

Stacked Individual Targets: If you only found 3 peaks, and are certain the peaks aren't wide , then most likely the A and B targets are the same value, and the odd one out is the pair target.

Very Unusual Situations

It's possible, though very rare, that the above techniques won't identify the three target values. Hopefully though, you understand the mechanic well enough now to do some creative problem solving. It's likely that the values are very close to each other, so try to experiment with it. If you find a particularly confusing situation, feel free to share it in the comments.

Optimizing Score

Once you have identified the three target values, we'll call them A, B, and P for the two individual, and pair targets respectively. There are only a handful of possible combinations that could produce the optimal score. These will always occur either on the intersection of two lines on the graph, or on the intersection of the diagonal line and the edge of the graph.

These candidates are (from most likely to least likely):

The intersection of the individual score lines and the pair line: (A, P-A), (B, P-B)
The intersection of the individual score lines with each other: (A, A), (A, B), and (B, B)
On the ends of the pair line, even if it doesn't intersect anything: (0, P), (P-20, 20)

Note that some of these candidates will have invalid values and can be thrown away.

For example:
Here the candidates are in red, with the duplicates in blue. (0, P) is missing because it would be invalid.

Simply check the scores for all the candidates, and use the one that gives the best score.
My Guide
This is the process I use for cooking. I use this over the TL;DR Guide because it involves less clicking, and less menial note taking or memorization. It does require a better understanding of how scoring works, but if you've read this far, you probably have that understanding.

Process:
  1. Set all ingredients to 0
  2. Identify which ingredients are paired (read Identifying Pairs)
  3. For each unpaired ingredient, cycle 0-20 to find the best score, and keep it there.
  4. For each pair:
    1. Choose one ingredient to be A, and one to be B. The order doesn't matter.
    2. Increment A from 0-20, and keep track of where the peaks were.
    3. Leaving A at 20, increment B from 0-20, and keep track of where the peaks were.
    4. Based on the peaks you found, identify the three target values A, B, and P
      • If you found 5 peaks, A and B are the matching ones, and P is the odd one out. If P was a peak of ingredient B, remember to add 20 to it.
      • If you found fewer than 5 peaks, read the Optimizing Pairs chapter for tips on how to resolve it.
    5. Check potential candidates to find the highest score:
      • (A, P-A) and (B, P-B) if they are valid
      • (0, P) if P <= 20 or (P-20, 20) if P > 20
      • (A, A), (A, B), and (B, B)
Help, I can't get to 100%!
It's possible that you've followed this guide or any other, and you still can't quite get your efficiency score up to 100%. Here are some tips to help.

First off, if you followed a different guide, consider reading this one to gain a better understanding of how cooking is scored, and maybe learn a different technique for optimizing score.

As far as quick fixes go, here are a few things you can try:

Search other candidates
For each pair (X, Y), try these candidates to see if it improves:
  1. (X, X)
  2. (Y, Y)
  3. (X+Y+1, X+Y+1)

Search nearby values
For each pair, follow these steps to try nearby values, and end up back where you started. It should be obvious, but this won't work if one of the values is either 0 or 20. Pick one ingredient to be A and one to be B, order doesn't matter.
  1. A up
  2. B up
  3. A down
  4. A down
  5. B down
  6. B down
  7. A up
  8. A up
  9. A down and B up

Brute force
When all else fails, it is possible to try every possible configuration of values to find the optimal solution. Remember that the pairs can be done independently, and that order doesn't matter, which leaves around 700 different configurations to try with only 6 ingredients. However, just don't do this, it's probably not worth it.

Give up
This is a perfectly viable option! Increasing Meal Efficiency from 90 to 100 gives about a 0.05% permanent exp gain boost, which has diminishing returns from every meal you've cooked so far. It might just be worth your time to give up and just eat your dinner.
TL;DR Guide
If you didn't read this document, and you don't really care how the mechanic works, and just want a low effort process to maximize score, here are a couple options.

Slower but more efficient
  1. Set all ingredients to 0
  2. Identify which ingredients are paired (read Identifying Pairs)
  3. For each unpaired ingredient, cycle 0-20 to find the best score, and keep it there.
  4. For each pair:
    1. Choose one ingredient to be A, and one to be B. The order doesn't matter.
    2. Increment A until you reach a peak
    3. Leaving A at the peak, cycle B 0-20, note the highest score and the associated values, then reset B
    4. Return to step 2 until A reaches 20 or you found 3 different peaks.
    5. (Optionally - Read note below) Set A to 0, B to 20, then repeat steps 2-4. You might find different peaks for A this way.
    6. Set A and B to the pair of values that recorded the highest score

Note: This step can always be skipped if you already found 3 different peaks for A, as it will never find new ones. If you always skip this step, you may rarely end up with a score in the high 90s. Performing this step will not guarantee 100%, but improves your odds of getting there from ~90% to over 99%. To save time, you might consider always skipping this step, and then only when you end up with <100%, starting the process over including it.

Super quick, but less efficient
If you really don't care about getting a particularly high score, and just want a quick and easy solution, this is the approach for you. In my testing this approach averages 90% efficiency.
  1. Set all ingredients to 0
  2. Identify which ingredients are paired (read Identifying Pairs)
  3. For each unpaired ingredient, cycle 0-20 to find the best score, and keep it there.
  4. For each pair:
    1. Choose one ingredient to be A, and one to be B. The order doesn't matter.
    2. Increment A from 0 to 20, then B from 0 to 20 (while keeping A at 20), noting what the maximum score was.
    3. Reverse the previous step until you get back to the maximum score you noted.
    4. Search 'diagonally' by both incrementing B and decrementing A, noting what the maximum score is. You can stop once B <= A.
    5. Reverse the previous step until you get back to the maximum score you noted.
External Resources and Sources
3 Comments
Ronin 3 Nov, 2022 @ 10:23am 
Honestly.. when it comes to cooking i'm more jessie than walter. I just mess around until i get something above 85% and that's good enough for me
BlueTeaMate 28 May, 2022 @ 3:02pm 
wth
da bee 20 Apr, 2022 @ 6:05am 
i used this guide and gordon ramsen himself (inventory of the ramsen machine) came and spanked my ass