• Dear forum reader,
    To actively participate in our forum discussions or to start your own threads, in addition to your game account you need a forum account. You can
    REGISTER HERE!
    Please ensure a translation in to English is provided if your post is not in English and to respect your fellow players when posting.

Feedback Forge Bowl 2023

Has anyone been able to get the main event building without spending diamonds? I finding it next to impossible to get main event building for free, need 1520 yards for 10 pieces plus one piece for completing all the quests = 11 pcs. At 10 tickets per yard average (using progress coach and picking low cost max movement player) you need 15200 tickets. 56 quests at 130 each = 7280 tickets, 22 daily collections at 120= 2640, quest 15 = 350 tickets, quest 40 = 850 tickets. Total = 11120, add another 200 from incidents gives total collected around 11,300 and need 15,200, so I'm short by 4,000 tickets. This is just about how much short I'm going to be. Will miss by 2 pieces without spending diamonds.. Even if I only played the lowest cost per yard player and assumed I could average 8.5 ticket per yard I still need 12920 tickets. I don't see how one can make it, no way 5500 tickets gets 14 pieces. I spent 6000 diamonds and got the other 2 pieces and I'm still not in Bronze league. Might have got by with 4000 diamonds but didn't want to miss by one piece. 2022 Forge bowl bldg: Fiore was a 10 piece building plus there was the event box thing that gave you an extra piece. I missed by one last year too with no diamonds spent. What am I missing?
Doesn't the questline provide one L1 and two selection kits?
 

Ironrooster

Baronet
My strategy was to limit my playing to 2 days, buy the Ultimate Coach both days, and pick the lowest cost/yard player. I have the level 1 building and 8 upgrades. I will get 1 more upgrade from the Quest line. This still will leaves me short one upgrade kit on the Grand Prize line, but does put me in the Silver League. The selection kit from Silver (or Bronze if I drop down a league in the last 2 days) will give me enough for a fully leveled building.

I have 353 footballs with another 500 coming from the last 2 days for a total of 853. I'm need 128 yards for the last upgrade on the Grand Prize line. So depending on what I get from incidents, what players show up, and using the Progress Coach (for the extra yard) I still will be about 40-45 yards short.

I think the number of footballs in the quest line and/or daily freebies needs to be increased to get a diamond free fully leveled building. Otherwise I think to minimize diamond cost - you need to save all footballs until the last day and spend 150 diamonds on the Ultimate Coach while always picking the lowest cost/yard player.
 

.Chris

Baronet
Has anyone been able to get the main event building without spending diamonds? I finding it next to impossible to get main event building for free, need 1520 yards for 10 pieces plus one piece for completing all the quests = 11 pcs. At 10 tickets per yard average (using progress coach and picking low cost max movement player) you need 15200 tickets. 56 quests at 130 each = 7280 tickets, 22 daily collections at 120= 2640, quest 15 = 350 tickets, quest 40 = 850 tickets. Total = 11120, add another 200 from incidents gives total collected around 11,300 and need 15,200, so I'm short by 4,000 tickets. This is just about how much short I'm going to be. Will miss by 2 pieces without spending diamonds.. Even if I only played the lowest cost per yard player and assumed I could average 8.5 ticket per yard I still need 12920 tickets. I don't see how one can make it, no way 5500 tickets gets 14 pieces. I spent 6000 diamonds and got the other 2 pieces and I'm still not in Bronze league. Might have got by with 4000 diamonds but didn't want to miss by one piece. 2022 Forge bowl bldg: Fiore was a 10 piece building plus there was the event box thing that gave you an extra piece. I missed by one last year too with no diamonds spent. What am I missing?
1200 yds (8x kits) are needed to get the building fully leveled if you do all the quests (1x Lvl. 1 + 2x kits)
 
Quick and dirty on the math: 1200 yards needed for the 8 the kits to complete the building. Choose Ultimate or Progress Coach. Choose only Bronze or Other players (as a group they average 9.76 footballs per yard). Given this, 11,712 footballs will be needed (1200*9.76). 10,670 footballs from all sources except incidents. So, on average, about 1,042 footballs from incidents (or diamonds) will be needed. For F2P players it may be possible, but it will be close, and it will likely come down to getting the Bronze League reward. Same as last year if I remember correctly.
 

GateKeeper

Baronet
I see a few players saying they wont get the max building. If you saved your footballs for that one special daily you want, logged in everyday, and used +1 yard, followed the players with the best yard per football, than you should be able to get a level 11 building.

Currently I have an 8 planted, 9th will come from milestone rewards, 10th will come from 1 more Touchdown in that reward area, and 11th is coming from just being in Bronze league, which yes is a tight race to stay in Bronze.

So it is tight, but doable. I do think the removal of the Surprise Chest (or whatever that event chest was called) item strikes again though.

also remember that players with diamonds will spend this event, that 150 diamonds for all coaches is lovely to stack dailies, and that's why the minimum points are so high just for the Bronze League, figure everyone is buying All Coaches 2-3 times this event, and that's just the regular players.

So @Juber , maybe a kit needs to be added to Amateur League cause of the Surprise Box removal? That would assure your everyday players don't have a bad event taste.
 

UBERhelp1

Viceroy
I see a few players saying they wont get the max building. If you saved your footballs for that one special daily you want, logged in everyday, and used +1 yard, followed the players with the best yard per football, than you should be able to get a level 11 building.

Currently I have an 8 planted, 9th will come from milestone rewards, 10th will come from 1 more Touchdown in that reward area, and 11th is coming from just being in Bronze league, which yes is a tight race to stay in Bronze.

So it is tight, but doable. I do think the removal of the Surprise Chest (or whatever that event chest was called) item strikes again though.

also remember that players with diamonds will spend this event, that 150 diamonds for all coaches is lovely to stack dailies, and that's why the minimum points are so high just for the Bronze League, figure everyone is buying All Coaches 2-3 times this event, and that's just the regular players.

So @Juber , maybe a kit needs to be added to Amateur League cause of the Surprise Box removal? That would assure your everyday players don't have a bad event taste.
This. You only need to get to 1040 yards if you can place in Bronze or higher, which is possible only with the +1 yard coach or the ultimate coach and choosing any player but gold ones, otherwise you'll fall short. Of course, here on Beta that isn't the case, as when I'm writing this bronze league is currently >1417 yards, but on live it should be much more possible where a lot more of the players participate less.

It is a little tighter than I'd like though. I'd suggest adding an extra kit to the questline rather than adding one to amateur, but ¯\_(ツ)_/¯
 

.Chris

Baronet
I missed a couple of log ins; I used the Diamond Coach on two days.
I'm currently in Silver League with 2156 yds (Cutoff 2042 yds as of 12/13/22)

Even if I drop into Bronze I will still get an additional kit. Maybe some people will spend some currency in the last two days, but it should still be enough.

Forge Bowl is the ONE event in which spending 150 Diamonds for the Ultimate Coach is totally worth it.
 

MATR

Squire
Doesn't the questline provide one L1 and two selection kits?
I don't believe so, all the rewards are footballs except 35 and 56 when you also get a portrait. Plus after seeing this questline listing my calculation is higher than what is shown. The first 35 quest only give out 110 footballs, then remaining rewards are 130 footballs. That's 350 less than what I estimated.
Main quest line Forge Bowl 2023
However, y'all have showed me it is only 1200 yard to get all the pieces so you need 1200 tickets at 10 yards per ticket or 11500 if you can manage 9.6 yards per ticket - I'm not sure of the average but I seldom saw less than 9.5 and I saw many 10's. So assuming either 9.5 or 10 I still come up short. Of top of that it would be murder to always pick the player that has the lowest step/cost. Many times he is the guy with medals as the reward, the last thing I need.
here is the updated calc:
FOE Forge Bowl 2023 tickets for main building.jpg
TO get the main building without spending diamonds for tickets you need to average 10620 collected/1200 yards = 8.85 tickets per yard.
 
Last edited:

Ice bear

Squire
I don't believe so, all the rewards are footballs except 35 and 56 when you also get a portrait. Plus after seeing this questline listing my calculation is higher than what is shown. The first 35 quest only give out 110 footballs, then remaining rewards are 130 footballs. That's 350 less than what I estimated.
Main quest line Forge Bowl 2023

See agin and better.... 5 Pergola level1 , 30 Pergola upgrade kit and 56 Pergola upgrade kit. That is 3 levels of Pergola from event quest line.
 

Pass Go

Squire
looks like I will get at maximum a level 8 Pergola from playing the event ..... not going to build it until I get all the upgrades whenever Inno puts them on the Antique Dealer. Again, barely any footballs from incidents, and I collect them all the time.
 

MooingCat

Viceroy
Spoiler Poster
Updating my simulator from last year (or fellowship actually), I get 9.58 handeggs per yard on average using diamond/progress coach. So to get the main building fully leveled, you have to use diamond/progress coach, and either get around 1k handeggs from incidents/diamonds, or end up in top 20%. That should be quite doable with the diamond coach, but wouldn't be so sure you can reach it with progress coach. The diamond coach is definitely worth it, though, you get almost twice the number of daily specials vs progress coach (or you lose out on max building if you go for special coach). If you go for the diamond coach, there is very little difference between going for best option for daily vs yards, they are most of the time the same (or there's very little difference between the best option for each).

Ignore the rations/miles texts, I've updated with values from my fellowship simulation but haven't changed out (all) texts yet).
trinket_plot.png

trinket_plot.png

trinket_plot.png

trinket_plot.png

trinket_plot.png

This is based on my fellowship event simulator, which was based on my forge bowl simulator from last year ... so names and comments are all over the place :p I've updated some, left others, ... so don't think too much about those :)
Code:
from simulation import *
# Choose number of starting Travel Rations and amount from incidents
# Rations from quests, milestones and daily logins = 13000
starting_rations = 10670
incidents = 0

# Choose which hero is active: 
# "Default"  | 3% chance to double reward each play
# "Progress" | +1 yard for each play
# "Special"  | +5% chance to win Daily Special
# "League"   | Double points towards League Table
# "Diamond"  | All above bonuses (costs 150 diamonds)
active_hero = "Diamond"

# Choose what to focus on
# "Mile"    | Focus on maximum mile progress per ration spent
# "Daily"   | Focus on maximum chance of daily special per ration spent
player_focus = "Mile"

# Number of iterations to run simulation. Each simulation 
# simulates a complete event for a player. With enough events simulated,
# a good average and distribution of chances can be determined
# I recommend at least 10k, but preferably more (100k+)
num_iterations = 10000


# If you have python installed on your computer this will run
# faster if you copy the code and run it on your computer

simulation(starting_rations,incidents, active_hero, player_focus, num_iterations)
Code:
import random
import numpy as np
from matplotlib import pyplot as plt
import math


# Hey! You might notice that this is "based on" (95% copy of) my forge bowl simulator, so some names come from that :P
def simulation(starting_rations, incidents, active_hero, player_focus, num_iterations):

    deC = active_hero.lower() == "default"
    yaC = active_hero.lower() == "progress"
    dsC = active_hero.lower() == "special"
    leC = active_hero.lower() == "league"

    if(active_hero.lower() == "diamond"):
        deC, yaC, dsC, leC = True, True, True, True
    
    if not (deC or yaC or dsC or leC):
        print("Incorrect hero, make sure you spelled the hero correctly:")
        print("\"Default\", \"Progress\", \"Special\", \"League\", \"Diamond\"")
        return
    
    print("Hero chosen:",active_hero)

    if(player_focus.lower() == "daily"):
        maxDs = True
        print("Focus: Daily Specials")
    else:
        maxDs = False
        print("Focus: Miles")

    eggs = starting_rations+incidents
    print("Total Travel Rations:",eggs)

    print("Total Events Simulated:",num_iterations)

    d = 0
    y = 0
    costs = [49,48,41,60,64,62,74,76,78,104,101,105]
    yds = [4,4,4,5,5,5,6,6,6,7,7,7]
    ds = [0.05,0.05,0.05,0.08,0.08,0.08,0.1,0.1,0.1,0.12,0.12,0.12]
    dailies = []
    yards = []

    def bestD(ids):
        # return random.choice([x for x in range(len(ids))])
        dCost = [costs[ids[x]]/(ds[ids[x]]+0.05*int(dsC))
                 for x in range(len(ids))]
        b = min(dCost)
        return dCost.index(b)

    def bestY(ids):
        # return random.choice([x for x in range(len(ids))])
        yCost = [costs[ids[x]]/(yds[ids[x]]+1*int(yaC))
                 for x in range(len(ids))]
        b = min(yCost)
        return yCost.index(b)

    print("Progress:")
    for i in range(num_iterations):
        if i % int(num_iterations/10) == 0:
            print(str(round(100*(i/num_iterations))), end="% ")#end=" %\r")

        e = eggs
        d = 0
        y = 0
        while True:
            # Pick 3 players
            ps = [0,3,6,9]#random.sample([0, 3, 6, 9], 3)
            num = [random.choice([0, 1, 2, 4]), random.choice(
                [0, 1, 2, 4]), random.choice([0, 1, 2, 4])]
            ids = [ps[x]+num[x] for x in range(3)]

            # Check if you can afford any of the players, remove the ones you can't or exit if you can't afford any
            if e < 150:
                for x in range(3):
                    if e < costs[ids[2-x]]:
                        del ids[2-x]

                if(len(ids) == 0):
                    break

            # Get best choice
            if maxDs:
                b = bestD(ids)
            else:
                b = bestY(ids)
            b = ids[b]

            # Update results based on choice
            e -= costs[b]
            if(random.random() < ds[b]+0.05*int(dsC)):
                d += 2 if (random.random() < 0.03) and deC else 1
            y += yds[b] + 1*int(yaC)

        dailies.append(d)
        yards.append(y)

    print()
    print()


    # Show plots of results
    showplot = True
    if showplot:
        label = "Daily Specials"
        rmin = min(dailies)
        rmax = max(dailies)
        #freq, bins, patches = plt.hist(dailies, edgecolor='white', label=label, bins=range(rmin, rmax, 1))
        
        fig, ax = plt.subplots(2,1,figsize=(10,10))
        fig.suptitle("2023 Forge Bowl Estimates\n Total Rations: " + str(eggs) + " | Coach: " + active_hero +" | Focus: " + player_focus + " | Iterations: " + str(num_iterations) )
        ax[0].hist(dailies, edgecolor='white', label=label, bins=range(rmin, rmax, 1))
        

        print("Average Daily Specials:", np.average(dailies))
        #bin_centers = np.diff(bins)*0.5 + bins[:-1]
        n = 0
        '''
        for fr, x, patch in zip(freq, bin_centers, patches):
            height = (freq[n]/len(dailies))
            ax[0].annotate("{}".format(height),
                         # top left corner of the histogram bar
                         xy=(x, height*len(dailies)),
                         # offsetting label position above its bar
                         xytext=(0, 0.2),
                         # Offset (in points) from the *xy* value
                         textcoords="offset points",
                         ha='center', va='bottom'
                         )
            n = n+1
        '''
        ax[0].set_yticklabels([])
        ax[0].set_title("Daily Specials")
        ax[0].set_ylabel("Probability")
        ax[0].set_xlabel("Number")

        label1 = "Miles"
        rmin1 = min(yards)
        rmax1 = max(yards)
        #freq, bins, patches = plt.hist(yards,edgecolor='white', label=label1, bins=range(rmin1,rmax1,1))
        ax[1].hist(yards, edgecolor='white', label=label1, bins=range(rmin1, rmax1, 1))

        print("Average Miles:",round(np.average(yards),2))
        print("Grand Prices:",math.floor(np.average(yards)/80),"(+"+str(round(np.average(yards)-80*math.floor(np.average(yards)/80),2))+" miles)")
        #bin_centers = np.diff(bins)*0.5 + bins[:-1]
        #n = 0
        '''
        for fr, x, patch in zip(freq, bin_centers, patches):
            height = (freq[n]/len(yards))
            ax[1].annotate("{}".format(height),
                        xy = (x, height*len(yards)),  # top left corner of the histogram bar
                        xytext = (0,0.2),             # offsetting label position above its bar
                        textcoords = "offset points", # Offset (in points) from the *xy* value
                        ha = 'center', va = 'bottom'
                        )
            n = n+1
        '''
        
        ax[1].axvline(x = 1040, color = "g",label="Required (with league)")
        ax[1].axvline(x = 1200, color = "r",label="Required (w/o league)")
        ax[1].set_yticklabels([])
        ax[1].set_title("Miles")
        ax[1].set_ylabel("Probability")
        ax[1].set_xlabel("Number")
        ax[1].legend()
        

        ups = []
        for i in range(len(yards)):
            num = math.floor((yards[i]+80)/160)+3
            ups.append(num)
        
        umin = min(ups)
        umax = max(ups)

        print("\nChance of number of Pergola levels (11 needed):")
        for i in range(umin,umax+1):
            print(i,"Levels:",round(100*(ups.count(i)/len(ups)),1),"%")
        print("Note: does NOT count surprise box or league placement")
        plt.show()
 
I saved all my balls for yesterday and today, got the golden coach and only ended up with level 8 building (3 from the tasks). Right now I'm in the bronze leauge which is +1 but will probably be knocked down tomorrow to amateur.
 

kawada

Marquis
It’s so frustrating - both Forge Bowl on beta and Winter event on live are full of trashy daily prizes. Every morning I switch a daily reward to get disappointed again :(
 
Top