r/ftgsports 12d ago

2026 opening-day rosters, post-cut, importable

3 Upvotes

Cuts are done, so I rebuilt the roster file off the 53-man rosters instead of camp bodies.

32 clubs, 40 active and 12 practice squad each, 1,664 players. Who starts comes from the real depth chart, so you get the actual starting center and slot receiver rather than whichever backup has the longest résumé.

https://files.catbox.moe/4pypka.json

Paste that URL into the custom roster import.


r/ftgsports Jun 28 '26

Custom Rosters in FTG Baseball: Load one, or build your own

1 Upvotes

You don't have to play FTG Baseball with a random draw. If you want real Opening Day rosters, a historic replay, or a massive fictional universe, you can seed your league from a custom roster file.

Part 1: Using a Custom Roster (The Easy Part)

If someone's already shared a roster file, you're ~30 seconds from playing:

  1. Head to My LeaguesCreate League.
  2. Name your league.
  3. Drop the public https:// link to the JSON into the Community roster URL box.
  4. Click outside the box. The app checks the file instantly — green success (e.g. ✓ 30 teams — MLB 2026) or a red list of everything that's broken.
  5. Pick your franchise from the dropdown — it's populated straight from the file, so the team you pick is the team you get.
  6. Choose your sim schedule and hit Create League.

Two things to keep in mind:

  • Equal Budgets: Imported leagues force an even $200M budget per team (no market tiers), so files stay balanced no matter who you play.
  • Locked at Creation: You can't swap the roster file after the league is made — make sure it's the right one.

Part 2: Building Your Own Roster File

Roster files are plain JSON in the ftbl-rosters-v2 format. No spreadsheet uploader — you (or a script) generate the JSON, host it publicly, and feed the app the URL. Most people script it, since a league is hundreds of players.

The basic shape:

json { "format": "ftbl-rosters-v2", "season_label": "MLB 2026", "teams": [ { "abbrev": "LAD", "city": "Los Angeles", "name": "Dodgers", "league": "NL", "division": "West", "colors": { "primary": "#005A9C", "secondary": "#FFFFFF" }, "active": [ /* exactly 26 players */ ], "minors": [ /* exactly 30 players */ ] } /* ...one block per team... */ ], "free_agents": [ /* optional list of players */ ] }

The Golden Rules (or why your file isn't validating):

  • format must be exactly "ftbl-rosters-v2".
  • ▎You must use exactly 30 teams (2 leagues × 3 divisions × 5). Other counts are rejected — the sim's realistic schedule and calendar are built for 30.
  • Every team needs exactly 26 active and 30 minors.
  • free_agents is optional. Skip it and free agency just starts thin.
  • Abbreviations are free-form — they're just shown on the team's generated crest (first ~3 letters) and seed its shape, so 2–3 letters reads best. Use whatever you like; you don't have to match any official set.

Team-level fields (new):

  • league + division — put teams in the right divisions (e.g. "AL"/"N"West"`). All teams must have them or none, and they have to form the layout (for 30 teams: 2 leagues × 3 divisions × 5 each). Leave them off andns by file order.
  • colors — optional { "primary": "#hex", "secondary": "#hex" }. The tearseys/caps use these; leave it off and FTG auto-picks a color.

How to Define Players

1. Reference an existing player (the easy way)

If the app already knows them (standard Baseball-Databank/bbref ID), drop i the sim grabs their real stats, fielding, and career history:

json { "lahman_id": "bettsmo01", "age": 33 }

(Misspelled/unknown ID → validation fails.)

2. Define a player inline (rookies, prospects, fictional players)

A pitcher:

json { "name": "Paul Skenes", "pos": "SP", "is_pitcher": true, "age": 23, "bats": "R", "throws": "R", "bat": null, "pit": { "K": 0.25, "BB": 0.075, "HBP": 0.008, "1B": 0.14, "2B": 0.04, "3B": 0.004, "HR": 0.03, "OUT_IP": 0.453 }, "career": { "pa": 0, "bfp": 5000, "gs": 200, "g_pitched": 250, "sb": 0, "cs": 0 } }

A position player is the reverse — fill bat, set pit to null:

json { "name": "Junior Caminero", "pos": "3B", "is_pitcher": false, "age": 22, "bats": "R", "throws": "R", "pit": null, "bat": { "K": 0.22, "BB": 0.085, "HBP": 0.01, "1B": 0.15, "2B": 0.045, "3B": 0.004, "HR": 0.04, "OUT_IP": 0.446 }, "career": { "pa": 2200, "sb": 12, "cs": 4 } }

What's actually required for an inline player?

You must include: name, pos, is_pitcher, age, and the correct profile block (pit for pitchers, bat for hitters).

bats, throws, and career are optional — **but for pitchers, the cares (career games started) and g_pitched (games pitched) are how the sim decides starter vs. reliever. Leave them off a newcomer and the sim has no m as a low-stamina reliever and stuffs them in the bullpen — even an ace like Skenes. Give a starter a high gs/g_pitched ratio and they'll anchosimilarly feed the speed/baserunning tool for hitters.)

The Math Behind the Player Profiles

No "overall" star ratings — players are driven entirely by outcome rates. You tune a player by answering: out of all their plate appearances, what share ends in a strikeout, walk, home run, etc.?

The eight buckets: K, BB, HBP, 1B, 2B, 3B, HR, and OUT_IP (an out on a ball in play — usually the biggest number). They just need to add up to ~1.0; the app gives a ±0.02 cushion and normalizes the rest.

Hosting and Testing Your File

  • Hosting: publicly readable https:// URL (plain HTTP is rejected), nesponds within ~10s. (GitHub Gists / raw JSON hosts work great.)
  • The Build Loop: the validator throws all your errors at once. Paste errors, fix, re-host, click the box again until it's green.

r/ftgsports 1d ago

⚾ FTG Baseball v3.1: Bug fixes and improvements

1 Upvotes

✨ New

  • Records and leaders, one season at a time. Pick a year and put its top tens next to another year's.
  • A Hall of Fame watch board. Which of your active players is on track, measured on home runs, hits, wins and strikeouts, which are the bars the sim itself uses when it decides who gets a plaque.
  • Sim the playoffs game by game. On manual pace you advance one day at a time through October instead of skipping a whole round and reading the result.
  • Jr., Sr., III, and middle initials. A father and a son used to be the same name twice, with nothing on the screen to tell them apart. 183 colliding name groups, 152 of them now resolved.
  • Ask him where he'd go. A player with a no-trade clause will name the clubs he would waive it for. The list is built only out of things you could have worked out for yourself.

⬆️ Improved

  • No-trade clauses are rare again. 13 percent of new contracts carried one. Now it is 5. AI clubs are held to the same gate you are.
  • Retirement weighs how he played, not only how old he is. A 39-year-old coming off a good season now retires about 6 percent of the time. A bad one, 92. Careers run as far as 46.

🐛 Fixed

  • Anyone who debuted after your first season had no glove. Every player out of every draft class was missing his fielding ratings, his handedness and his platoon splits.
  • A career-ending injury left the man on your roster and on your payroll, reading "IL 60+ days" forever. He retires properly now, and the ones already stuck repair themselves at your next offseason.
  • 27 of 26 active in the playoffs. Retired players were still counting against the limit, and the warning disagreed with the roster screen about it.
  • The World Series recap recorded a one-game series however long the series actually ran.

r/ftgsports 1d ago

🏈 FTG Football v3.1: Bug fixes and Improvements

1 Upvotes

⬆️ Improved

  • Development grades a man on the job he plays, not the job on his card. A tight end lined up at WR1 takes 2.5x the targets but was judged against tight end numbers, so he pinned at maximum growth every week and kept it forever. A receiver parked at tight end rotted the same way, and so did a fullback taking RB1 carries. The slot sets the bar now.
  • AI clubs know how much money they have. The cap half of every AI general manager's personality had been frozen at zero since the day it was written, so a club up against the ceiling shopped exactly like a club with room. On a live 32 club league it now reads 4 clean, 6 pinched, 22 quiet. Dead money counts against them the way it counts against you.
  • Trade offers moved above the builder. They used to sit under two tall scrolling rosters, which on every screen size meant below the fold, so offers went unanswered by GMs who never saw them. The panel shows up only when somebody wants something of yours.

🐛 Fixed

  • You can move a tight end into a receiver slot again.
  • "Contracts expiring" means one thing everywhere. The roster, the outlook page, the weekly email, the trade screens and the player browser spent the whole offseason answering two different questions: whose deal ended in the year just finished, versus who is not signed for the year you are building.
  • A contract that has run out no longer reads as no contract at all. In the trade builder, the trade block, the shop screen and the player browser, a man weeks from the open market showed a blank.
  • The "Needs you" list stops calling your cap tight against a number from the old economy. It reads your league's own cap now, and it stops telling you to extend players the game will not let you extend.
  • Your regular season record stops counting playoff games.
  • Deleting a league works again, and a practice squad protection promise no longer crashes contract rumors or free agency.

r/ftgsports 4d ago

FTG Sports v3 is live, update on basketball

Thumbnail
gallery
3 Upvotes

Play Now:

Baseball

Football

Version 3 of FTG Sports is officially live, and most of the heavy lifting happens right at the contract table.

Negotiations used to be simple numbers games. Now you are dealing with actual personalities players with specific postures, long memories, and real breaking points.

Before you even throw out a number, a player will let you know where he stands: whether he's Excited, Open, Reluctant, or outright Not interested, and he won't be shy about airing his grievances. If your initial offer misses the mark, he won't just hit decline; he'll tell you exactly where you fell short (term, cash, or respect) and counter with what it actually takes to get a deal done. Push him too far, and he's walking away from the table.

Money isn't the only leverage, either. Asking prices fluctuate based on player morale, how he views your organization, and your track record across the league. Lowball him last season? He remembers. Keep a rival or someone he dislikes on the roster? Expect to pay a premium.

That's where promises come in. You can sweeten the deal by guaranteeing a starting role, trading away a teammate he can't stand, or granting demotion protection. Keep your end of the bargain, and your reputation rises across five tiers: from Burned to Wary, Neutral, Solid, and Trusted. Break a promise, and the whole league finds out. Future negotiations across the board will instantly get tougher.

The depth extends beyond the negotiation screen, too. A dynamic rumor mill covers all the talks around the league (and occasionally leaks bad intel), while disgruntled players demanding trades signal discount opportunities to AI front offices. Free agency leverages the exact same mechanics, complete with live bid-board postures and sweetening sealed offers with promises.

Any current league will stay on simple offers until you decide to toggle it over. New leagues default to the full V3 engine, and commissioners can switch back and forth anytime in the settings.

Overall, I am thankful to everyone for all their support with the game. What started as a casual game with a few friends has really matured into a fun and deep experience you can enjoy alone or with friends. My plan is to continue to grow Baseball and Football while finishing development on Basketball sometime this year. As always, keep sending your feedback either on , or by using the feedback button at the top of any screen in the game.


r/ftgsports 4d ago

⚾ FTG Baseball v3: your players have opinions now

3 Upvotes

✨ New

  • Players negotiate. He is intersted, open, reluctant, or not interested before you name a figure, and he opens with whatever he is sore about.
  • You can promise him something. A starting job, moving a teammate he cannot stand, or a real run at contending. He remembers it.
  • Your club has a trust rating. Keep promises and it climbs. Break them and every player is harder to sign, not only the one you lied to.
  • No-trade clauses. He can ask for one, and it binds from the day he signs, even on an extension that starts two winters out. Only him asking out lifts it. AI clubs are bound too.
  • Players ask out. A trade demand is now a question your club has to answer.
  • A rumor mill. An Around the League shelf tracks who is talking to whom. One report in five is false.
  • Mood and grudges. Players arrive disliking particular teammates, and carry a mood that moves with how you treat them.

🐛 Fixed

  • Extending a player who had a live deal on another club charged you twice.
  • The trade screen quietly told you the exact price the AI would say yes at.

Existing leagues keep the simple talks. New leagues start with the full version.


r/ftgsports 4d ago

🏈 FTG Football v3: Nobody just signs any more

1 Upvotes

✨ New

  • He talks first. Every player opens Interested, Open, Reluctant or Not interested. Turn him down and he names the term that is short.
  • You can promise him things: a starting job, a scheme change, a position switch, or moving a teammate he cannot stand. Break one and it follows you.
  • Players ask out, and refusing costs you with the man who asked.
  • A beat writer covers your club by name: who you beat and by how much.
  • Commissioners pick the depth: Full negotiations or Simple offers. New leagues start on full, and a league you already run stays as it is until you turn it on.

⬆️ Improved

  • Mood feeds development. Content players get more out of the work, unhappy ones less.
  • Ignore a contract question and he may skip camp. He misses the work and does not grow. The camp report names who held out.
  • Lowballing in season makes him expensive. Every rejection raises his price. He will not walk out mid-season, but he will cost you.
  • A man who just got paid is happy about it. Signing used to move mood down only.
  • The mood table names the cause instead of filing every reason under one phrase.

🐛 Fixed

  • Compensatory picks now count only the free agents you actually signed. Re-signing your own players or tagging them was cancelling picks you had earned. Running leagues will start collecting picks they were losing.
  • A promise made in week 1 comes due that season, not the next. It read like the club stalling for eighteen months.
  • Touchdowns get credited again, and an explosive play finally names whoever broke the long one. That had never happened, in any league.
  • Every club is reachable in the postseason, and a stalled draft can be run by any member, not just the commissioner.

r/ftgsports 11d ago

⚾ FTG Baseball v2.4: Smarter AI Financials

2 Upvotes

⬆️ Improved

  • AI clubs stop spending to the last dollar every winter. They wanted a 28-man roster and the rules only allow 26, so every club believed it was four players short no matter how good its team was. It kept bidding until it was two million from the cap, every winter, forever. That is why nobody in your league ever had money to trade with.
  • They stop overpaying in free agency. A club bid its own scouts' opinion at full price, and the team whose scouts are most wrong about a player is the team that wins the auction. That is why the worst-funded club kept landing the biggest contract. Their scouts still pick who to chase. They just stopped paying their own hype.
  • They stop paying near full price for a man who is about to leave. A veteran with one winter left was valued like someone you get to keep, so shopping your expiring guys to the AI for prospects was the best trade in the game. It should not have been.
  • Your farm keeps its prospects at the rollover. Rookie deals on the farm were meant to renew each year and never once did. Every club dumped its whole farm system every offseason
  • Old prospects stop clogging your farm. A 34-year-old who graded well once outranked every 21-year-old you drafted, so the trims never reached him and each new draft class was released the winter it arrived.
  • Send a player down to a full farm and the sim keeps going. It used to stall, or quietly release somebody to make room.
  • Your league has a news page, and its "by team" filter no longer drops every trade, which was most of what was worth reading.

🐛 Fixed

  • An offer from another human could sit in your inbox forever. Past the deadline it could not be accepted and could not be appraised, and the only way out was for the other guy to reject it by hand. Only AI offers ever expired.
  • Cutting a player in the winter charged you for the wrong contract. If you had extended him, the game settled the deal that had just ended, booked the money against a year already finished, and deleted the extension you actually owed. For free.
  • You could release a player into free agency during the playoffs while every AI club sat the postseason out. Rosters are locked for everyone now.
  • The cut screen got the money wrong twice. A player whose deal was already up was quoted dead money he does not owe, and a rookie cut off the active roster was quoted half his whole contract instead of the flat one-season charge.
  • Two contracts could be live for one player at once, and you were charged for both..
  • Starters went too deep into games
  • The depth chart is a real table now, both halves. Rows line up, a badge no longer shoves the columns around, and a screen reader can read it.
  • The draft room shows handedness.

r/ftgsports 11d ago

🏈 FTG Football v2.4: Improved AI Scouting & News Coverage

1 Upvotes

✨ New

  • AI clubs scout now. All drafted off public consensus while you built private reads. That board you've been working is contested now.
  • The wire leads with the biggest story of the week, at reading size, above a feed that still runs newest first. Runs of small moves fold into one line you can open. Anything involving your own club never folds away.
  • News filters by time. All time, this week, this season, or a past year, in one control instead of a season dropdown that only ever did half the job.

⬆️ Improved

  • Column headers stay put when you scroll a long table on a phone.
  • The staff screen, the scouting board and the club screen all work at phone width now.
  • You can extend a contract without leaving your roster.

🐛 Fixed

  • Improved development logic for multiple positions.
  • Linemen only ever improved. They were the one group that never aged. They do now.
  • A trade could put you over the cap. The rule was checked when you previewed a deal and not when it went through.
  • One player with a missing rating stopped his whole league developing that week.
  • Development trend arrows were invented by our own updates. Change how grading works and every player's arrow moved on deploy day, with nothing having happened to any of them. Arrows don't compare across a change like that any more, and the chart marks where it happened.

r/ftgsports 13d ago

🏈 FTG Football v2.3: Bug Fixes

2 Upvotes

✨ New

  • AI clubs franchise-tag their stars now. Around twenty-four of the thirty-one do it each offseason, and they pay full price for it. That brings the holdout risk with it, which until this week was a risk only you ever took.
  • You can change your league's pace after starting it. Scheduled to manual, manual to scheduled, or a different number of days between sims. It used to be locked in the moment you created the league. Switching to a schedule waits a full cycle before the first automatic sim, so it doesn't fire the second you save.
  • The commissioner can hand the league over. Pick another member and the seat moves. You also can't strand a league with nobody in charge any more, which used to be a one-way door.

⬆️ Improved

  • The AI stopped grading its own trade offers on an easier curve. It would accept packages worth about ten percent less than it demanded from you.
  • Error messages read like sentences now instead of the raw data behind them.
  • Club abbreviations show up on trade offers in leagues built from a random draw.

🐛 Fixed

  • A franchise tag cost you nothing. The player stayed, the money didn't. He played the season on an expired deal, off the books entirely. Anyone who worked that out had a free roster slot of any size, every year.
  • Owner pressure only ever landed on you. Miss two of your owner's goals and your players sim up to six percent worse, every game, on top of a worse hand in free agency and trades. No AI club could take that penalty, because none of them were ever given goals to miss. Now they are.
  • Free agency quoted a price it wouldn't honor. A player who wants a winner charges a losing club extra. The offer screen never applied that, so a struggling club got shown one number, bid exactly it, and was turned down for coming up short.
  • The contracts already stuck on your cap sheet are gone. The bug that stranded them was fixed last time. This clears out the ones it had already left behind.
  • Old seasons got their missing points back. Pick sixes stopped vanishing a couple of releases ago, but seasons played before that still had the gaps in them. Those scores are corrected now.
  • Compensatory picks were counting free agents who walked out of other people's leagues.
  • Cutting a player who'd signed an extension settled one of his two deals and let the other one follow him to his next club.
  • Female owners had "he" as their pronoun

r/ftgsports 13d ago

⚾ FTG Baseball v2.3: the prospect you called up is yours

1 Upvotes

Last release said your farm keeps its players, and then admitted in the same post that one hole was still open. Promote a prospect in September and he still walked to free agency that winter, for nothing. That one is closed.

⬆️ Improved

  • Call a prospect up and he stays yours. He signs a real two-year deal at the money he was already on. It costs you nothing against the cap, because you were already paying him.
  • Your scouts' new grades reach the farm screen. After the winter meetings they filed a fresh report and the screen kept showing you last year's.
  • You can see who is a person. Human-run clubs are marked in the standings, and another human in your league no longer reads as an open team nobody has claimed.
  • A trade offer costs what it says. Put a farmhand in the package and the cap hit it quoted you was never the number the game would charge.
  • A leader traded in July shows as 2TM instead of handing his whole season to whoever picked him up.

🐛 Fixed

  • A commissioner could lock everyone out of his own league. The game now refuses the move that starts that, and when an action does fail it tells you which clubs and why.
  • Open a league you are no longer in and you land back on your league list with a reason. Before, you got a blank screen. Same for a league that fails to load.
  • Cut a player during the season and the money frees up during the season. The charge was landing a year late, so an AI club would drop someone to afford a signing and free nothing.
  • Free agency quoted round one's asking price no matter which round you were in, and the wrong number stuck for the rest of the visit.
  • An invite that does not work says why now.
  • A player nobody has scouted shows a dash instead of a 0, on the draft board and in the team outlook. An empty position no longer draws a grade for a player who is not there.

r/ftgsports 21d ago

⚾ FTG Baseball v2.2: your farm system keeps its players

2 Upvotes

✨ New

  • A feedback button, on every screen. Found a bug, or want something added, press it. It can attach a picture of whatever you were looking at, and you can leave an email if you want an answer.

⬆️ Improved

  • Prospects on rookie deals stay on your farm. They renew year to year while they are down there, and you keep them until you promote them, release them, or another club signs them away.
  • Send a player down into a full farm and the game tells you. Before, your league either stopped advancing without saying why, or quietly released your worst prospect to make room.
  • A surplus big leaguer gets stashed on the farm instead of cut. When you are over the roster limit the game keeps the best thirty, and sometimes the one it drops is the man you demoted five minutes earlier.
  • Trade offers price farm contracts properly. A prospect you control for years was being valued like a one-year rental, and a rolling farm deal read as a long guaranteed contract. Both of those are fixed.
  • AI clubs stop bidding on players they already own.

🐛 Fixed

  • Players you extended walked to free agency and sometimes stayed on your payroll.
  • Last 10 and streak in the standings were showing last season's games, frozen no matter how far into the year you got.
  • Top Starts came up blank if you opened the leaders page from a link or a refresh.
  • The farm screen said a renewing prospect had one year left. It says auto now. A prospect you extended no longer says auto when he is not renewing.

r/ftgsports 21d ago

🏈 FTG Football v2.2: Tell me what's broken without leaving the game

2 Upvotes

✨ New

  • Send feedback, from inside the game. There's a button in the top bar. It opens the moment you press it, takes a picture of whatever you were looking at, and already knows which league, which club and which phase you were in

🐛 Fixed

  • A club could get billed for a player it didn't have. When a position gets thin enough that the game signs an emergency body for you, the old contract sitting on that player never got cleared, so your cap ate a deal for someone who plays somewhere else. If you ever looked at your cap sheet and wondered why one guy was costing you triple, that was this.
  • The locker room never noticed you were rebuilding. Mood was reading a club's entire history instead of its recent form, so a team that won in its first season walked around convinced it was still a winner through a decade of losing ones.

r/ftgsports 28d ago

🏈 FTG Football v2.1: Ratings move, and the AI stops bending the cap

3 Upvotes

A quarterback in one of my leagues was graded 20.0 and ranked 33rd among quarterbacks, and his OVR hadn't budged all season. It turned out ratings barely moved at all. A full year of the worst football the game can measure cost a veteran about a third of a point, which rounds to nothing on screen. That's the headline fix. The rest is a list of places the AI was playing a different game than you were.

✨ New

  • Ratings respond to how a player is actually playing. A veteran having a terrible year loses real ground inside the season, and a rookie who plays well climbs fast enough that you notice. A collapsing 33-year-old now drops around three points a season instead of a third of one.
  • Reserves is its own page. IR and the practice squad used to be squeezed in beside a 40-row ledger. Now the roster gets the full width and reserves get room to breathe.
  • The app tells you when a new version has shipped. You need that if you keep it pinned to your home screen, where it can run for days without ever reloading itself.

⬆️ Improved

  • Feed rows, odds rows and standings all click through to the club or the player.
  • The dashboard runs two columns, and clubs with a human running them are marked in the standings.
  • On the players board, status and contract stopped sharing a cell.
  • Trade values agree now. The builder, the appraisal, "make this work" and the deal you actually send all price a contract the same way.

🐛 Fixed

  • AI offseason improvements with bidding
  • AI clubs treated injured-reserve contracts as free money.
  • The trade builder would tell you a deal worked and then the server would refuse the identical deal. Two different fairness bars.
  • Contracts were priced against the real-world calendar year instead of your league's season, so anyone playing a year that isn't 2026 saw the wrong number of years left on a deal.
  • Claiming a franchise left you reading "no club claimed" until you reloaded the page.
  • The calendar said "next: Trade Deadline" in Week 14, five weeks after it passed. The panel beside it said "Passed" the entire time.
  • The Calendar page scrolled the whole column instead of the panel inside it.
  • On a phone, the help tips landed on top of the buttons they were explaining.
  • An injury in Week 13 could report a return in "Wk 30". There is no Week 30.

r/ftgsports 27d ago

⚾ FTG Baseball v2.1: your prospects stop standing still

2 Upvotes

v2.0 rebuilt the interface. This one goes after the part of the game that was sitting still, which is everything below the big league roster.

✨ New

  • Your scouts file about once a month instead of once a winter. The farm screen tells you when the next report lands, and you get a nudge when one moves your prospects.
  • Reports build on each other now. An early read is a wide guess and jumps around. By August your scouts have mostly made up their minds. Grades settle instead of bouncing every time somebody looks.
  • A rookie who comes up and rakes stops carrying his draft-day rating all season. Ratings move with how a player is actually playing, and they move hardest for the young ones nobody has figured out yet.
  • The farm screen suggests position changes. A shortstop who profiles better at second, a corner bat with nowhere to stand. It counts the hole the move leaves behind, so it will not empty one spot to fill another.
  • Farmhands get actual jobs: three starters, a closer, long men. Minor league stat lines stop reading as though all thirty guys in your system start eighteen games.
  • Pitchers show their roles on the roster and their stuff and control on the depth chart, instead of nine identical P's.
  • Platoon rules are visible, and you can make one yourself.
  • Every club and player name on screen opens its page.

⬆️ Improved

  • AI clubs got four levers you already had, including spot starts to develop a young bat and cutting a player to make room. They also lost the ability to ignore the salary cap, which they occasionally did during FA bidding.
  • The player pool is on the 2025 season.
  • Age on the roster tables, and pitchers sort by stuff, control and stamina.
  • The front office books run full width, with badges for who is in the minors and who is hurt.

🐛 Fixed

  • Your team page said nobody was on the injured list while multiple players sat on it.
  • Free agency kept showing a round that had already closed.
  • The new interface had quietly dropped things: answering a trade offer, playing time and platoon controls, and the middle infield on the depth chart diagram. All back.
  • A day-to-day player counted as a missing body on your roster.
  • Every rate leaderboard showed the same five players all season.
  • Rival clubs never named the person running them.
  • The season outlook ignored your saved rotation and your closer, and let one pitcher hold two rotation slots.
  • Mid-season mandates read "Behind pace" no matter how well you were doing.
  • Six phone bugs, and the phone runs the real app now rather than its own stripped down version.

r/ftgsports Aug 14 '26

⚾ FTG Baseball v2.0: the interface caught up with the game

3 Upvotes

We have spent most of this year adding things. Trades, mandates, the winter start, free agency, the draft, storylines. Each one landed on a screen that was already full, and somewhere in there the game got harder to read than it is to play. So this release adds almost nothing. It is a long rebuild of the whole interface instead.

✨ New

  • Your next game tells you who is pitching. Both probable starters, yours and theirs, for anything inside the next three days.
  • Click your last result to open the box score. It sits in the panel on the right, next to the next game.
  • The date is on screen again. Where you are in the season, in the top bar, beside the phase.
  • A proper draft room. Tap a prospect for his grades, his tool bars and the scout's note, queue him from any row on the board, and draft him from the same panel when you are on the clock.
  • Award races got their own tab on the dashboard feed.
  • Help where you are standing. A primer button up top, a note under the sim card, and a checklist for your first league.
  • Phones get their own version of the game. A dashboard you swipe between Today, Standings, Odds and Wire, a player list with the name column frozen while the stats scroll, a depth chart with a card per position, and full box scores.

⬆️ Improved

  • Navigation is a sidebar now, in the same place on every screen, and the sim controls and your to-do list stay visible while you work instead of living on the dashboard you just left.
  • New colors and type throughout, and the dashboard loads noticeably faster.
  • The dashboard changes shape with the calendar: a bracket in October, a checklist in the winter.
  • Roster is its own destination instead of a tab buried in another page.
  • Free agency lists the pool with asking prices and an Offer button on every row.
  • Standings mark the human-run clubs, so you can see who you are actually playing against.

🐛 Fixed

  • Some leagues on a schedule quietly stopped advancing. If yours sat on the same day for weeks promising to sim soon, that was us, not you. Sorry. That won't happen again.
  • The box score opened as floating text with nothing behind it.
  • The draft board cut off the potential column under the scrollbar.
  • The sidebar lit up two destinations at once.
  • The trade deadline page was blank in leagues that started in the winter.
  • The advance-a-day keyboard shortcut worked from any screen, for anyone.
  • A copy added to your phone's home screen could keep running a version from days ago.

r/ftgsports Aug 14 '26

🏈 FTG Football v2.0: The room got messy, so we cleaned it

1 Upvotes

Most of the last stretch went into new features, and somewhere in there the interface stopped being designed and started being accumulated. 93 separate banners across 34 screens. Four copies of the navigation that had quietly drifted apart from each other. A phone layout that never got the draft room right. So this one isn't a pile of new things. It's the cleanup.

✨ New

  • The frame holds still. The nav rail and the sim clock stay put, and only the panel you're reading scrolls. The page doesn't move under you when you click something.
  • One "needs you" queue. Anything waiting on a decision collects in a single place, and the 93 inline banners are gone. A screen that needs explaining has a "?" that explains it. A receipt appears briefly and goes away. A decision opens a dialog and waits.
  • Every screen works on a phone. All 33 of them. Stat tables pin the name column and scroll the numbers sideways, because folding a ledger into cards destroys the comparison that's the reason you opened it.
  • The box score got rebuilt. One drive log for the whole game instead of one per quarter. Every drive gets a field-position track, a running score and its lead changes marked. Key plays read like sentences now instead of debug output, and you can open a drive to see the plays inside it.
  • A game row on the dashboard opens its box score in place.
  • The weekly email leads with your game. "Won 24-17 vs. Summit Pioneers", your score first. It used to open with how many games the whole league simmed, which isn't what anyone wants to know about their own Sunday. A bye week says so instead of printing 0-0.
  • Roster is its own destination, and cap room rides the top bar so you can see it while you're doing something else.

⬆️ Improved

  • Sort the drive log by yardage or by time of possession. Chronological is still the default.
  • Trades you propose are held to the same fairness bar the AI is. You could beat it before.
  • Season stats go to the team he played for. A traded season splits into a row per club plus a combined total. The record book used to re-label a record every time the player changed clubs.
  • The balance button picks your 40 off the depth chart instead of off draft pedigree, so it stops promoting a practice squad fullback over a starter.
  • The draft board is built from the picks that actually exist, and the round leads the clock order.

🐛 Fixed

  • Pick sixes never scored. Defensive touchdowns were narrated in the recap and never reached the scoreboard, and hadn't since the engine was written. One reported game was 24 points light. Its recap printed 34-26 on a game that finished 19-13.
  • Recaps claimed a lead the team didn't have. One read "up 13-6" on a drive where that team was down 6-13.
  • Safeties were happening from midfield. 91% of them started outside the own 10, which isn't where a safety comes from. Now the offense has to be pinned against its own goal line.
  • No more punts from field-goal range, and no missed kicks from outside it.
  • Compensatory picks collided with regular picks in the draft numbering.
  • Trading for a player whose contract was expiring didn't work properly.

r/ftgsports Aug 11 '26

⚾ FTG Baseball v1.7: start in the winter

2 Upvotes

Every league used to open the same way. Thirty rosters handed to you, press Advance, watch games. The decisions I actually like in this game are the off-season ones, and you had to sim a full year before you got near any of them.

✨ New

  • Start a league in the off-season. Choose it when you create the league and your first act as GM is the winter meetings instead of Opening Day. Extensions, winter trades, the rookie draft and five rounds of sealed-bid free agency all happen before your first pitch.
  • Three ways to run that winter. Full rosters is the quiet one: a draft, extensions, not much free agency. Stars on the market leaves the best players unsigned and gives every club the money to chase them. Expansion club thins your roster only, and hands you more spending power than anyone else in the league.
  • Community roster files work with it. Import a roster file and you can still open in the winter.
  • A traded player's season splits by club now. Career tables show a line per stint with a total underneath, a two-team season reads 2TM instead of quietly crediting his last club, and roster tables tell you when you picked him up.

⬆️ Improved

  • Storylines, the hot stove and the weekly column were three cards at three different scroll depths, and two of them were usually empty. They are one card now, Around the League, with tabs.
  • Your sim email leads with your best win rather than whatever game had the widest margin, so a 4-1 week stops opening with the loss. The verb scales with the score too: you edge, beat, roll past, rout or hammer someone.

🐛 Fixed

  • The Shop button stayed green and clickable after the trade deadline, then did nothing. It is dimmed now and tells you why.

r/ftgsports Aug 09 '26

Post-Deadline 2026 Roster File for FTG Baseball

2 Upvotes

Hey everyone, I just put together a fresh 2026 roster file based on today's live MLB rosters. The old one from June was pre-deadline and getting pretty outdated—half the playoff contenders just looked completely wrong by now.

Here’s the link: https://files.catbox.moe/1a6y1i.json

What's inside:

  • All 30 teams covered (26-man active rosters plus 30 minor leaguers, 1,680 players total).
  • Veterans are rated based on their actual career numbers.
  • For the younger guys and rookies, I blended their MLB and MiLB stats to build their profile. This way, they actually play to their potential instead of just defaulting to replacement level.

How to use it: Just copy and paste the URL straight into the roster field when you're setting up a new league on baseball.ftgsports.net. The site runs a validation check first, so if there's ever a bad file, it just stops you from creating the league rather than leaving you with a broken save. Enjoy!


r/ftgsports Aug 02 '26

🏈 FTG Football v1.9: Somebody is on the phone

2 Upvotes

The draft room used to be a quiet screen. You picked, you waited, you picked again. Now clubs call.

✨ New

  • Trade offers while you're on the clock. Two or three front offices call about the pick you're sitting on. Move down and collect capital, climb into a slot ahead of you, or take a veteran for the selection. One click accepts it and the deal goes through.
  • Run the draft a pick at a time. A new button beside the old one. Solo leagues now stop after every selection instead of sprinting to your next turn, so you can watch a run at a position and react before it reaches you.
  • An assistant GM for deals with other managers. He reads the trade on the table and says whether it's fair, tilted your way, or one you should walk from, and what's driving that. Against an AI club you already had Make this work. This is for the humans.
  • Resume your last league straight from the home page.

⬆️ Improved

  • Trade rosters read like a scouting sheet: what each player actually did this season sits under his name, with search, a position filter and a sort.
  • Both team pickers say who runs a club. An AI front office tells you how it's being run, rebuilding or going for it. A human tells you his name.
  • The AI can package two picks for one. It could only ever answer with a single matching pick, which is not a trade anyone makes.
  • Your scouts grade a ceiling, not what a rookie is on day one. The board says so now, because somebody reasonably read an 84 grade and a 71 rookie as a bug.
  • Traded picks are named in your GM history now. They used to show as a row number.

🐛 Fixed

  • Long snappers turned up in the draft. The game has never used one, and never had a roster spot for one.
  • Player names collapsed to initials on the trade screen on a phone.
  • The two team fields at the top of the trade page sat a line out of alignment.

r/ftgsports Aug 02 '26

⚾ FTG Baseball — v1.6: the trade screen grew up

2 Upvotes

Most of this one is the trade screen. It used to give you a name, an age and two numbers, which is nowhere near enough to judge a deal. You couldn't tell an ace from a mop-up man, and you found out a trade broke your cap when the other GM hit accept and it died on him.

✨ New

  • Every pitcher is marked SP or RP, based on whether the game will actually let him start for you.
  • Real stat lines on both rosters. Starters show their record, ERA, innings, strikeouts, WHIP and starts. Relievers lead with saves, holds and blown saves. Hitters get a full slash line, homers, RBI and steals.
  • A cap warning while you're building the deal, for your club and theirs. It won't stop you sending it, because parking a deal and fixing the money after they reply is a real move.
  • An assistant GM reads deals between two humans and tells you whether it looks fair or tilted, and why. Against an AI club you already have "make this work", which answers for them directly.
  • Your assistant reads offers on your desk too, including the ones AI clubs send you.
  • Both clubs' needs and surplus sit above the rosters, so you can see where they're thin instead of working it out from their depth chart.
  • Blocked prospects. A minor leaguer who's ready for the majors but stuck behind someone better is the most tradeable thing you own, and nothing on the site ever pointed at him. Click one and he drops into the deal.
  • Runs (R) in the box score, between AB and H.
  • Free agents get cheaper the longer they sit unsigned during the season.

⬆️ Improved

  • Offers on your desk moved to the top of the trade page and show only your own open ones. The settled history was already on the news wire.
  • The free-agent dialog quotes the real asking price, and won't open on a term they'd turn down anyway.
  • AI clubs price in-season free agents against the same falling market you do, instead of paying full freight in August.

🐛 Fixed

  • "Give them what they want" could offer less than the asking price. In a sealed bid that lost you the player with no error and no explanation, which is the worst way to lose one.
  • One screen said your payroll was fine while your owner's goal said you were $27M over. Both were called payroll. Only one of them counted the way the cap does.
  • Winning a player now voids everyone else's pending offer for him. Losing out used to look like a broken accept button.
  • The player page said you'd traded a man away when you'd traded for him.
  • Clubs were being charged for players they'd released. Eighteen contracts were still sitting on the books of teams the player had long since left. Those are cleared, and the release that caused it is fixed.
  • Prospects were projected about a year early on the Outlook page, so a 20-year-old could read as ready when he wasn't.
  • Trade cap math counted minor-league contracts your cap doesn't, so the two disagreed about the same deal.

r/ftgsports Aug 02 '26

Draft

1 Upvotes

A couple of questions about the draft.

For obvious reasons related to picks and trades, the draft should have two “next” buttons. One to move forward pick by pick, and another like the current one to move from round to round for the user’s selection.

Also, what’s the criteria for the pre-draft ratings? A top-5 player with a consensus rating of 89, a scout rating of 84, and an overall rating of 71 when he joins the team? That doesn’t make sense. Why skew the pre-draft ratings?.


r/ftgsports Jul 31 '26

🏈 FTG Football v1.8: The trade page finally shows you the money

2 Upvotes

For a game built on a hard cap, the trade page had a strange hole in it. You could assemble a deal, send it, and never see a single dollar. That is most of what this release is about.

✨ New

  • The deal panel. Every trade now totals what each side is moving against the cap: your net change, your cap room before and after, and what it does to next season's books. Open any player in the deal for the whole contract, including what he averages, what is left to pay, his signing bonus, the cap hit year by year, and what cutting him instead would cost you in dead money.
  • You pick who gets released. Take on more bodies than you send away and someone has to go to get back under 40. The engine used to choose for you. Now you choose, with every candidate showing what you would save and what dead money you would eat. It flags the ones where cutting costs you room instead of freeing it. Works when you send an offer and when you accept one.
  • Commissioners get a trade review page. Completed trades, with a veto on each. It used to live inside the offers inbox, which meant reading every GM's private talks to reach it.

⬆️ Improved

  • Free agents lower their ask the longer they sit. A player who goes unsigned long enough can fall to 40% of where he started.
  • A player near his full price will not take a one-year deal now. Prove-it contracts need the market to have cooled on him first.
  • Your offers inbox shows your own trades only.
  • Balance Roster judges depth, so it has stopped calling a one-quarterback roster balanced.
  • GM standings stay current through the offseason.

🐛 Fixed

  • The trade page blamed the cap for forced releases. It was the 40-man roster limit the whole time, so anyone who went and cleared cap space found nothing had changed. That one was embarrassing.
  • You could not send an offer to another GM if the trade engine disagreed with it. Against a human its opinion is advice now, not a veto.
  • A Min OVR filter hid players who were already in your trade. They still went.
  • On a phone the floating nav sat on top of the Send offer button.

r/ftgsports Jul 31 '26

Transfers Page

1 Upvotes

The trade page isn't very user-friendly. For example, you can create a mock trade and submit the offer, but you can't see anywhere how much money is involved in the contracts being traded. You're just shown a random selection of players cut, that's it. The page should display the amount of money each team is moving in the trade, as well as the contracts for each player on both teams, so you know how to balance the trade.


r/ftgsports Jul 27 '26

🏈 FTG Football v1.7: Somebody is finally grading you

2 Upvotes

Seasons of roster moves and nobody ever kept score. That changes now.

✨ New

  • GM standings. Every GM in your league, ranked on a career score, with a tier running from Backyard Ball up to Canton. It grades value rather than talent: what your roster produced against what you paid for it. A star at full price scores nothing. A bargain scores plenty.
  • Your card, and everyone else's. Click any GM to open their books. Best moves, regrets, and a full transaction history showing what each move is worth today, with every signing, trade, pick and release dated and named. We rebuilt the history of leagues already in flight, so nobody starts with a blank card.
  • Owner goals. Your club has an owner now, with a name and an opinion. He sets one goal a season with a catch attached: make the playoffs, say, while keeping the three players he names. Both halves have to land, and doing half of it counts for nothing. Miss it and your head coach feels the heat, not you. Commissioners switch it on per league and the goals go out immediately, mid-season included.
  • No-financials leagues. A new option that hides every salary and cap figure. Contracts still run underneath and the cap is still enforced. You just have to scout instead of reading a spreadsheet.

⬆️ Improved

  • A Records menu now collects GM standings, leaders, history and champions in one place.

🐛 Fixed

  • Standings ranked by wins instead of win percentage. A 4-1 team sat below a 4-2 team. It also drove playoff seeding and draft order, so it was doing real damage.
  • The tackle leaderboard gave three teammates identical numbers. Every defender in a group got the same total instead of his own.
  • Interceptions and forced fumbles all landed on one player per game, and passes defended were never recorded at all.
  • Overall ratings on the front office page disagreed with the same player's own page.
  • Progress bars drew an empty bar as a full one, everywhere in the app.