I have gotten to the stage where I can get the gold upgrade in the workshop in the kittens-game.
What exactly is gold used for? And when should I get the upgrade?

I am currently torn between saving up minerals for the amphitheater or to upgrade for gold.


Gold is used in many buildings, the Tradepost and Temple being among them. It's also required for trading, so if you want to ever get specific resources faster, you're going to need gold. It's also used in many faith upgrades, and some workshop upgrades.

Any way you look at it, gold is very useful. You need it. Lots of it. Compared against the Amphitheater, though, it depends on what your current happiness level is at. The lower your happiness, the more I would weight getting them, as they give corresponding kitten efficiency bonuses, whereas gold is used to progress.


There's a lot of things gold is useful for. To me, it's:

  • Titanium (which it sounds like you're not at yet) through trades with the Zebras
  • Spices through constant trades. Note that spices, being a luxury resource, give you 10% happiness bonus, so it makes everything faster.
  • Temples also increase happiness and use gold.

So it boils down to titanium and happiness. Go figure, gold fuels industry and happiness, just like in real life!!

I have 38 smelters going right now with 65 kittens. I fire off a trade (with my auto script) every 75 seconds. (Actually, 70-80 seconds since it runs every 10 seconds and fires off a trade if i'm at over 95% capacity gold...)

The script is below. Make sure you have visited the trade tab, or it will never have generated the button to press. :O And sometimes it dies, so keep an eye on it, or it will just spend your gold and slabs. Yikes.

var trade = function(name) {
    console.log('trading with ' + name);
    var faction = gamePage.diplomacy.get(name);
    if(!faction) return;
    var title = faction.title;

    var panel = gamePage.diplomacyTab.racePanels;
    for(var i = 0; i < panel.length; i++) {
      if(panel[i].name == title) {
        var prices = panel[i].tradeBtn.prices;
        for(var x = 0; x < prices.length; x++) {
          var pool = gamePage.resPool.get(prices[x].name);
          var req = prices[x].val;
          if(pool < req) return;
var autoZebra = function() {
    var gold = gamePage.resPool.get('gold');
    if(gold.value / gold.maxValue > 0.95) {
      var doTrade = true;
      var slabs = gamePage.workshop.getCraft('slab').value;
      if(slabs < 50) {
        doTrade = false;
        var per = 1 + gamePage.bld.getEffect('craftRatio');
        var needed = (50 - slabs) / per;
        needed = Math.round(needed + .6);
        var minerals = needed * 250;
        if(minerals < gamePage.resPool.get('minerals')) {
          gamePage.craft('minerals', needed);
          gamePage.msg('crafted ' + needed + ' slabs for zebra trade');
          doTrade = true;
      if(doTrade) {
        // make sure we have room for the new iron, might as well
        // make free plates if we're going to go over the cap as a result

        var iron = gamePage.resPool.get('iron');
        var ironGained = 1.2 * ((gamePage.bld.getEffect("tradeRatio") + 1) * 300);
        var ironSpace = iron.value - (iron.maxValue - ironGained);
        var platesNeeded = ironSpace / 125;
        platesNeeded = Math.round(platesNeeded + 1.5);
        if(platesNeeded > 1) {
          gamePage.craft('plate', platesNeeded);
          gamePage.msg('crafted ' + platesNeeded + ' plates for zebra trade');
}, 10 * 1000);
  • 3
    How do you run said script? Do you just vomit it into the dev console and let it roll or do you have a browser addon or something else entirely? – Nenotlep Sep 25 '14 at 8:44
  • 4
    Console vomit. I am thinking about making a page in the game with like check boxes to turn the widgets I have on and off (I have one for trading zebra, making wood with excess catnip, making beams with excess wood, making plates with excess iron, making steel with excess coal, hunting if catpower gets too high, crafting parchment if furs is high enough, crafting sripts if culture is almost maxed, and praising the sun. Sometimes I want to turn just one or two off, so boxes would help me do that. – corsiKa Sep 25 '14 at 9:31
  • @corsiKa I'm interested in running this script, but I have no idea how to do it. I copied/paste it in the Javascript Console of Chrome, but it gives a syntax error. Do I have to run it somewhere else? – Mathias711 Oct 18 '14 at 21:12
  • 1
    The , 10 * 1000); at the end is the cause of your syntax error. I think might have been an incomplete delete of code like var interval = setInterval(autoZebra, 10 * 1000) which would run autoZebra every 10 seconds. – Ed Brannin Jun 7 at 13:22

Your Answer

