Bracket Builder

>traynrex RED<
Frequently Asked Questions / Scenarios

This is a collection of topics that frequently come up while building brackets using BracketBuilder. We're always looking for more topics to add here, so please let us know about things you run into often and how you solve them.

Selecting where a game gets inserted

Most of the time, BracketBuilder does a good job figuring out how to place a game on the bracket, including shifting other games around to make things fit. Sometimes, though, you just want a game to go in a specific place. There are a few things you can do.

Choose the day for the game

The most common selection for inserting a game is to just click somewhere in the column for the day you want the game to be placed on.

Be careful, if you click in a cell that is close to where BracketBuilder might place the game, then it might get confused and think you are actually asking for a specific place. The best way to avoid this is to click at the top of the column you want to insert in.

Choose the starting cell for the game

If you only want to tell BracketBuilder where you would like a game to start (i.e. where the top of the game should be), then just click in the cell where you want the top team name to be.

When you do this, BracketBuilder will try to insert the game at this location. Note that if there are game conflicts (overlapping games, etc), then BracketBuilder might still try to adjust your selection. The most common automatic adjustments:

  • Insert the game above your selection - BracketBuilder will do this if it thinkgs that flipping the game top/bottom will make it fit better
  • Insert the game two cells up or down from your selection

Since BracketBuilder is trying to insert where you are asking it to, this sometimes means it gets confused when you have clicked in a column and you aren't asking for a specific place. If you are being told that you can't insert a game at the requested location and you aren't trying to ask for a specfic place, then just click in a cell at the top of the column you want to place the game in.

Choosing the exact range for the game

This is the most specific way to tell BracketBuilder where to put the game. When you do this, BracketBuilder will place the game at your selection even if it means breaking the bracket

BracketBuilder will still make some adjustments even when you specific range:

  • Move the game up or down 1 row to make it fit better
  • Grow or shrink the game by 1 row to make it fit
  • Rearrange the games on the grid in order to make it fit

What is Smart Game Insertion?

BracketBuilder tries to make adding games as easy as possible, but that can be pretty hard sometimes. It tries to do what you want when you insert a game, but sometimes you might want it to do something automatically, and sometimes you want it do just do exactly what you told it to do.

If you only have a single cell selected when you insert a game, BracketBuilder will try to insert the game in the best possible location based on a bunch of rules.

A lot of the rules around where games go are based on game dependencies. These help BracketBuilder figure out where a game has to go in the bracket.

Automatic day detection

For the most part, you have to choose what day you want the game to be added to before you add the game.

If the current cell isn't in a Team column, then BracketBuilder will guess which day you are trying to insert into.

If you are in a Score column, then it will guess you mean the day that starts in the column immediately to the left. For example, if you have selected column E (which is a score column), then it will assume you mean to insert into column D.

If you are in a Line column (one of the very narrow columns that is used to draw the game lines), then it will guess you mean the day that starts in the column immediately to the right. For example, if you have selected column F, then it will assume you mean to insert into column G. (It makes this assumption because visually, that Line column looks like it is under the next day, not the previous day)

Inserting a game with no dependencies

If a game is the first game in the bracket for two teams, or if both the top and bottom teams for the game come from the losers of the preceding game, then the team has no incoming dependencies. If the winner of this game advances to a game that is not already on the bracket, then the game has no outgoing dependency either.

When a game has no incoming or outgoing dependencies, then the game has very few restrictions about where it will be placed. The game will be placed in the next available location on that day. To figure this out, it looks at all the games on the bracket and tries to avoid being too close to anything already on the bracket.

One thing that it considers is where future games might show up on the bracket. It will avoid these overlapping game results.

Inserting a game with incoming dependencies

Every game has two teams (top and bottom). Most of these top/bottom teams come from the results of a previous game. One or both of these teams are the winners from a previous game, then BracketBuilder will draw a connecting line between the result of the game and the game being inserted. These are incoming dependencies.

When you place a game that has incoming dependencies, then it will try its hardest to make sure the connecting lines really do connect between the games.

Insert a game with outgoing dependencies

Every game (except the champion) has a winner and feeds into another game on the bracket. If you add a game to the bracket that already has its outgoing dependency on the bracket, then the game will be placed so it feeds into that game.

This doesn't usually happen when you are building a bracket, but if you remove a game for some reason from the middle of the bracket, when you add it back (maybe on a different day?), then it will try to reconnect all the dependencies.

First game of the tournament

For the very first game placed in the bracket, you don't have to select the day. For example, if you just leave cell A1 selected, when you insert the first game, then you selection will get automatically moved to the first day of the tournament. This is the only time BracketBuilder will jump to a particular day to play a game. Maybe a future release will automatically move the selection to the next day automatically when a game can't be placed, but for now you have to manually move the selection to the next day.

Guessing Field Times

When you create the bracket workbook, all of the games are played at 12:00am (midnight) on a field called Ballfield. Clearly this isn't real, but we have to start somewhere.

The games on the bracket all get their Field and Time information from the TeamsAndFields sheet. This means you can update all the Fields and Times for each game by just changing the TeamsAndFields sheet.

The problem with having everything on the TeamsAndFields sheet is that it can be hard to tell the games apart when just looking at them, especially before the games have been added to the bracket. To make this process a little easier, BracketBuilder will assign different fields and times to each game based on some basic rules.

Field Rules

On the Games sheet, one of the Tournament Information items is the number of fields in the tournament. By default, the tournament has 2 fields. If you want a different number of fields automatically used, change this number before you start adding games.

When you insert a game, BracketBuilder will try to figure out what the next field should be. It does this by looking at the latest game played on that day, and then it looks at the largest field number used (Field #1, Field #2, etc).

After it knows the last field used in the last time slot of the day, it will figure out if it can use another field at that time slot, or if it has to advance to a new time slot. For example, if the tournament has 3 fields and the last game was at 1:00pm on Field #2, then we can play another 1:00pm game on Field #3. If the last game was already on Field #3, then we would have to move to a later time slot (slots are 3 hours long), which would be 4:00pm on Field #1.

Time Rules

The first time slot of the day is determined by the day of the week:

Saturday
First game slot is 9:00am
Sunday
First game slot is 10:00am
Weekday
First game slot is 6:00pm

Game slots are always 3 hours, so the 2nd slot on weekdays is 9:00pm

Fixing up Field Times

BracketBuilder isn't trying to get the fields and times corrent as you insert the games. All its trying to do is make it obvious which games are which when you look at the TeamsAndFields sheet.

After you create the bracket, you should be able to quickly replace "Field #1" with the correct field name. Likewise, if your Saturday games start at 10:00am and are 3.5 hours long, then you can replace all the 9:00am games with 10:00am, all of the 12:00pm games with 1:30pm, and so on.

What are game dependencies?

Each game has two teams playing. With the exception of the first game for each team, each of these teams comes from a previous game -- either the winner or the loser of that game. BracketBuilder will connect the winner of a game with the next game that the winning team will play.

The bracket is laid out with each column as a day of the week. (Actually, you can have more than one column for a day, but we'll cover that later). Each game will be in one of those columns in the bracket. This means that every game has to be placed in a column after all of the games that feed into it. These are called the game dependencies.

For example, if Game 19 is played between the winner of game 15 (W15) and the winner of game 13 (W13), then Game 19 has to be in a column after both games 15 and 13. If you try to place a game in the same column as one of its dependencies, then BracketBuilder will tell you it can't insert the game, and it will suggest what column you have to put the game in.

If you need to play two games on the same day, see the section on Creating Double-Headers.

What does it mean when the "Bracket Isn't Ready"?

Lots of commands can't be run until you have create a bracket first. For example, you can't apply the finishing touches to a bracket if you haven't created the bracket yet.

If you get an error telling you that a command isn't available until the bracket is ready, then you just have to create the bracket

If you are getting this error and you DO have a bracket already created, then this means that something in the workbook is broken and BracketBuidler doesn't recognize the workbook any more. At this point its probably best to just start over and create a new bracket.

(Re)Creating a Bracket

Many times its easier to just start from scratch when something goes wrong. If you know where you are going to place the games, its pretty straightforward to just create a new bracket. Here are some tips for starting over that should help you save time

Copy your team names

If you already filled out your team names, then just copy the names from your old sheet to your new workbook. Remember, PASTE BY VALUE!

Copy your tournament information

Again, if you have already filled out tournament information (like the title, location, etc), then copy that information from your old sheet. Again, be sure to PASTE VALUES only -- you don't want to accidentally paste any formulas or cell names!

How do I create a double-header?

There is no way to place a game in the same column as one of its dependencies. There is nothing that says you can't have more than one column for any given day, though. In fact, we do this already when we extend the last day of the tournament to include the champion game (which isn't really a game, its just the fancy place we put the name of the tournament champion).

Someday, maybe we'll make a bracket command to make a day take up more columns, but for now its a manual process. This is also a good step-by-step guide on how you can really tweak the schedule!

Scenario: Double header for the what-if game

Let's imagine we have a 4 team bracket, and we want to play the what-if game on the same day as the championship game as a double-header. We want the championship game at 3pm and the what-if will be at 6pm.

To do this, we are going to merge two of the days together in the header so that a single day now has two columns. We also have to fix the day formulas. There are several steps:


First, determine which days you want to merge. You can merge as many days as you want, but this example will only demonstrate two days.

Select the two cells for the day-of-week to merge. You have to merge the day-of-the week cells (Monday/Tuesday/Wednesday) and the date cells (June 19, June 20, June 21) separately, so for the first step, only select the day-of-the-week cells.

On the home tab, find Merge and center button on the alignment chunk -- it should be in the depressed state, showing that the current selection is already merged. Click on Merge and center to unmerge the cells.

After the day-of-the-week cells are unmerged, you should still have the cells selected which will make it easier to merge both days all together. If all the cells aren't selected, that's ok -- you just have to reselect them. Be sure to select all of the cell between the lines (in this example, select M5:Q5)

Now we want to merge both days together. With the cells selected from the previous step, click the button again. When you do this, you will get an Excel warning about merging contents, click OK. We will fix up the formulas in the next step.

The day-of-week cells are now merged together. We still have to deal with the date cells.

Repeat this same procedure for the date cells in Row 6 that you want to merge together.

With the day-of-week and the date cells merged together, we have now created multiple columns for a single day. Unfortunately, that warning that Excel gave about merging cells actually mattered. When we merged the cells, we broke the date formulas for the later days. To fix this, we have to fixup the formula for the broken day.

Click on the cell with the broken date (S6 in this example)

The formula bar will show the current (broken) forumula ("=P6 + 1" in this example)

Type the correct formula, using the correct column for the previous day ("=M6 + 1" in this example)

All done!

When all is said and done, this is what you will end up with.


Why is my bracket broken?

When you get an error about the bracket being broken, there's not a lot you can do to fix it. This error means that something internal on the workbook has become broken or inconsistent. It might be that a part of a game didn't get inserted, or a game was partially removed. It also could be that a game ended up getting inserted on top of another game.

If you are really daring, you can try to erase the parts of the bracket that are confusing things. If you want to do this, make sure to clear not just the contents of the cells, but also the names of the cells (remember that BracketBuilder uses named cells in order to keep track of where games are on the bracket). Selecting cells and using the button might help you do this.

When all else fails, sometimes its just easier to start over with a new bracket. When you do this, make sure you insert games in the places you want them to be in (since you now know where you want them).

Why is BracketBuilder complaining about the insert location?

When you click the Insert Game button, BracketBuilder will try to figure out where to place the game. One thing it can't figure out on its own is what day to place the game on. (Actually, for the very first game of the tournament, it will automatically put the game on the first day).

This means that you need to tell BracketBuilder which day to use. To do this, you have to click on a cell in the column for the day you want the game to be on. If you click at the top of the column, then BracketBuilder will automatically pick what it thinks is the best spot for the game. If you click somewhere else in the column, then it will try to place the game as close to that position as possible

If you have selected more than once cell, then BracketBuilder will treat this as exactly the location you want to insert in (plus or minus one row). If this selection isn't within the grid, then you will get an error message.

The bracket is laid out on a repeating grid of rows/columns which makes it possible to format the connecting lines and create the bracket you see. The repeating columns are pretty easy to see since each set of 3 columns make up a day in the tournament. To find the repeating row pattern, look for the really short rows on the sheet -- by default, these start with Row 11.

To specify an exact game location on the bracket, you have to select a cell that is on or after the first cell in the repeating grid pattern. If you don't, you will get an error. The error should tell you which cell is the first in the grid.

Why did I get an insertion failure when I tried to add a game?

When you add a game to the bracket, lots of things can go wrong. The insert failed error is sort of a catch all for all of these failures. Hopefully the error message gives you some more details about what you can do to fix the problem.

Overlapping games

For example, a game might fail because BracketBuilder can't insert the game without the new game overlapping an existing game already on the bracket. In many cases, it can adjust the bracket to make things fit, but it only knows so many tricks.

The error message should tell you where on the grid the overlapping game or line is. To fix it, you will probably have to remove games (or use Undo) to get back to a poing when you can start adding games back in a different order, or at different places (by manually selecting the game location).

Remember, if the bracket was automatically reorganized earlier, it will probably be best to use Undo since that will also undo the bracket adjustments

Overlapping game results

One of the things that BracketBuilder checks when inserting a game is whether or not an existing game on the bracket is going to have a line coming out of it to another game. It knows that every game (except the champion) has to connect to another game later in the bracket. These connection lines can't cross over another game, so BracketBuilder uses this information to make sure it doesn't put any future games in the bracket in a place that would overlap.

For example, if you have a game between the two games that need to play each other, when you try to place that next game, the insert will fail because the result of that game in the middle would run into the game you are about to place. To fix this, you have to either remove the game in the middle, or rearrange the grid so the two games that feed into the next game are next to each other. NOTE: in reality, BracketBuilder knows how to fix this particular example and would automatically rearrange the grid for you. But in a bigger bracket, with more games already played, it probably won't be able to fix it automatically.

Feeder conflicts

Every game can have up to two lines, or feeders, coming in to it. These are the winning teams from previous games. Every game also has an outgoing feeder, which is the winner of the game. When BracketBuilder tries to place games, it uses what it knows about the bracket structure to connect games with incoming and outgoing feeders. If the games on the bracket are placed in a way that makes it impossible to connect games with their sources or results, then you will get an error about not being able to connect feeder lines.

Unfortunately, the only way to fix this at this point is to either Undo or remove games to the point where you can manually place games to make things work. Alternatively, you can just start over with a clean bracket and use what you know about how the bracket is going to lay out in order to manually choose places for the games to go.

What do I do with fatal errors/exceptions?

I've tried to make BracketBuilder as robust as possible, but sometimes unexpected things happen. Currently, I do not send error reports. This means that you might see a fatal error/exception show up with an ask for you to send the details information to us to try to fix. This is absolutely voluntary, but much appreciated.

If you want to help out, copy all of the details from the error message and email them to red@traynrex.com

NOTE: If you send email to us, then we will see your email address. If you want to remain anonymous, please don't send a report to us. We promise not to sell or share any of your details (see our Privacy Policy). In fact, we won't even contact you for further information unless you explicitly tell us this is OK your email message.

THANK YOU from the Traynrex Red engineering team.

What if I want a modified double elimination bracket?

By default, BracketBuilder knows how to make standard double-elimination tournament brackets compatible with Little League. You can find lots of details of creating your own custom brackets here.

Little League also supports a Modified Double Eliminiation bracket where the tournament progress like a standard double elimination, but the championship game is a winner-take-all game. There is no what-if game. This means that if the undefeated team loses the championship game, then the tournament is still over even though that team only lost one game in the tournament.

The easiest way to accomplish this is to start with a standard bracket and make a small change to the bracket definition.

First, lets start with a 5 team double elimination bracket. Start out by selecting a 5 Team bracket and build it. You will get all the expected sheets (Games, TeamsAndFields, BracketInfo, and BracketDefs). To make this a modified double elimination bracket, we will be changing the BracketDefs sheet.

If you go to the BracketDefs sheet, you should see the definition for the 5 team double elimination bracket as shown.

In order to make this a modified double elimination bracket, we will be getting rid of the the what-if game in the tournament.

Look at game 8 in the bracket. The Winner is defined to go to the Top of Game 9 and the Loser goes to the Bottom of Game 9. In a modified bracket, the loser of Game 8 goes nowhere -- they are eliminated. Let's delete the B9 value in the Loser column of game 8. This makes game 8 our championship game now.

The next change is to make Game 9 our champion. Delete The T10 from the Winner column of Game 9, and delete L8 from the Bottom column for Game 9. This means that Game 9 has no winner or loser advance values, and it also means that there is no bottom team defined for Game 9. This makes this our champion.

The last thing to do is to delete the Game 10 line entirely since it is no longer needed. Just delete the whole row.

Now we have a modified double elimination bracket for 5 teams. Go back to the Games sheet, and right click on the BracketBuilder add in and Refresh it. (In Excel on the Desktop, just choose Refresh. In Excel on the Web, choose "Refresh Frame"). This will cause the addin to reload the bracket.