The Wiki for Tale 6 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.

If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.

Difference between revisions of "User:GHawkins/PaintGuide"

From ATITD6
Jump to navigationJump to search
(Created page with "When I said the painting guide was a work in progress, I meant it . . .")
 
 
(108 intermediate revisions by 3 users not shown)
Line 1: Line 1:
When I said the painting guide was a work in progress, I meant it . . .
+
Welcome to the Painting Guide.  My name is GHawkins and tale 6 is my first time in the sands.  With the help of various pages on the wiki and Ofalot's conversation turned into a [[User:Ofalot/Painting_Guide| guide]], I was able to use Paint Watch (PW) and PracticalPaint (PP) to work out a great set of paint recipes.  However, I found all individual sources of information to be incomplete and still had to work out several things for myself.  As such, I've decided to bring everything together into a single illustrated painting guide to help make it easier for anyone who hasn't worked out their recipes to do so.
 +
 
 +
Creating your painting recipes is a lengthy and detailed process, but since the recipes which work are tied to your character name, the recipes you develop now can be reused each and every tale (unless Teppy decides to mess with us all).  Additionally, every avatar has different recipes, so you may be able to make paints your friends can't.  Even if you can both make the paint, you might be able to make it with less costly materials.
 +
 
 +
This guide is designed to walk you through the steps of working out your recipes.  First, I discuss the mechanics of the painting system.  Second, I show of how to get your reaction values using the Paint Watch .lua script which can be found in Veggie Tales.  Third, I explain how to work PracticalPaint to use those reaction values to build your recipes.  Lastly, I offer some advice on tweaking your recipes to get them working correctly.
 +
 
 +
'''Not running Windows?'''
 +
 
 +
This guide covers the use of paint_watch.lua and Practical Paint which were designed for a Windows operating system.  For those of you running a Linux or Mac operating system, the general [[Macros#Running_without_Windows.3F| Macro page]] recommends the use of [http://www.winehq.org Wine].  I have not used it so I don't know how well it works, but if you are running Linux or Mac and have used it please let me know.
 +
 
 +
==Painting Theory==
 +
To mix a paint, you'll need access to a [[Pigment Laboratory]] and a variety of ingredients to make the colors.
 +
 
 +
When you complete a paint, its named color will be based on what idealized color the paint's real RGB colors are the closest match to.
 +
 
 +
Ingredients are divided into two general classes, bases and catalysts.
 +
 
 +
===Base Ingredients===
 +
 
 +
A base is an ingredient which lends its RGB values directly to the color of the final product.  When you add a base ingredient to the lab, it creates a weighted average of RGB values with the other ingredients in the lab.  In addition, a reaction might occur which will alter the final RGB value.  Each base ingredient you add increases the concentration of the paint by one, and you cannot complete the paint until you increase the paint's concentration to at least 10.  You can however continue adding ingredients beyond 10.
 +
 
 +
The base ingredients and their RGB values are:
 +
 
 +
{|border="1" cellpadding="1" cellspacing="0" style="background-color:#FFDEAD"
 +
|-
 +
! Ingredient !! Abbr. !! R !! G !! B
 +
|-
 +
| Cabbage Juice || CJ || 128 || 64 || 144
 +
|-
 +
| Carrots || Cr || 224 || 112 || 32
 +
|-
 +
|Clay || Cl || 128 || 96 || 32
 +
|-
 +
| Dead Tongue Mushrooms || DT ||112 || 64 || 64
 +
|-
 +
| Toad Skin Mushrooms || TS || 48 || 96 ||48
 +
|-
 +
| Earth Light Mushrooms || EL || 128 || 240 || 224
 +
|-
 +
| Red Sand ||RS || 144 || 16 || 24
 +
|-
 +
| Silver Powder || Ag || 16 || 16 || 32
 +
|-
 +
| Lead || Pb || 80 || 80 || 96
 +
|-
 +
| Iron || Fe || 96 || 48 || 32
 +
|-
 +
|Copper || Cu || 64 || 192 || 192
 +
|-
 +
|}
 +
 
 +
===Catalysts===
 +
 
 +
A catalyst does not modify the color value average, but does cause reactions.  Adding a catalyst does not increase the paint's concentration.
 +
 
 +
The catalysts are '''Sulfur''' (C:Su), '''Potash''' (C:Po), '''Lime''' (C:Li), and '''Saltpeter''' (C:Sa)
 +
 
 +
Because they do not modify the color value average, they do not have RGB values.
 +
 
 +
=== Reactions ===
 +
 
 +
Reactions are the most complicated part of painting, but in order to perfect your recipes it's absolutely critical that you understand how reactions work and calculate your own unique reaction values since they are different for each character.
 +
 
 +
When you combine certain ingredients into the paint mixer, a reaction can happen.  Reactions add or subtract from the paint's final RGB values after the weighted average of base ingredients has been calculated.  Reactions can affect Red values (R), Green values (G), Blue values (B), or all three values equally (W).
 +
 
 +
Reactions are additive, so if you have 1 reaction which increases the Green value by 12 and a second reaction that increases the Green value by 23, the total reaction will be 35G.  If a reaction increases the Green value by 12 and lowers the White value by 18, the net effect will be -18R -6G -18B.
 +
 
 +
Every player's reaction are unique.  Hence, if a paint recipe includes a reaction, then someone else's recipe may not work for you.  However, there is some consistency with reactions.  Every reaction for every player will affect the same color, but what is different is the magnitude.  The table below has a complete summary of all reactions.
 +
 
 +
{|border="1" cellpadding="6" cellspacing="3" style="background-color:#FFDEAD"
 +
|-
 +
! !! CJ !! Cr !! Cl !! DT !! TS !! EL !! RS !! Pb !! Ag !! Fe !! Cu !! C:Su !! C:Po !! C:Li !! C:Sa
 +
|-
 +
! Cabbage Juice || || || || B || || G || G || || || W || W ||  || B || ||
 +
|-
 +
! Carrots|| || || || R || W || || B || W || || || || || W || G ||
 +
|-
 +
! Clay|| || || || || R || B ||  || B || B ||  || R || G || || || B
 +
|-
 +
! Dead Tongue Mushrooms || B || R || || || G || || B || G || || B || B || || B || W ||
 +
|-
 +
! Toad Skin Mushrooms || || W || R || G || || || || W || || || W ||  || R || R ||
 +
|-
 +
! Earth Light Mushrooms || G || || B || || || || R || G || || R || || R || R || ||
 +
|-
 +
! Red Sand || G || B || || B || || R || || || R || || || || || ||
 +
|-
 +
! Lead || || W || B || G || W || G || || || G || B || W || || || || G
 +
|-
 +
! Silver Powder|| || || B || || || || R || G || || B || G || || || || G
 +
|-
 +
! Iron || W || || || B || || R || || B || B || || || G || || || W
 +
|-
 +
! Copper || W || || R || B || W || || || W || G || || || W || || || B
 +
|-
 +
! Catalyst:  Sulfur || || || G || || || R || || || || G || W ||  || G || ||
 +
|-
 +
! Catalyst:  Potash || B || W || || B || R || R || || || || ||  || G || || ||
 +
|-
 +
! Catalyst:  Lime || || G || || W || R || || || || || || || || || ||
 +
|-
 +
! Catalyst:  Saltpeter || || || B || || || || || G || G || W || B || || || ||
 +
|-
 +
|}
 +
 
 +
The order of ingredients matters for reactions.  For example, if you first put Cabbage Juice in the paint mixer and then Red Sand, the reaction you might get is 18G.  However, if you put Red Sand then Cabbage Juice in, the reaction might be -4G.
 +
 
 +
An ingredient put in the mixer can react a number of times.  For example, if you add Red Sand into the mixer followed by Cabbage Juice, Carrots, and Dead Tongue Mushrooms, you'll get the RS->CJ, RS->Cr, RS->DT, CJ->DT, and Cr->DT reactions all added together.
 +
 
 +
However, any given pair of ingredients will only react once.  So in the example above, if you were to later add one more Red Sand, you would not get the CJ->RS reaction since that pair of ingredients has already had a reaction.
 +
 
 +
Lastly, after 5 unique ingredients have been added to the paint, no further reactions will occur.
 +
 
 +
=== Example ===
 +
 
 +
Now, let's see how that all works out in practice by using a simple example.
 +
 
 +
 
 +
I'll start by adding one Red Sand to the Pigment Laboratory.
 +
 
 +
The RGB Values of what's currently in the Laboratory are [144 16 24]
 +
 
 +
 
 +
Next, we'll add one Iron.  With one unit of Red Sand and one unit of Iron in the laboratory, the average is calculated as:
 +
 
 +
'''R''':  Avg(144 + 96)=120
 +
'''G''':  Avg(16 + 48)=32
 +
'''B''':  Avg(24 + 32)=28
 +
 
 +
The RGB Values of what's currently in the Laboratory are [120 32 28]
 +
 
 +
 
 +
Next we'll add one Copper.  The average is calculated as:
 +
 
 +
'''R''':  Avg(144 + 96 + 64)=101
 +
'''G''':  Avg(16 + 48 + 192)=85
 +
'''B''':  Avg(24 + 32 + 192)=83
 +
 
 +
The RGB Values of what's currently in the Laboratory are [101 85 83]
 +
 
 +
 
 +
So far we haven't seen any reactions.  That will change however when we add some Cabbage Juice.  Before the reactions take effect, the weighted average is still calculated as:
 +
 
 +
'''R''':  Avg(144 + 96 + 64 + 128)=108
 +
'''G''':  Avg(16 + 48 + 192 + 64)=80
 +
'''B''':  Avg(24 + 32 + 192 + 144)=98
 +
 
 +
However, three reactions have taken place.  For my character, my reaction values for these reactions are listed below:
 +
 
 +
RS->CJ:  61G
 +
 
 +
Fe->CJ:  -28W
 +
 
 +
Cu->CJ:  63W
 +
 
 +
Add the values from these three reactions on the RGB scale to get:  [35 96 35]
 +
 
 +
Add the weighted average values and the reaction values together and what's currently in the mixer is:  [143 176 133]
 +
 
 +
 
 +
Now, let's add another Red Sand.  Since the ingredients Red Sand and Cabbage Juice have already had a reaction in this batch, I don't get the CJ->RS reactions.
 +
 
 +
'''R''':  Avg(144 + 96 + 64 + 128 + 144)=115
 +
'''G''':  Avg(16 + 48 + 192 + 64 + 16)=67
 +
'''B''':  Avg(24 + 32 + 192 + 144 + 24)=83
 +
 
 +
The reaction bonus remains:  [35 96 35]
 +
 
 +
Therefore the current RGB values of what's in the laboratory is:  [150 163 118]
 +
 
 +
Now that we've seen how the process works using my reactions, let me show you how you can find the values of your paint reactions using Paint Watch.
 +
 
 +
==Get your reaction values Paint Watch==
 +
paint_watch.lua is a Veggie Tales script.
 +
 
 +
You can find it and a package of all .lua scripts at the Official VeggieTales app page: [http://www.bigscreensmallgames.com/ATITD/ http://www.bigscreensmallgames.com/ATITD/]
 +
 
 +
It's time to get your reaction values.  Download Veggie Tales, open it up, grab about a dozen of all the ingredients you want to test (I recommend testing everything) and about a hundred Red Sand which you'll use to reset the mixer after each reaction test.  Head to your pigment laboratory, and if you've got a water mine in easy reach get it started up, you're going to be here for a while.
 +
 
 +
Make sure the pigment laboratory has nothing in the mixer (concentration should be 0) and batch size is set to x1.  No sense wasting a lot of ingredients on these tests.  You should see something like the following.
 +
 
 +
[[Image:GHPaint1.jpg|400px|Paint Setup]]
 +
 
 +
Make sure you can see all of the VT window including the Reactions RGB line.  That's where PW displays the difference between the expected values in the mixer (based on the weighted average) and what's actually there (which includes the effects of reactions).
 +
 
 +
[[Image:GHPaint2.jpg|thumb|left|CJ -> RS reaction]]
 +
 
 +
Now for a quick reaction test.  In the Veggie Tales window, click on the Red Sand button.  Then click on the Cabbage Juice button in the Veggie Tales window.  A compilation of cropped images detailing the results of those two clicks is to the left.
 +
 
 +
Success!  Looking at the Reaction Value line, PW informs me that my reaction value for RS->CJ is 61G indicating that the green value is much higher now that would be suggested by the color average alone.  Write down your specific reaction value.  Remember that your RS->CJ reaction value will probably be different from your CJ->RS reaction value, so exit the paint_watch.lua, dump 8 units of red sand into the pigment laboratory, take the paint, restart PW and do it again, this time adding Cabbage Juice first.  Repeat backwards and forwards for all of the reactions.
 +
 
 +
===One critical precaution===
 +
 
 +
[[Image:GHPaint3.jpg|thumb|left|RS -> DT reaction with no Blue bar]]
 +
PW can only measure what's on the screen, but the client is keeping track of RGB values below zero and above 255.  This can be a major cause of incorrectly calculated reaction values.  For example, when I combine 1 Red Sand and 1 Dead Tongue Mushroom, I get the reaction seen on the left:
 +
 
 +
-44B, but if you'll look at the blue bar in the pigment laboratory it's entirely missing.  The real blue value that the client is keeping track of might in fact by -20, indicating that my real reaction value is -64B!
 +
 
 +
In a case like this, what you'll want to do is find a way to add some blue to the mixture without hitting a blue reaction.  For example, lead contains a lot of blue, and if I were to add lead to the mix that would increase the blue average.  Would that affect reactions?
 +
 
 +
Consulting the reactions table above, Lead does not react with Red Sand, great.  Lead and Dead Tongue Mushrooms do however have a reaction:  Green.  No problem!  The EPA tells me that lead should not be added to paint, but I'm willing to take that risk this time . . .
 +
 
 +
[[Image:GHPaint4.jpg|thumb|left|Lead in paint, not such a bad idea after all]]
 +
Now I can see that my true RS->DT reaction is -46B.  Additionally my DT->Pb reaction is -49G.  There's even a bit of green bar left on the screen, so the DT->Pb reaction is probably right, though I will still double check that reaction with a clean batch just to be sure.
 +
 
 +
Watch the RGB color bars in your client and be prepared to make several substitutions like as you work through your reactions.  I recommend going back to double check your numbers using a different method if you do something complicated.  Getting the right reaction values (or at least as close as you can since the results of PW are only estimates) is critical for getting working recipes.
 +
 
 +
Of special note in this case is the reaction for '''Sulfur and Potash'''.  No value will show for this reaction until you add at least one base ingredient.  I recommend Cabbage Juice for this since it does not have a Green reaction with either ingredient.  Hence to test for the C:Su->C:Po and C:Po->C:Su reactions, what you'll want to actually add to the mixer is CJ->C:Su->C:Po and CJ->C:Po->C:Su.  In both cases you'll also see the CJ->C:Po Blue reaction, but you'll want to ignore that and focus just on the Green reaction value.
 +
 
 +
You're off to a great start.  Now that you've got the reaction values, you can work out a lot of recipes yourself using trial and error.  However, there's literally infinite possible combinations of quantities and orders you can work through, and thousands of plausible ones.  Sure you could to that all by hand, but for brute force calculations, that's what computers are for . . .
 +
 
 +
==Brute force to victory with PraciticalPaint==
 +
 
 +
Now that you've got all your Reaction Values, it's time to put them to use.  [[File:PracticalPaint.zip| Practical Paint]] is a program designed to take your reaction values and then brute force its way through every possible combination of paint ingredients to find the cheapest recipe possible for each color of paint.
 +
 
 +
The readme text is actually quite good, so I won't go into much depth about the program itself.
 +
 
 +
Set up the reactions.txt file with all of the reaction values you've recorded, modify the ingredients.txt to reflect your personal valuations of all the ingredients listed, then run PracticalPaint.exe and wait.  Now grab a sandwich and go herbing along the Sinai or hunt cicadas, because unless you're renting space on Amazon's Elastic Compute Cloud, this will take several hours at default settings.  If you've tested all your reactions, depending on your values, you should return to a list of 100+ paints that you can make.
 +
 
 +
Now you've got a big list of paint recipes, but you're not done yet.  You probably noticed while working with Paint Watch that the numbers it returns are only estimates, so when those numbers are fed into Practical Paint it might not quite work out.  Therefore, you need to test your recipes before calling them done and firing up a batch of 100 at your local Pigment Laboratory.  Some advice on how to do this follows in the next section.
 +
 
 +
==Getting it right==
 +
As I've mentioned before, Paint Watch is limited to what it can detect, and your client does not display all the information that it's actually keeping track of.  That's most obvious when a reaction drives RGB color values below 0 or above 255, but some rounding is taking place in any reaction.  Since Paint Watch will only display integers, this means that your reaction values may not quite be right.  However, since PracticalPaint takes these values as accurate, its results may not be quite right.
 +
 
 +
They will however be close, particularly if you did a good job getting your reaction values as accurate as you could.  Take your recipes and test them all before making large batches.  If you find one that doesn't return the color you expected, you'll need to do some tweaking to get it right.  As you test your recipes, you'll start to get a feel for what reactions may not quite be right and what you can do to correct them.
 +
 
 +
The first thing you should try is removing one unit of your cheapest ingredient (probably Red Sand) and substituting it with one unit of a slightly more expensive ingredient like Cabbage Juice.  Since PP displays only the cheapest recipe, even if it's right at the margin between two colors, a little tweak like this will often bring the color in the right direction.  As you do these tweaks however, there are two things you should definitely avoid.  Do not remove the last unit of an ingredient, and don't add a new ingredient.  This will remove or cause several reactions, and could very easily skew the color far off where it is now.
 +
 
 +
If minor tweaks don't work, consider skipping this color for a while.  As you're testing other ingredients, you'll be seeing lots of different colors and that will give you a good intuition for how to make this missing color using a different set of ingredients.
 +
 
 +
Still not working?  Consider running PP again, but this time don't let it run all the way through.  Every few minutes, copy the results to your clipboard and save them in a text file.  As PP runs, it will likely find many functioning recipes for your paint colors, but since it only keeps the cheapest, it may wind up scrapping a recipe that actually works.  Look through your lists of alternative, more expensive, recipes and give them a shot.
 +
 
 +
Another way of getting different results is to to modify your preferences like ingredient costs.  Maybe you don't want to use Dead Tongue Mushrooms and made them really expensive.  Dramatically reduce the cost and try again.  You'll get a lot of different recipes, and only keep the ones that you need.  An expensive recipe is better than none at all.
 +
 
 +
Even if all your recipes work, it can be useful to go back and tinker with your preferences.  For example, my initial recipe for Light Salmon after a full run of PP was:
 +
 
 +
Light Salmon:  1 Cabbage, 16 Red Sand, 1 Sulfur, 1 Copper
 +
 
 +
Great that it uses mainly Red Sand, but that's a lot of clicking.  After some tinkering with costs though, the recipe returned:
 +
 
 +
Light Salmon:  1 Cabbage, 9 Red Sand, 1 Carrot, 1 Sulfur, 1 Copper
 +
 
 +
For the cost of using one carrot per 10 paint, I save six clicks for each batch of paint.  Frankly it's my own fault for setting the cost of Red Sand so low in the initial run that I wasn't properly valuing my time for clicking the Red Sand button.  Still, both recipes are useful.  The old recipe can go in my [[User:GHawkins/PersonalPaints|secret paints page]] for when I'm making the paint for myself and don't mind the extra clicking to be cheap.  The new recipe will go to my [[User:GHawkins/Paint|public paints page]] for use when someone else is paying for the carrots and I'm just as happy to click less.
 +
 
 +
I hope you've found this guide helpful and have gotten many great recipes to help yourself, your friends, and all of Egypt.  Remember, everyone has different recipes, so the more people work out their own reactions, the better selection we have for making paints.
 +
 
 +
 
 +
Dreger:  I created a video of going through this process for a several of my reactions, a few of them tough to do without having read and understanding this guide.  If you're still confused after reading this page, maybe this video will help you. You can find it on YouTube [https://www.youtube.com/watch?v=kKZmLjSVbDw here] . I hope it helps, and thank you very much GHawkins!  I couldn't have mapped my colors without this guide, VeggieTales, and PracticalPaint.

Latest revision as of 04:00, 8 November 2014

Welcome to the Painting Guide. My name is GHawkins and tale 6 is my first time in the sands. With the help of various pages on the wiki and Ofalot's conversation turned into a guide, I was able to use Paint Watch (PW) and PracticalPaint (PP) to work out a great set of paint recipes. However, I found all individual sources of information to be incomplete and still had to work out several things for myself. As such, I've decided to bring everything together into a single illustrated painting guide to help make it easier for anyone who hasn't worked out their recipes to do so.

Creating your painting recipes is a lengthy and detailed process, but since the recipes which work are tied to your character name, the recipes you develop now can be reused each and every tale (unless Teppy decides to mess with us all). Additionally, every avatar has different recipes, so you may be able to make paints your friends can't. Even if you can both make the paint, you might be able to make it with less costly materials.

This guide is designed to walk you through the steps of working out your recipes. First, I discuss the mechanics of the painting system. Second, I show of how to get your reaction values using the Paint Watch .lua script which can be found in Veggie Tales. Third, I explain how to work PracticalPaint to use those reaction values to build your recipes. Lastly, I offer some advice on tweaking your recipes to get them working correctly.

Not running Windows?

This guide covers the use of paint_watch.lua and Practical Paint which were designed for a Windows operating system. For those of you running a Linux or Mac operating system, the general Macro page recommends the use of Wine. I have not used it so I don't know how well it works, but if you are running Linux or Mac and have used it please let me know.

Painting Theory

To mix a paint, you'll need access to a Pigment Laboratory and a variety of ingredients to make the colors.

When you complete a paint, its named color will be based on what idealized color the paint's real RGB colors are the closest match to.

Ingredients are divided into two general classes, bases and catalysts.

Base Ingredients

A base is an ingredient which lends its RGB values directly to the color of the final product. When you add a base ingredient to the lab, it creates a weighted average of RGB values with the other ingredients in the lab. In addition, a reaction might occur which will alter the final RGB value. Each base ingredient you add increases the concentration of the paint by one, and you cannot complete the paint until you increase the paint's concentration to at least 10. You can however continue adding ingredients beyond 10.

The base ingredients and their RGB values are:

Ingredient Abbr. R G B
Cabbage Juice CJ 128 64 144
Carrots Cr 224 112 32
Clay Cl 128 96 32
Dead Tongue Mushrooms DT 112 64 64
Toad Skin Mushrooms TS 48 96 48
Earth Light Mushrooms EL 128 240 224
Red Sand RS 144 16 24
Silver Powder Ag 16 16 32
Lead Pb 80 80 96
Iron Fe 96 48 32
Copper Cu 64 192 192

Catalysts

A catalyst does not modify the color value average, but does cause reactions. Adding a catalyst does not increase the paint's concentration.

The catalysts are Sulfur (C:Su), Potash (C:Po), Lime (C:Li), and Saltpeter (C:Sa)

Because they do not modify the color value average, they do not have RGB values.

Reactions

Reactions are the most complicated part of painting, but in order to perfect your recipes it's absolutely critical that you understand how reactions work and calculate your own unique reaction values since they are different for each character.

When you combine certain ingredients into the paint mixer, a reaction can happen. Reactions add or subtract from the paint's final RGB values after the weighted average of base ingredients has been calculated. Reactions can affect Red values (R), Green values (G), Blue values (B), or all three values equally (W).

Reactions are additive, so if you have 1 reaction which increases the Green value by 12 and a second reaction that increases the Green value by 23, the total reaction will be 35G. If a reaction increases the Green value by 12 and lowers the White value by 18, the net effect will be -18R -6G -18B.

Every player's reaction are unique. Hence, if a paint recipe includes a reaction, then someone else's recipe may not work for you. However, there is some consistency with reactions. Every reaction for every player will affect the same color, but what is different is the magnitude. The table below has a complete summary of all reactions.

CJ Cr Cl DT TS EL RS Pb Ag Fe Cu C:Su C:Po C:Li C:Sa
Cabbage Juice B G G W W B
Carrots R W B W W G
Clay R B B B R G B
Dead Tongue Mushrooms B R G B G B B B W
Toad Skin Mushrooms W R G W W R R
Earth Light Mushrooms G B R G R R R
Red Sand G B B R R
Lead W B G W G G B W G
Silver Powder B R G B G G
Iron W B R B B G W
Copper W R B W W G W B
Catalyst: Sulfur G R G W G
Catalyst: Potash B W B R R G
Catalyst: Lime G W R
Catalyst: Saltpeter B G G W B

The order of ingredients matters for reactions. For example, if you first put Cabbage Juice in the paint mixer and then Red Sand, the reaction you might get is 18G. However, if you put Red Sand then Cabbage Juice in, the reaction might be -4G.

An ingredient put in the mixer can react a number of times. For example, if you add Red Sand into the mixer followed by Cabbage Juice, Carrots, and Dead Tongue Mushrooms, you'll get the RS->CJ, RS->Cr, RS->DT, CJ->DT, and Cr->DT reactions all added together.

However, any given pair of ingredients will only react once. So in the example above, if you were to later add one more Red Sand, you would not get the CJ->RS reaction since that pair of ingredients has already had a reaction.

Lastly, after 5 unique ingredients have been added to the paint, no further reactions will occur.

Example

Now, let's see how that all works out in practice by using a simple example.


I'll start by adding one Red Sand to the Pigment Laboratory.

The RGB Values of what's currently in the Laboratory are [144 16 24]


Next, we'll add one Iron. With one unit of Red Sand and one unit of Iron in the laboratory, the average is calculated as:

R: Avg(144 + 96)=120 G: Avg(16 + 48)=32 B: Avg(24 + 32)=28

The RGB Values of what's currently in the Laboratory are [120 32 28]


Next we'll add one Copper. The average is calculated as:

R: Avg(144 + 96 + 64)=101 G: Avg(16 + 48 + 192)=85 B: Avg(24 + 32 + 192)=83

The RGB Values of what's currently in the Laboratory are [101 85 83]


So far we haven't seen any reactions. That will change however when we add some Cabbage Juice. Before the reactions take effect, the weighted average is still calculated as:

R: Avg(144 + 96 + 64 + 128)=108 G: Avg(16 + 48 + 192 + 64)=80 B: Avg(24 + 32 + 192 + 144)=98

However, three reactions have taken place. For my character, my reaction values for these reactions are listed below:

RS->CJ: 61G

Fe->CJ: -28W

Cu->CJ: 63W

Add the values from these three reactions on the RGB scale to get: [35 96 35]

Add the weighted average values and the reaction values together and what's currently in the mixer is: [143 176 133]


Now, let's add another Red Sand. Since the ingredients Red Sand and Cabbage Juice have already had a reaction in this batch, I don't get the CJ->RS reactions.

R: Avg(144 + 96 + 64 + 128 + 144)=115 G: Avg(16 + 48 + 192 + 64 + 16)=67 B: Avg(24 + 32 + 192 + 144 + 24)=83

The reaction bonus remains: [35 96 35]

Therefore the current RGB values of what's in the laboratory is: [150 163 118]

Now that we've seen how the process works using my reactions, let me show you how you can find the values of your paint reactions using Paint Watch.

Get your reaction values Paint Watch

paint_watch.lua is a Veggie Tales script.

You can find it and a package of all .lua scripts at the Official VeggieTales app page: http://www.bigscreensmallgames.com/ATITD/

It's time to get your reaction values. Download Veggie Tales, open it up, grab about a dozen of all the ingredients you want to test (I recommend testing everything) and about a hundred Red Sand which you'll use to reset the mixer after each reaction test. Head to your pigment laboratory, and if you've got a water mine in easy reach get it started up, you're going to be here for a while.

Make sure the pigment laboratory has nothing in the mixer (concentration should be 0) and batch size is set to x1. No sense wasting a lot of ingredients on these tests. You should see something like the following.

Paint Setup

Make sure you can see all of the VT window including the Reactions RGB line. That's where PW displays the difference between the expected values in the mixer (based on the weighted average) and what's actually there (which includes the effects of reactions).

CJ -> RS reaction

Now for a quick reaction test. In the Veggie Tales window, click on the Red Sand button. Then click on the Cabbage Juice button in the Veggie Tales window. A compilation of cropped images detailing the results of those two clicks is to the left.

Success! Looking at the Reaction Value line, PW informs me that my reaction value for RS->CJ is 61G indicating that the green value is much higher now that would be suggested by the color average alone. Write down your specific reaction value. Remember that your RS->CJ reaction value will probably be different from your CJ->RS reaction value, so exit the paint_watch.lua, dump 8 units of red sand into the pigment laboratory, take the paint, restart PW and do it again, this time adding Cabbage Juice first. Repeat backwards and forwards for all of the reactions.

One critical precaution

RS -> DT reaction with no Blue bar

PW can only measure what's on the screen, but the client is keeping track of RGB values below zero and above 255. This can be a major cause of incorrectly calculated reaction values. For example, when I combine 1 Red Sand and 1 Dead Tongue Mushroom, I get the reaction seen on the left:

-44B, but if you'll look at the blue bar in the pigment laboratory it's entirely missing. The real blue value that the client is keeping track of might in fact by -20, indicating that my real reaction value is -64B!

In a case like this, what you'll want to do is find a way to add some blue to the mixture without hitting a blue reaction. For example, lead contains a lot of blue, and if I were to add lead to the mix that would increase the blue average. Would that affect reactions?

Consulting the reactions table above, Lead does not react with Red Sand, great. Lead and Dead Tongue Mushrooms do however have a reaction: Green. No problem! The EPA tells me that lead should not be added to paint, but I'm willing to take that risk this time . . .

Lead in paint, not such a bad idea after all

Now I can see that my true RS->DT reaction is -46B. Additionally my DT->Pb reaction is -49G. There's even a bit of green bar left on the screen, so the DT->Pb reaction is probably right, though I will still double check that reaction with a clean batch just to be sure.

Watch the RGB color bars in your client and be prepared to make several substitutions like as you work through your reactions. I recommend going back to double check your numbers using a different method if you do something complicated. Getting the right reaction values (or at least as close as you can since the results of PW are only estimates) is critical for getting working recipes.

Of special note in this case is the reaction for Sulfur and Potash. No value will show for this reaction until you add at least one base ingredient. I recommend Cabbage Juice for this since it does not have a Green reaction with either ingredient. Hence to test for the C:Su->C:Po and C:Po->C:Su reactions, what you'll want to actually add to the mixer is CJ->C:Su->C:Po and CJ->C:Po->C:Su. In both cases you'll also see the CJ->C:Po Blue reaction, but you'll want to ignore that and focus just on the Green reaction value.

You're off to a great start. Now that you've got the reaction values, you can work out a lot of recipes yourself using trial and error. However, there's literally infinite possible combinations of quantities and orders you can work through, and thousands of plausible ones. Sure you could to that all by hand, but for brute force calculations, that's what computers are for . . .

Brute force to victory with PraciticalPaint

Now that you've got all your Reaction Values, it's time to put them to use. File:PracticalPaint.zip is a program designed to take your reaction values and then brute force its way through every possible combination of paint ingredients to find the cheapest recipe possible for each color of paint.

The readme text is actually quite good, so I won't go into much depth about the program itself.

Set up the reactions.txt file with all of the reaction values you've recorded, modify the ingredients.txt to reflect your personal valuations of all the ingredients listed, then run PracticalPaint.exe and wait. Now grab a sandwich and go herbing along the Sinai or hunt cicadas, because unless you're renting space on Amazon's Elastic Compute Cloud, this will take several hours at default settings. If you've tested all your reactions, depending on your values, you should return to a list of 100+ paints that you can make.

Now you've got a big list of paint recipes, but you're not done yet. You probably noticed while working with Paint Watch that the numbers it returns are only estimates, so when those numbers are fed into Practical Paint it might not quite work out. Therefore, you need to test your recipes before calling them done and firing up a batch of 100 at your local Pigment Laboratory. Some advice on how to do this follows in the next section.

Getting it right

As I've mentioned before, Paint Watch is limited to what it can detect, and your client does not display all the information that it's actually keeping track of. That's most obvious when a reaction drives RGB color values below 0 or above 255, but some rounding is taking place in any reaction. Since Paint Watch will only display integers, this means that your reaction values may not quite be right. However, since PracticalPaint takes these values as accurate, its results may not be quite right.

They will however be close, particularly if you did a good job getting your reaction values as accurate as you could. Take your recipes and test them all before making large batches. If you find one that doesn't return the color you expected, you'll need to do some tweaking to get it right. As you test your recipes, you'll start to get a feel for what reactions may not quite be right and what you can do to correct them.

The first thing you should try is removing one unit of your cheapest ingredient (probably Red Sand) and substituting it with one unit of a slightly more expensive ingredient like Cabbage Juice. Since PP displays only the cheapest recipe, even if it's right at the margin between two colors, a little tweak like this will often bring the color in the right direction. As you do these tweaks however, there are two things you should definitely avoid. Do not remove the last unit of an ingredient, and don't add a new ingredient. This will remove or cause several reactions, and could very easily skew the color far off where it is now.

If minor tweaks don't work, consider skipping this color for a while. As you're testing other ingredients, you'll be seeing lots of different colors and that will give you a good intuition for how to make this missing color using a different set of ingredients.

Still not working? Consider running PP again, but this time don't let it run all the way through. Every few minutes, copy the results to your clipboard and save them in a text file. As PP runs, it will likely find many functioning recipes for your paint colors, but since it only keeps the cheapest, it may wind up scrapping a recipe that actually works. Look through your lists of alternative, more expensive, recipes and give them a shot.

Another way of getting different results is to to modify your preferences like ingredient costs. Maybe you don't want to use Dead Tongue Mushrooms and made them really expensive. Dramatically reduce the cost and try again. You'll get a lot of different recipes, and only keep the ones that you need. An expensive recipe is better than none at all.

Even if all your recipes work, it can be useful to go back and tinker with your preferences. For example, my initial recipe for Light Salmon after a full run of PP was:

Light Salmon: 1 Cabbage, 16 Red Sand, 1 Sulfur, 1 Copper

Great that it uses mainly Red Sand, but that's a lot of clicking. After some tinkering with costs though, the recipe returned:

Light Salmon: 1 Cabbage, 9 Red Sand, 1 Carrot, 1 Sulfur, 1 Copper

For the cost of using one carrot per 10 paint, I save six clicks for each batch of paint. Frankly it's my own fault for setting the cost of Red Sand so low in the initial run that I wasn't properly valuing my time for clicking the Red Sand button. Still, both recipes are useful. The old recipe can go in my secret paints page for when I'm making the paint for myself and don't mind the extra clicking to be cheap. The new recipe will go to my public paints page for use when someone else is paying for the carrots and I'm just as happy to click less.

I hope you've found this guide helpful and have gotten many great recipes to help yourself, your friends, and all of Egypt. Remember, everyone has different recipes, so the more people work out their own reactions, the better selection we have for making paints.


Dreger: I created a video of going through this process for a several of my reactions, a few of them tough to do without having read and understanding this guide. If you're still confused after reading this page, maybe this video will help you. You can find it on YouTube here . I hope it helps, and thank you very much GHawkins! I couldn't have mapped my colors without this guide, VeggieTales, and PracticalPaint.