41554 blogs · [ { "id": "01a0d4e6-3e32-7190-a90d-47147de00e22", "title": "The simulation engine is now about twice as fast", "url": "https://zengm.com/blog/2026/09/twice-as-fast/", "published_at": "2026-09-21T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b3fcffd9bf", "title": "Extremely customizable awards", "url": "https://zengm.com/blog/2026/09/extremely-customizable-awards/", "published_at": "2026-09-03T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b3fdba0e3d", "title": "Updated default injuries", "url": "https://zengm.com/blog/2026/07/updated-default-injuries/", "published_at": "2026-07-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b3fe98fb1c", "title": "Improved draft lottery probability calculation", "url": "https://zengm.com/blog/2026/06/draft-lottery-probability-calculation/", "published_at": "2026-06-14T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b3ff61a50b", "title": "How it feels to be an old school web-based sports sim dev when tons of vibecoded web-based sports sims are being released", "url": "https://zengm.com/blog/2026/06/vibecoded-games/", "published_at": "2026-06-12T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b3ff6c5b4e", "title": "New \"NBA 2027 (3-2-1)\" draft type", "url": "https://zengm.com/blog/2026/05/nba2027-draft-type/", "published_at": "2026-05-30T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4002a4509", "title": "2029 expansion teams in real players leagues", "url": "https://zengm.com/blog/2026/04/2029-expansion-teams/", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b401224621", "title": "Trades made after a player is a free agent no longer affect willingness to sign", "url": "https://zengm.com/blog/2026/04/trades-free-agent-mood/", "published_at": "2026-04-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b401804384", "title": "Adding OL stats accidentally decreased the importance of OL", "url": "https://zengm.com/blog/2026/03/ol-stats-fix/", "published_at": "2026-03-31T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b401ce72be", "title": "Updated FBGM award formulas", "url": "https://zengm.com/blog/2026/03/fbgm-award-formulas/", "published_at": "2026-03-17T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b402506573", "title": "Offensive Player of the Year (OPOY) award in FBGM", "url": "https://zengm.com/blog/2026/03/opoy-award/", "published_at": "2026-03-12T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b402c0687c", "title": "Offensive line stats", "url": "https://zengm.com/blog/2026/03/offensive-line-stats/", "published_at": "2026-03-08T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b402e3f74f", "title": "Stat totals in the play-by-play", "url": "https://zengm.com/blog/2026/02/totals-play-by-play/", "published_at": "2026-02-27T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b403906cd9", "title": "New anti-tanking draft type: Carry-Over Lottery Allocation (COLA)", "url": "https://zengm.com/blog/2026/02/cola-draft-type/", "published_at": "2026-02-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40487eb8e", "title": "FBGM updates to keep you busy on Super Bowl bye week", "url": "https://zengm.com/blog/2026/02/super-bowl-bye-week/", "published_at": "2026-02-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b404c396e0", "title": "Exporting player bio info is less confusing", "url": "https://zengm.com/blog/2026/01/better-player-bio-export/", "published_at": "2026-01-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b404d19d0d", "title": "2025 usage stats", "url": "https://zengm.com/blog/2026/01/2025-usage-stats/", "published_at": "2026-01-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40509e8d5", "title": "JavaScript bundling for ZenGM, from 2012 to today", "url": "https://zengm.com/blog/2025/10/js-bundling-2/", "published_at": "2025-10-27T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40559a0d7", "title": "Schedule editor", "url": "https://zengm.com/blog/2025/10/schedule-editor/", "published_at": "2025-10-24T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b405f7090d", "title": "Streaming JSON parsing with the Web Streams API", "url": "https://zengm.com/blog/2025/10/streaming-json-parsing/", "published_at": "2025-10-21T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b406d31960", "title": "Force historical rosters in real players leagues", "url": "https://zengm.com/blog/2025/09/force-historical-rosters/", "published_at": "2025-09-14T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4071b78fb", "title": "\"Randomize teams\" improvements", "url": "https://zengm.com/blog/2025/09/randomize-teams-improvements/", "published_at": "2025-09-04T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4075917a8", "title": "The AI will now trade more than 2 draft picks at a time", "url": "https://zengm.com/blog/2025/08/ai-draft-pick-trade-limit/", "published_at": "2025-08-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40794a89a", "title": "20 new teams", "url": "https://zengm.com/blog/2025/07/20-new-teams/", "published_at": "2025-07-15T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b408657009", "title": "New achievements", "url": "https://zengm.com/blog/2025/07/new-achievements/", "published_at": "2025-07-07T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b408a0cef1", "title": "Import Real Players, and how you can use it to create custom historical teams", "url": "https://zengm.com/blog/2025/05/import-real-players/", "published_at": "2025-05-26T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b408ea4e10", "title": "Real players leagues created during the current playoffs now include draft lottery results", "url": "https://zengm.com/blog/2025/05/real-players-playoffs-draft-lottery/", "published_at": "2025-05-17T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b409c301e8", "title": "Face updates - relatives, and save changes easily from the editor", "url": "https://zengm.com/blog/2025/03/face-updates/", "published_at": "2025-03-23T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40a753884", "title": "Free agent contract fixes for football and hockey", "url": "https://zengm.com/blog/2025/02/free-agent-contract-fixes/", "published_at": "2025-02-24T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40aa86279", "title": "Null values for historical stats", "url": "https://zengm.com/blog/2025/02/null-historical-stats/", "published_at": "2025-02-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40b224e5a", "title": "View career totals/averages for ranges of seasons on player profile pages", "url": "https://zengm.com/blog/2025/02/player-profile-stat-ranges/", "published_at": "2025-02-02T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40b774ee8", "title": "Bulk actions from any table of players", "url": "https://zengm.com/blog/2025/01/bulk-actions/", "published_at": "2025-01-28T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40c31229a", "title": "Trading block filters", "url": "https://zengm.com/blog/2025/01/trading-block-filters/", "published_at": "2025-01-10T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40c7c1d3f", "title": "2024 usage stats", "url": "https://zengm.com/blog/2025/01/2024-usage-stats/", "published_at": "2025-01-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40cd0125f", "title": "Some small improvements", "url": "https://zengm.com/blog/2024/12/small-improvements/", "published_at": "2024-12-23T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40db9e88e", "title": "Review of Dean Oliver's \"Basketball Beyond Paper\"", "url": "https://zengm.com/blog/2024/11/basketball-beyond-paper-review/", "published_at": "2024-11-02T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40e72eb38", "title": "Improved UI for the four factors in box scores", "url": "https://zengm.com/blog/2024/10/four-factors-improvements/", "published_at": "2024-10-15T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40ee12d4c", "title": "Holds and blown saves in ZenGM Baseball", "url": "https://zengm.com/blog/2024/10/holds-and-blown-saves/", "published_at": "2024-10-11T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40f233b34", "title": "Neutral site for playoff/finals games", "url": "https://zengm.com/blog/2024/08/neutral-site/", "published_at": "2024-08-04T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40f6754d8", "title": "Team Notes", "url": "https://zengm.com/blog/2024/07/team-notes/", "published_at": "2024-07-26T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b40fa3b301", "title": "Advanced Player Search", "url": "https://zengm.com/blog/2024/07/advanced-player-search/", "published_at": "2024-07-20T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4106ef929", "title": "Cap on fickleness of superstars", "url": "https://zengm.com/blog/2024/06/superstar-fickleness/", "published_at": "2024-06-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b411651720", "title": "Gzip compressed league files", "url": "https://zengm.com/blog/2024/06/gzip/", "published_at": "2024-06-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b411720608", "title": "View signed free agents (not just available ones) on the Free Agents page", "url": "https://zengm.com/blog/2024/05/signed-free-agents/", "published_at": "2024-05-25T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4118adbeb", "title": "Shootouts - in all sports!", "url": "https://zengm.com/blog/2024/04/shootouts/", "published_at": "2024-04-16T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4127f7e8f", "title": "New achievements", "url": "https://zengm.com/blog/2024/03/new-achievements/", "published_at": "2024-03-19T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b412ef3cb2", "title": "New \"Compare Players\" feature", "url": "https://zengm.com/blog/2024/03/compare-players/", "published_at": "2024-03-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b413eca8ba", "title": "2023 traffic stats", "url": "https://zengm.com/blog/2024/01/2023-traffic-stats/", "published_at": "2024-01-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b414e15165", "title": "5 new international teams, 3 new American teams, and 4 rebranded teams", "url": "https://zengm.com/blog/2023/12/new-logos/", "published_at": "2023-12-25T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b415436dc7", "title": "Basketball game clock rewrite", "url": "https://zengm.com/blog/2023/12/basketball-game-clock-rewrite/", "published_at": "2023-12-20T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b415f074dc", "title": "Play-by-play redesign", "url": "https://zengm.com/blog/2023/11/play-by-play-redesign/", "published_at": "2023-11-29T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4161f546f", "title": "Football GM drive chart during live sim", "url": "https://zengm.com/blog/2023/11/football-drive-chart/", "published_at": "2023-11-12T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b417032ff1", "title": "Groundhog Day improvements, including a \"players only\" option", "url": "https://zengm.com/blog/2023/08/groundhog-day-improvements/", "published_at": "2023-08-23T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b417c506f6", "title": "The finances revamp made coaching and health spending too powerful", "url": "https://zengm.com/blog/2023/08/finances-revamp-bug/", "published_at": "2023-08-14T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41845b9fa", "title": "11 new teams/logos, and an Australian relocation", "url": "https://zengm.com/blog/2023/08/11-new-teams-logos/", "published_at": "2023-08-02T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4191c24b8", "title": "Slightly more realistic contracts for real players", "url": "https://zengm.com/blog/2023/07/slightly-more-realistic-contracts-real-players/", "published_at": "2023-07-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b419fa99db", "title": "New league type: cross-era leagues, made up of historical teams from different years", "url": "https://zengm.com/blog/2023/06/cross-era/", "published_at": "2023-06-24T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41a2e3bb3", "title": "Several small Football GM stat/simulation improvements", "url": "https://zengm.com/blog/2023/06/small-football-sim-improvements/", "published_at": "2023-06-21T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41afa7455", "title": "The permanent pulled goalie bug", "url": "https://zengm.com/blog/2023/06/permanent-pulled-goalie/", "published_at": "2023-06-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41bbe8562", "title": "Finances revamp", "url": "https://zengm.com/blog/2023/06/finances-revamp/", "published_at": "2023-06-14T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41cadb9d6", "title": "Group regular season schedule into MLB-like 3/4 game series", "url": "https://zengm.com/blog/2023/04/group-games-series/", "published_at": "2023-04-19T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41d2b4a72", "title": "Goalie fatigue in the playoffs", "url": "https://zengm.com/blog/2023/03/goalie-fatigue-playoffs/", "published_at": "2023-03-24T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41e154e6e", "title": "Better handling of players with gaps in their career in historical real players leagues", "url": "https://zengm.com/blog/2023/03/real-players-gaps/", "published_at": "2023-03-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41e1786f6", "title": "Bold league leading stats on player profile pages", "url": "https://zengm.com/blog/2023/03/bold-league-leaders/", "published_at": "2023-03-05T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41ee7f869", "title": "Women's leagues are now in every ZenGM game", "url": "https://zengm.com/blog/2023/02/womens-leagues/", "published_at": "2023-02-25T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41efd8a59", "title": "JavaScript bundling for ZenGM, from 2012 to today", "url": "https://zengm.com/blog/2023/01/js-bundling/", "published_at": "2023-01-11T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41f46f2c7", "title": "Improvements to AI valuation of their own draft picks in trades", "url": "https://zengm.com/blog/2023/01/ai-draft-pick-valuation/", "published_at": "2023-01-09T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b41fddf671", "title": "2022 annual recap and traffic stats", "url": "https://zengm.com/blog/2023/01/2022-annual-recap/", "published_at": "2023-01-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b420408a0c", "title": "Better plus/minus stats", "url": "https://zengm.com/blog/2022/11/better-plus-minus-stats/", "published_at": "2022-11-21T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b420468c7f", "title": "Game simulation settings for all games", "url": "https://zengm.com/blog/2022/11/game-sim-settings/", "published_at": "2022-11-09T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b420aefd37", "title": "ZenGM goes international: 10 new teams, including cities in Europe, Asia, Australia, and South America", "url": "https://zengm.com/blog/2022/09/zengm-goes-international/", "published_at": "2022-09-16T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b420f6ab72", "title": "New teams in Anchorage and Quebec", "url": "https://zengm.com/blog/2022/09/anchorage-and-quebec/", "published_at": "2022-09-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b421a9e5bc", "title": "New team: the Albuquerque Thunderbirds", "url": "https://zengm.com/blog/2022/09/albuquerque-thunderbirds/", "published_at": "2022-09-09T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42242cbdb", "title": "Create leagues from a mix of teams - random teams, real current/historical teams, and teams from your existing leagues", "url": "https://zengm.com/blog/2022/09/create-leagues-mix/", "published_at": "2022-09-07T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4230ca3e5", "title": "New team: the Oakland Blue Oaks", "url": "https://zengm.com/blog/2022/08/oakland-blue-oaks/", "published_at": "2022-08-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4235ccb73", "title": "Bug fix for trading picks during the draft", "url": "https://zengm.com/blog/2022/08/bug-fix-trading-picks-during-draft/", "published_at": "2022-08-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b424465079", "title": "All sports have an All-Star Game, and more All-Star settings", "url": "https://zengm.com/blog/2022/07/all-star-game-all-sports/", "published_at": "2022-07-11T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4253eb2c3", "title": "The Universal Draft Lottery Simulator", "url": "https://zengm.com/blog/2022/07/universal-draft-lottery-simulator/", "published_at": "2022-07-07T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b425be02e2", "title": "Investigating a tricky performance bug", "url": "https://zengm.com/blog/2022/07/investigating-a-tricky-performance-bug/", "published_at": "2022-07-04T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b426a10a97", "title": "ZenGM Baseball", "url": "https://zengm.com/blog/2022/06/zengm-baseball/", "published_at": "2022-06-22T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b426d87ab1", "title": "New \"command palette\" allows easy keyboard navigation of your league", "url": "https://zengm.com/blog/2022/01/command-palette/", "published_at": "2022-01-20T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b427cf6480", "title": "New settings allow you to disable the salary cap and have more control over rookie contracts", "url": "https://zengm.com/blog/2022/01/salary-cap-rookie-contracts/", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4285360bf", "title": "2021 was another great year for ZenGM", "url": "https://zengm.com/blog/2022/01/2021-was-awesome/", "published_at": "2022-01-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b428d87c37", "title": "A bunch of new acheivements, including rebuilds", "url": "https://zengm.com/blog/2021/12/achievements-rebuilds/", "published_at": "2021-12-30T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4299af09e", "title": "Playoff power rankings", "url": "https://zengm.com/blog/2021/11/playoff-power-rankings/", "published_at": "2021-11-15T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42a7a49eb", "title": "New \"Season Preview\" page lets you quickly see the top players/teams as well as who is getting better and who is getting worse", "url": "https://zengm.com/blog/2021/11/season-preview/", "published_at": "2021-11-15T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42b1febb2", "title": "No more size limit for exporting leagues", "url": "https://zengm.com/blog/2021/10/size-limit-export/", "published_at": "2021-10-26T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42b2cb9b7", "title": "Players act differently when they're in foul trouble", "url": "https://zengm.com/blog/2021/10/foul-trouble/", "published_at": "2021-10-06T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42c0eb3c2", "title": "I rewrote the football game simulation engine to fix weird bugs and improve penalties", "url": "https://zengm.com/blog/2021/10/football-penalties-rewrite/", "published_at": "2021-10-04T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42c3eab3b", "title": "Slam dunk contest", "url": "https://zengm.com/blog/2021/09/slam-dunk-contest/", "published_at": "2021-09-13T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42d0c4c61", "title": "Basketball GM now supports the play-in tournament", "url": "https://zengm.com/blog/2021/09/play-in-tournament/", "published_at": "2021-09-01T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42d654497", "title": "New playoff settings: \"Split By Conference\", \"# Guaranteed Per Division\", and \"Reseed Rounds\"", "url": "https://zengm.com/blog/2021/08/playoff-settings/", "published_at": "2021-08-14T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42e64ae29", "title": "No more hard cutoff in three point shooting tendency", "url": "https://zengm.com/blog/2021/08/three-point-cutoff/", "published_at": "2021-08-11T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42eb02e59", "title": "Improved identification of rookie contracts in real players leagues", "url": "https://zengm.com/blog/2021/07/rookie-contracts/", "published_at": "2021-07-15T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42eda2f62", "title": "Randomize built-in teams when starting a new random players league", "url": "https://zengm.com/blog/2021/07/randomize-built-in-teams/", "published_at": "2021-07-11T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b42fcf2e20", "title": "Players can now play through minor injuries", "url": "https://zengm.com/blog/2021/05/play-through-injuries/", "published_at": "2021-05-31T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4301e240f", "title": "Automatic ticket prices", "url": "https://zengm.com/blog/2021/05/auto-ticket-prices/", "published_at": "2021-05-25T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b430fe76d5", "title": "Built-in teams update: new teams, secondary logos, and more", "url": "https://zengm.com/blog/2021/05/built-in-teams-update/", "published_at": "2021-05-17T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4312a0775", "title": "The AI now considers roster fit when making free agent signings and draft picks", "url": "https://zengm.com/blog/2021/05/ai-roster-fit/", "published_at": "2021-05-08T00:00:00+00:00" }, { "id": "01a08c66-b593-7081-b26a-07b4322a0107", "title": "Trade finding algorithm improvements", "url": "https://zengm.com/blog/2021/05/trade-finding-algorithm/", "published_at": "2021-05-03T00:00:00+00:00" } ] posts Claim your blog
Back to zengm.com
Blog · corpus.blog/blogs/zengm.com/posts

zengm.com

zengm.com

2026

2025

2024

2023

2022

2021