• New Banjo-Kazooie Game Gets Heartbreaking Update

    A rumored in-development Banjo-Kazooie game may have fallen victim to Microsoft's recently announced restructuring and joined the list of the company's newly canceled games. While there hasn't even been official confirmation that another Banjo-Kazooie game was being made, rumors have been swirling for a long time, and they're now pointing to such a game never getting to see the light of day.
    #new #banjokazooie #game #gets #heartbreaking
    New Banjo-Kazooie Game Gets Heartbreaking Update
    A rumored in-development Banjo-Kazooie game may have fallen victim to Microsoft's recently announced restructuring and joined the list of the company's newly canceled games. While there hasn't even been official confirmation that another Banjo-Kazooie game was being made, rumors have been swirling for a long time, and they're now pointing to such a game never getting to see the light of day. #new #banjokazooie #game #gets #heartbreaking
    GAMERANT.COM
    New Banjo-Kazooie Game Gets Heartbreaking Update
    A rumored in-development Banjo-Kazooie game may have fallen victim to Microsoft's recently announced restructuring and joined the list of the company's newly canceled games. While there hasn't even been official confirmation that another Banjo-Kazooie game was being made, rumors have been swirling for a long time, and they're now pointing to such a game never getting to see the light of day.
    Like
    Wow
    Love
    Sad
    Angry
    17
    0 Comments 0 Shares
  • Xbox Cancels New MMO From Elder Scrolls Online Team In Latest Wave Of Cuts - Report

    In addition to Rare's Everwild, it appears another canceled game at Xbox from the latest round of restructuring is a long-in-development MMORPG from ZeniMax Online Studios.According to Bloomberg reporter Jason Schreier, Microsoft has canceled "Blackbird," the codename for the project from makers of The Elder Scrolls Online. Schreier said the game had been in development since 2018. No other details about the project were revealed."As one illustration of just how sloppy and chaotic today's mass Xbox layoff has been, some employees at Zenimax Online Studios are now watching their Slack accounts abruptly get locked out. No message from HR, no word on whether they still have a job, just an ominous Slack deactivation," Schreier added.Continue Reading at GameSpot
    #xbox #cancels #new #mmo #elder
    Xbox Cancels New MMO From Elder Scrolls Online Team In Latest Wave Of Cuts - Report
    In addition to Rare's Everwild, it appears another canceled game at Xbox from the latest round of restructuring is a long-in-development MMORPG from ZeniMax Online Studios.According to Bloomberg reporter Jason Schreier, Microsoft has canceled "Blackbird," the codename for the project from makers of The Elder Scrolls Online. Schreier said the game had been in development since 2018. No other details about the project were revealed."As one illustration of just how sloppy and chaotic today's mass Xbox layoff has been, some employees at Zenimax Online Studios are now watching their Slack accounts abruptly get locked out. No message from HR, no word on whether they still have a job, just an ominous Slack deactivation," Schreier added.Continue Reading at GameSpot #xbox #cancels #new #mmo #elder
    WWW.GAMESPOT.COM
    Xbox Cancels New MMO From Elder Scrolls Online Team In Latest Wave Of Cuts - Report
    In addition to Rare's Everwild, it appears another canceled game at Xbox from the latest round of restructuring is a long-in-development MMORPG from ZeniMax Online Studios.According to Bloomberg reporter Jason Schreier, Microsoft has canceled "Blackbird," the codename for the project from makers of The Elder Scrolls Online. Schreier said the game had been in development since 2018. No other details about the project were revealed."As one illustration of just how sloppy and chaotic today's mass Xbox layoff has been, some employees at Zenimax Online Studios are now watching their Slack accounts abruptly get locked out. No message from HR, no word on whether they still have a job, just an ominous Slack deactivation," Schreier added.Continue Reading at GameSpot
    0 Comments 0 Shares
  • Scythe Solvency Update, "Scycopter" Liquid Cooler, New $45 Air Coolers

    Coolers News Scythe Solvency Update, "Scycopter" Liquid Cooler, New Air CoolersJune 10, 2025Last Updated: 2025-06-10We looked at Scythe’s Scycopter liquid cooler, Magoroku air cooler, Big Shuriken 4, and moreThe HighlightsScythe showed off its liquid cooler, which is currently going by the working name “Scycopter”The Magoruku is a CPU cooler that’s supposed to be relatively high performing with 6x6mm heat pipes coupled with a nickel-plated copper cold plateWe talked to Scythe about the news of its European branch closing downTable of ContentsAutoTOC Grab a GN Tear-Down Toolkit to support our AD-FREE reviews and IN-DEPTH testing while also getting a high-quality, highly portable 10-piece toolkit that was custom designed for use with video cards for repasting and water block installation. Includes a portable roll bag, hook hangers for pegboards, a storage compartment, and instructional GPU disassembly cards.IntroWe visited Scythe’s booth at Computex 2025 and the company showed off several new coolers, including a mockup of a liquid cooler. Our visit comes off the heels of the news that Scythe will be closing its European branch, which we discussed with the company.Editor's note: This was originally published on May 22, 2025 as a video. This content has been adapted to written format for this article and is unchanged from the original publication.CreditsHostSteve BurkeCamera, Video EditingMike GaglioneVitalii MakhnovetsWriting, Web EditingJimmy ThangScythe Liquid CoolerTo our knowledge, we saw Scythe’s first liquid cooler at the show. We spoke with Kitagawa-san, lead designer at Scythe, who told us that he spent about the last year studying liquid coolers. The company also showed us a 3D-printed prototype peg with a piece of tape underneath it, which allows you to essentially stick it to any fan you want. A fan can then socket on top of the cooler and be angled to shoot air down toward the VRM or RAM, etc. The working name of the liquid cooler is the “Scycopter,” which is really cool and is a combination of Scythe and helicopter. Currently, the radiator thickness is pretty standard at 27mm, but that might change. The standard pump block will have an option that will allow you to install a fan on top of it. For the fins, the pitch is .1mm. That makes them pretty close together. Scythe also tells us that the total height of the copper coldplate is 1.6mm. Magoruku Grab a GN15 Large Anti-Static Modmat to celebrate our 15th Anniversary and for a high-quality PC building work surface. The Modmat features useful PC building diagrams and is anti-static conductive. Purchases directly fund our work!We showed Scythe’s Magoruku CPU cooler at last year’s Computex, but it’s coming out now. It’s supposed to be but the company tells us that it might be able to bring it down to in the US depending on market conditions. The Magoruku is supposed to be a relatively high-performing, mid-range/budget cooler. Scythe is going with a flat nickel-plated copper for its cold plate coupled with 6x6mm heat pipes. The company is using 2x120mm “Wonder Tornado” fans as Scythe calls them. They are 25mm-thick fans and use metal brackets to adjust the fan height. Mugen 6 TUFThe Mugen 6 TUF is an ASUS-themed version of the CPU cooler. Big Shuriken 4Scythe also showed off its Big Shuriken 4 CPU cooler, which the company also showed last year, but is now about final. It has cut-outs on the side of the fan, which Scythe says helps with performance as it allows air to escape from the sides. One of the things that Scythe is trying to figure out with the Big Shuriken 4 is whether to make it all black or ARGB. Scythe Closing Its European Branch Visit our Patreon page to contribute a few dollars toward this website's operationAdditionally, when you purchase through links to retailers on our site, we may earn a small affiliate commission.In regards to Scythe’s closed European branch, it sounds like the company is restructuring and moving operations to Taiwan. Scythe tells us it will still ship and sell to European customers.
    #scythe #solvency #update #quotscycopterquot #liquid
    Scythe Solvency Update, "Scycopter" Liquid Cooler, New $45 Air Coolers
    Coolers News Scythe Solvency Update, "Scycopter" Liquid Cooler, New Air CoolersJune 10, 2025Last Updated: 2025-06-10We looked at Scythe’s Scycopter liquid cooler, Magoroku air cooler, Big Shuriken 4, and moreThe HighlightsScythe showed off its liquid cooler, which is currently going by the working name “Scycopter”The Magoruku is a CPU cooler that’s supposed to be relatively high performing with 6x6mm heat pipes coupled with a nickel-plated copper cold plateWe talked to Scythe about the news of its European branch closing downTable of ContentsAutoTOC Grab a GN Tear-Down Toolkit to support our AD-FREE reviews and IN-DEPTH testing while also getting a high-quality, highly portable 10-piece toolkit that was custom designed for use with video cards for repasting and water block installation. Includes a portable roll bag, hook hangers for pegboards, a storage compartment, and instructional GPU disassembly cards.IntroWe visited Scythe’s booth at Computex 2025 and the company showed off several new coolers, including a mockup of a liquid cooler. Our visit comes off the heels of the news that Scythe will be closing its European branch, which we discussed with the company.Editor's note: This was originally published on May 22, 2025 as a video. This content has been adapted to written format for this article and is unchanged from the original publication.CreditsHostSteve BurkeCamera, Video EditingMike GaglioneVitalii MakhnovetsWriting, Web EditingJimmy ThangScythe Liquid CoolerTo our knowledge, we saw Scythe’s first liquid cooler at the show. We spoke with Kitagawa-san, lead designer at Scythe, who told us that he spent about the last year studying liquid coolers. The company also showed us a 3D-printed prototype peg with a piece of tape underneath it, which allows you to essentially stick it to any fan you want. A fan can then socket on top of the cooler and be angled to shoot air down toward the VRM or RAM, etc. The working name of the liquid cooler is the “Scycopter,” which is really cool and is a combination of Scythe and helicopter. Currently, the radiator thickness is pretty standard at 27mm, but that might change. The standard pump block will have an option that will allow you to install a fan on top of it. For the fins, the pitch is .1mm. That makes them pretty close together. Scythe also tells us that the total height of the copper coldplate is 1.6mm. Magoruku Grab a GN15 Large Anti-Static Modmat to celebrate our 15th Anniversary and for a high-quality PC building work surface. The Modmat features useful PC building diagrams and is anti-static conductive. Purchases directly fund our work!We showed Scythe’s Magoruku CPU cooler at last year’s Computex, but it’s coming out now. It’s supposed to be but the company tells us that it might be able to bring it down to in the US depending on market conditions. The Magoruku is supposed to be a relatively high-performing, mid-range/budget cooler. Scythe is going with a flat nickel-plated copper for its cold plate coupled with 6x6mm heat pipes. The company is using 2x120mm “Wonder Tornado” fans as Scythe calls them. They are 25mm-thick fans and use metal brackets to adjust the fan height. Mugen 6 TUFThe Mugen 6 TUF is an ASUS-themed version of the CPU cooler. Big Shuriken 4Scythe also showed off its Big Shuriken 4 CPU cooler, which the company also showed last year, but is now about final. It has cut-outs on the side of the fan, which Scythe says helps with performance as it allows air to escape from the sides. One of the things that Scythe is trying to figure out with the Big Shuriken 4 is whether to make it all black or ARGB. Scythe Closing Its European Branch Visit our Patreon page to contribute a few dollars toward this website's operationAdditionally, when you purchase through links to retailers on our site, we may earn a small affiliate commission.In regards to Scythe’s closed European branch, it sounds like the company is restructuring and moving operations to Taiwan. Scythe tells us it will still ship and sell to European customers. #scythe #solvency #update #quotscycopterquot #liquid
    GAMERSNEXUS.NET
    Scythe Solvency Update, "Scycopter" Liquid Cooler, New $45 Air Coolers
    Coolers News Scythe Solvency Update, "Scycopter" Liquid Cooler, New $45 Air CoolersJune 10, 2025Last Updated: 2025-06-10We looked at Scythe’s Scycopter liquid cooler, Magoroku air cooler, Big Shuriken 4, and moreThe HighlightsScythe showed off its liquid cooler, which is currently going by the working name “Scycopter”The Magoruku is a $50 CPU cooler that’s supposed to be relatively high performing with 6x6mm heat pipes coupled with a nickel-plated copper cold plateWe talked to Scythe about the news of its European branch closing downTable of ContentsAutoTOC Grab a GN Tear-Down Toolkit to support our AD-FREE reviews and IN-DEPTH testing while also getting a high-quality, highly portable 10-piece toolkit that was custom designed for use with video cards for repasting and water block installation. Includes a portable roll bag, hook hangers for pegboards, a storage compartment, and instructional GPU disassembly cards.IntroWe visited Scythe’s booth at Computex 2025 and the company showed off several new coolers, including a mockup of a liquid cooler. Our visit comes off the heels of the news that Scythe will be closing its European branch, which we discussed with the company.Editor's note: This was originally published on May 22, 2025 as a video. This content has been adapted to written format for this article and is unchanged from the original publication.CreditsHostSteve BurkeCamera, Video EditingMike GaglioneVitalii MakhnovetsWriting, Web EditingJimmy ThangScythe Liquid CoolerTo our knowledge, we saw Scythe’s first liquid cooler at the show. We spoke with Kitagawa-san, lead designer at Scythe, who told us that he spent about the last year studying liquid coolers. The company also showed us a 3D-printed prototype peg with a piece of tape underneath it, which allows you to essentially stick it to any fan you want. A fan can then socket on top of the cooler and be angled to shoot air down toward the VRM or RAM, etc. The working name of the liquid cooler is the “Scycopter,” which is really cool and is a combination of Scythe and helicopter. Currently, the radiator thickness is pretty standard at 27mm, but that might change. The standard pump block will have an option that will allow you to install a fan on top of it. For the fins, the pitch is .1mm. That makes them pretty close together. Scythe also tells us that the total height of the copper coldplate is 1.6mm. Magoruku Grab a GN15 Large Anti-Static Modmat to celebrate our 15th Anniversary and for a high-quality PC building work surface. The Modmat features useful PC building diagrams and is anti-static conductive. Purchases directly fund our work! (or consider a direct donation or a Patreon contribution!)We showed Scythe’s Magoruku CPU cooler at last year’s Computex, but it’s coming out now. It’s supposed to be $50, but the company tells us that it might be able to bring it down to $44 in the US depending on market conditions. The Magoruku is supposed to be a relatively high-performing, mid-range/budget cooler. Scythe is going with a flat nickel-plated copper for its cold plate coupled with 6x6mm heat pipes. The company is using 2x120mm “Wonder Tornado” fans as Scythe calls them. They are 25mm-thick fans and use metal brackets to adjust the fan height. Mugen 6 TUFThe Mugen 6 TUF is an ASUS-themed version of the CPU cooler. Big Shuriken 4Scythe also showed off its Big Shuriken 4 CPU cooler, which the company also showed last year, but is now about final. It has cut-outs on the side of the fan, which Scythe says helps with performance as it allows air to escape from the sides. One of the things that Scythe is trying to figure out with the Big Shuriken 4 is whether to make it all black or ARGB. Scythe Closing Its European Branch Visit our Patreon page to contribute a few dollars toward this website's operation (or consider a direct donation or buying something from our GN Store!) Additionally, when you purchase through links to retailers on our site, we may earn a small affiliate commission.In regards to Scythe’s closed European branch, it sounds like the company is restructuring and moving operations to Taiwan. Scythe tells us it will still ship and sell to European customers.
    0 Comments 0 Shares
  • The hidden time bomb in the tax code that's fueling mass tech layoffs: A decades-old tax rule helped build America's tech economy. A quiet change under Trump helped dismantle it

    For the past two years, it’s been a ghost in the machine of American tech. Between 2022 and today, a little-noticed tweak to the U.S. tax code has quietly rewired the financial logic of how American companies invest in research and development. Outside of CFO and accounting circles, almost no one knew it existed. “I work on these tax write-offs and still hadn’t heard about this,” a chief operating officer at a private-equity-backed tech company told Quartz. “It’s just been so weirdly silent.”AdvertisementStill, the delayed change to a decades-old tax provision — buried deep in the 2017 tax law — has contributed to the loss of hundreds of thousands of high-paying, white-collar jobs. That’s the picture that emerges from a review of corporate filings, public financial data, analysis of timelines, and interviews with industry insiders. One accountant, working in-house at a tech company, described it as a “niche issue with broad impact,” echoing sentiments from venture capital investors also interviewed for this article. Some spoke on condition of anonymity to discuss sensitive political matters.Since the start of 2023, more than half-a-million tech workers have been laid off, according to industry tallies. Headlines have blamed over-hiring during the pandemic and, more recently, AI. But beneath the surface was a hidden accelerant: a change to what’s known as Section 174 that helped gut in-house software and product development teams everywhere from tech giants such as Microsoftand Metato much smaller, private, direct-to-consumer and other internet-first companies.Now, as a bipartisan effort to repeal the Section 174 change moves through Congress, bigger questions are surfacing: How did a single line in the tax code help trigger a tsunami of mass layoffs? And why did no one see it coming? For almost 70 years, American companies could deduct 100% of qualified research and development spending in the year they incurred the costs. Salaries, software, contractor payments — if it contributed to creating or improving a product, it came off the top of a firm’s taxable income.AdvertisementThe deduction was guaranteed by Section 174 of the IRS Code of 1954, and under the provision, R&D flourished in the U.S.Microsoft was founded in 1975. Applelaunched its first computer in 1976. Googleincorporated in 1998. Facebook opened to the general public in 2006. All these companies, now among the most valuable in the world, developed their earliest products — programming tools, hardware, search engines — under a tax system that rewarded building now, not later.The subsequent rise of smartphones, cloud computing, and mobile apps also happened in an America where companies could immediately write off their investments in engineering, infrastructure, and experimentation. It was a baseline assumption — innovation and risk-taking subsidized by the tax code — that shaped how founders operated and how investors made decisions.In turn, tech companies largely built their products in the U.S. AdvertisementMicrosoft’s operating systems were coded in Washington state. Apple’s early hardware and software teams were in California. Google’s search engine was born at Stanford and scaled from Mountain View. Facebook’s entire social architecture was developed in Menlo Park. The deduction directly incentivized keeping R&D close to home, rewarding companies for investing in American workers, engineers, and infrastructure.That’s what makes the politics of Section 174 so revealing. For all the rhetoric about bringing jobs back and making things in America, the first Trump administration’s major tax bill arguably helped accomplish the opposite.When Congress passed the Tax Cuts and Jobs Act, the signature legislative achievement of President Donald Trump’s first term, it slashed the corporate tax rate from 35% to 21% — a massive revenue loss on paper for the federal government.To make the 2017 bill comply with Senate budget rules, lawmakers needed to offset the cost. So they added future tax hikes that wouldn’t kick in right away, wouldn’t provoke immediate backlash from businesses, and could, in theory, be quietly repealed later.AdvertisementThe delayed change to Section 174 — from immediate expensing of R&D to mandatory amortization, meaning that companies must spread the deduction out in smaller chunks over five or even 15-year periods — was that kind of provision. It didn’t start affecting the budget until 2022, but it helped the TCJA appear “deficit neutral” over the 10-year window used for legislative scoring.The delay wasn’t a technical necessity. It was a political tactic. Such moves are common in tax legislation. Phase-ins and delayed provisions let lawmakers game how the Congressional Budget Office— Congress’ nonpartisan analyst of how bills impact budgets and deficits — scores legislation, pushing costs or revenue losses outside official forecasting windows.And so, on schedule in 2022, the change to Section 174 went into effect. Companies filed their 2022 tax returns under the new rules in early 2023. And suddenly, R&D wasn’t a full, immediate write-off anymore. The tax benefits of salaries for engineers, product and project managers, data scientists, and even some user experience and marketing staff — all of which had previously reduced taxable income in year one — now had to be spread out over five- or 15-year periods. To understand the impact, imagine a personal tax code change that allowed you to deduct 100% of your biggest source of expenses, and that becoming a 20% deduction. For cash-strapped companies, especially those not yet profitable, the result was a painful tax bill just as venture funding dried up and interest rates soared.AdvertisementSalesforce office buildings in San Francisco.Photo: Jason Henry/BloombergIt’s no coincidence that Meta announced its “Year of Efficiency” immediately after the Section 174 change took effect. Ditto Microsoft laying off 10,000 employees in January 2023 despite strong earnings, or Google parent Alphabet cutting 12,000 jobs around the same time.Amazonalso laid off almost 30,000 people, with cuts focused not just on logistics but on Alexa and internal cloud tools — precisely the kinds of projects that would have once qualified as immediately deductible R&D. Salesforceeliminated 10% of its staff, or 8,000 people, including entire product teams.In public, companies blamed bloat and AI. But inside boardrooms, spreadsheets were telling a quieter story. And MD&A notes — management’s notes on the numbers — buried deep in 10-K filings recorded the change, too. R&D had become more expensive to carry. Headcount, the leading R&D expense across the tech industry, was the easiest thing to cut.AdvertisementIn its 2023 annual report, Meta described salaries as its single biggest R&D expense. Between the first and second years that the Section 174 change began affecting tax returns, Meta cut its total workforce by almost 25%. Over the same period, Microsoft reduced its global headcount by about 7%, with cuts concentrated in product-facing, engineering-heavy roles.Smaller companies without the fortress-like balance sheets of Big Tech have arguably been hit even harder. Twilioslashed 22% of its workforce in 2023 alone. Shopifycut almost 30% of staff in 2022 and 2023. Coinbasereduced headcount by 36% across a pair of brutal restructuring waves.Since going into effect, the provision has hit at the very heart of America’s economic growth engine: the tech sector.By market cap, tech giants dominate the S&P 500, with the “Magnificent 7” alone accounting for more than a third of the index’s total value. Workforce numbers tell a similar story, with tech employing millions of Americans directly and supporting the employment of tens of millions more. As measured by GDP, capital-T tech contributes about 10% of national output.AdvertisementIt’s not just that tech layoffs were large, it’s that they were massively disproportionate. Across the broader U.S. economy, job cuts hovered around in low single digits across most sectors. But in tech, entire divisions vanished, with a whopping 60% jump in layoffs between 2022 and 2023. Some cuts reflected real inefficiencies — a response to over-hiring during the zero-interest rate boom. At the same time, many of the roles eliminated were in R&D, product, and engineering, precisely the kind of functions that had once benefitted from generous tax treatment under Section 174.Throughout the 2010s, a broad swath of startups, direct-to-consumer brands, and internet-first firms — basically every company you recognize from Instagram or Facebook ads — built their growth models around a kind of engineered break-even.The tax code allowed them to spend aggressively on product and engineering, then write it all off as R&D, keeping their taxable income close to zero by design. It worked because taxable income and actual cash flow were often notGAAP accounting practices. Basically, as long as spending counted as R&D, companies could report losses to investors while owing almost nothing to the IRS.But the Section 174 change broke that model. Once those same expenses had to be spread out, or amortized, over multiple years, the tax shield vanished. Companies that were still burning cash suddenly looked profitable on paper, triggering real tax bills on imaginary gains.AdvertisementThe logic that once fueled a generation of digital-first growth collapsed overnight.So it wasn’t just tech experiencing effects. From 1954 until 2022, the U.S. tax code had encouraged businesses of all stripes to behave like tech companies. From retail to logistics, healthcare to media, if firms built internal tools, customized a software stack, or invested in business intelligence and data-driven product development, they could expense those costs. The write-off incentivized in-house builds and fast growth well outside the capital-T tech sector. This lines up with OECD research showing that immediate deductions foster innovation more than spread-out ones.And American companies ran with that logic. According to government data, U.S. businesses reported about billion in R&D expenditures in 2019 alone, and almost half of that came from industries outside traditional tech. The Bureau of Economic Analysis estimates that this sector, the broader digital economy, accounts for another 10% of GDP.Add that to core tech’s contribution, and the Section 174 shift has likely touched at least 20% of the U.S. economy.AdvertisementThe result? A tax policy aimed at raising short-term revenue effectively hid a time bomb inside the growth engines of thousands of companies. And when it detonated, it kneecapped the incentive for hiring American engineers or investing in American-made tech and digital products.It made building tech companies in America look irrational on a spreadsheet.A bipartisan group of lawmakers is pushing to repeal the Section 174 change, with business groups, CFOs, crypto executives, and venture capitalists lobbying hard for retroactive relief. But the politics are messy. Fixing 174 would mean handing a tax break to the same companies many voters in both parties see as symbols of corporate excess. Any repeal would also come too late for the hundreds of thousands of workers already laid off.And of course, the losses don’t stop at Meta’s or Google’s campus gates. They ripple out. When high-paid tech workers disappear, so do the lunch orders. The house tours. The contract gigs. The spending habits that sustain entire urban economies and thousands of other jobs. Sandwich artists. Rideshare drivers. Realtors. Personal trainers. House cleaners. In tech-heavy cities, the fallout runs deep — and it’s still unfolding.AdvertisementWashington is now poised to pass a second Trump tax bill — one packed with more obscure provisions, more delayed impacts, more quiet redistribution. And it comes as analysts are only just beginning to understand the real-world effects of the last round.The Section 174 change “significantly increased the tax burden on companies investing in innovation, potentially stifling economic growth and reducing the United States’ competitiveness on the global stage,” according to the tax consulting firm KBKG. Whether the U.S. will reverse course — or simply adapt to a new normal — remains to be seen.
    #hidden #time #bomb #tax #code
    The hidden time bomb in the tax code that's fueling mass tech layoffs: A decades-old tax rule helped build America's tech economy. A quiet change under Trump helped dismantle it
    For the past two years, it’s been a ghost in the machine of American tech. Between 2022 and today, a little-noticed tweak to the U.S. tax code has quietly rewired the financial logic of how American companies invest in research and development. Outside of CFO and accounting circles, almost no one knew it existed. “I work on these tax write-offs and still hadn’t heard about this,” a chief operating officer at a private-equity-backed tech company told Quartz. “It’s just been so weirdly silent.”AdvertisementStill, the delayed change to a decades-old tax provision — buried deep in the 2017 tax law — has contributed to the loss of hundreds of thousands of high-paying, white-collar jobs. That’s the picture that emerges from a review of corporate filings, public financial data, analysis of timelines, and interviews with industry insiders. One accountant, working in-house at a tech company, described it as a “niche issue with broad impact,” echoing sentiments from venture capital investors also interviewed for this article. Some spoke on condition of anonymity to discuss sensitive political matters.Since the start of 2023, more than half-a-million tech workers have been laid off, according to industry tallies. Headlines have blamed over-hiring during the pandemic and, more recently, AI. But beneath the surface was a hidden accelerant: a change to what’s known as Section 174 that helped gut in-house software and product development teams everywhere from tech giants such as Microsoftand Metato much smaller, private, direct-to-consumer and other internet-first companies.Now, as a bipartisan effort to repeal the Section 174 change moves through Congress, bigger questions are surfacing: How did a single line in the tax code help trigger a tsunami of mass layoffs? And why did no one see it coming? For almost 70 years, American companies could deduct 100% of qualified research and development spending in the year they incurred the costs. Salaries, software, contractor payments — if it contributed to creating or improving a product, it came off the top of a firm’s taxable income.AdvertisementThe deduction was guaranteed by Section 174 of the IRS Code of 1954, and under the provision, R&D flourished in the U.S.Microsoft was founded in 1975. Applelaunched its first computer in 1976. Googleincorporated in 1998. Facebook opened to the general public in 2006. All these companies, now among the most valuable in the world, developed their earliest products — programming tools, hardware, search engines — under a tax system that rewarded building now, not later.The subsequent rise of smartphones, cloud computing, and mobile apps also happened in an America where companies could immediately write off their investments in engineering, infrastructure, and experimentation. It was a baseline assumption — innovation and risk-taking subsidized by the tax code — that shaped how founders operated and how investors made decisions.In turn, tech companies largely built their products in the U.S. AdvertisementMicrosoft’s operating systems were coded in Washington state. Apple’s early hardware and software teams were in California. Google’s search engine was born at Stanford and scaled from Mountain View. Facebook’s entire social architecture was developed in Menlo Park. The deduction directly incentivized keeping R&D close to home, rewarding companies for investing in American workers, engineers, and infrastructure.That’s what makes the politics of Section 174 so revealing. For all the rhetoric about bringing jobs back and making things in America, the first Trump administration’s major tax bill arguably helped accomplish the opposite.When Congress passed the Tax Cuts and Jobs Act, the signature legislative achievement of President Donald Trump’s first term, it slashed the corporate tax rate from 35% to 21% — a massive revenue loss on paper for the federal government.To make the 2017 bill comply with Senate budget rules, lawmakers needed to offset the cost. So they added future tax hikes that wouldn’t kick in right away, wouldn’t provoke immediate backlash from businesses, and could, in theory, be quietly repealed later.AdvertisementThe delayed change to Section 174 — from immediate expensing of R&D to mandatory amortization, meaning that companies must spread the deduction out in smaller chunks over five or even 15-year periods — was that kind of provision. It didn’t start affecting the budget until 2022, but it helped the TCJA appear “deficit neutral” over the 10-year window used for legislative scoring.The delay wasn’t a technical necessity. It was a political tactic. Such moves are common in tax legislation. Phase-ins and delayed provisions let lawmakers game how the Congressional Budget Office— Congress’ nonpartisan analyst of how bills impact budgets and deficits — scores legislation, pushing costs or revenue losses outside official forecasting windows.And so, on schedule in 2022, the change to Section 174 went into effect. Companies filed their 2022 tax returns under the new rules in early 2023. And suddenly, R&D wasn’t a full, immediate write-off anymore. The tax benefits of salaries for engineers, product and project managers, data scientists, and even some user experience and marketing staff — all of which had previously reduced taxable income in year one — now had to be spread out over five- or 15-year periods. To understand the impact, imagine a personal tax code change that allowed you to deduct 100% of your biggest source of expenses, and that becoming a 20% deduction. For cash-strapped companies, especially those not yet profitable, the result was a painful tax bill just as venture funding dried up and interest rates soared.AdvertisementSalesforce office buildings in San Francisco.Photo: Jason Henry/BloombergIt’s no coincidence that Meta announced its “Year of Efficiency” immediately after the Section 174 change took effect. Ditto Microsoft laying off 10,000 employees in January 2023 despite strong earnings, or Google parent Alphabet cutting 12,000 jobs around the same time.Amazonalso laid off almost 30,000 people, with cuts focused not just on logistics but on Alexa and internal cloud tools — precisely the kinds of projects that would have once qualified as immediately deductible R&D. Salesforceeliminated 10% of its staff, or 8,000 people, including entire product teams.In public, companies blamed bloat and AI. But inside boardrooms, spreadsheets were telling a quieter story. And MD&A notes — management’s notes on the numbers — buried deep in 10-K filings recorded the change, too. R&D had become more expensive to carry. Headcount, the leading R&D expense across the tech industry, was the easiest thing to cut.AdvertisementIn its 2023 annual report, Meta described salaries as its single biggest R&D expense. Between the first and second years that the Section 174 change began affecting tax returns, Meta cut its total workforce by almost 25%. Over the same period, Microsoft reduced its global headcount by about 7%, with cuts concentrated in product-facing, engineering-heavy roles.Smaller companies without the fortress-like balance sheets of Big Tech have arguably been hit even harder. Twilioslashed 22% of its workforce in 2023 alone. Shopifycut almost 30% of staff in 2022 and 2023. Coinbasereduced headcount by 36% across a pair of brutal restructuring waves.Since going into effect, the provision has hit at the very heart of America’s economic growth engine: the tech sector.By market cap, tech giants dominate the S&P 500, with the “Magnificent 7” alone accounting for more than a third of the index’s total value. Workforce numbers tell a similar story, with tech employing millions of Americans directly and supporting the employment of tens of millions more. As measured by GDP, capital-T tech contributes about 10% of national output.AdvertisementIt’s not just that tech layoffs were large, it’s that they were massively disproportionate. Across the broader U.S. economy, job cuts hovered around in low single digits across most sectors. But in tech, entire divisions vanished, with a whopping 60% jump in layoffs between 2022 and 2023. Some cuts reflected real inefficiencies — a response to over-hiring during the zero-interest rate boom. At the same time, many of the roles eliminated were in R&D, product, and engineering, precisely the kind of functions that had once benefitted from generous tax treatment under Section 174.Throughout the 2010s, a broad swath of startups, direct-to-consumer brands, and internet-first firms — basically every company you recognize from Instagram or Facebook ads — built their growth models around a kind of engineered break-even.The tax code allowed them to spend aggressively on product and engineering, then write it all off as R&D, keeping their taxable income close to zero by design. It worked because taxable income and actual cash flow were often notGAAP accounting practices. Basically, as long as spending counted as R&D, companies could report losses to investors while owing almost nothing to the IRS.But the Section 174 change broke that model. Once those same expenses had to be spread out, or amortized, over multiple years, the tax shield vanished. Companies that were still burning cash suddenly looked profitable on paper, triggering real tax bills on imaginary gains.AdvertisementThe logic that once fueled a generation of digital-first growth collapsed overnight.So it wasn’t just tech experiencing effects. From 1954 until 2022, the U.S. tax code had encouraged businesses of all stripes to behave like tech companies. From retail to logistics, healthcare to media, if firms built internal tools, customized a software stack, or invested in business intelligence and data-driven product development, they could expense those costs. The write-off incentivized in-house builds and fast growth well outside the capital-T tech sector. This lines up with OECD research showing that immediate deductions foster innovation more than spread-out ones.And American companies ran with that logic. According to government data, U.S. businesses reported about billion in R&D expenditures in 2019 alone, and almost half of that came from industries outside traditional tech. The Bureau of Economic Analysis estimates that this sector, the broader digital economy, accounts for another 10% of GDP.Add that to core tech’s contribution, and the Section 174 shift has likely touched at least 20% of the U.S. economy.AdvertisementThe result? A tax policy aimed at raising short-term revenue effectively hid a time bomb inside the growth engines of thousands of companies. And when it detonated, it kneecapped the incentive for hiring American engineers or investing in American-made tech and digital products.It made building tech companies in America look irrational on a spreadsheet.A bipartisan group of lawmakers is pushing to repeal the Section 174 change, with business groups, CFOs, crypto executives, and venture capitalists lobbying hard for retroactive relief. But the politics are messy. Fixing 174 would mean handing a tax break to the same companies many voters in both parties see as symbols of corporate excess. Any repeal would also come too late for the hundreds of thousands of workers already laid off.And of course, the losses don’t stop at Meta’s or Google’s campus gates. They ripple out. When high-paid tech workers disappear, so do the lunch orders. The house tours. The contract gigs. The spending habits that sustain entire urban economies and thousands of other jobs. Sandwich artists. Rideshare drivers. Realtors. Personal trainers. House cleaners. In tech-heavy cities, the fallout runs deep — and it’s still unfolding.AdvertisementWashington is now poised to pass a second Trump tax bill — one packed with more obscure provisions, more delayed impacts, more quiet redistribution. And it comes as analysts are only just beginning to understand the real-world effects of the last round.The Section 174 change “significantly increased the tax burden on companies investing in innovation, potentially stifling economic growth and reducing the United States’ competitiveness on the global stage,” according to the tax consulting firm KBKG. Whether the U.S. will reverse course — or simply adapt to a new normal — remains to be seen. #hidden #time #bomb #tax #code
    QZ.COM
    The hidden time bomb in the tax code that's fueling mass tech layoffs: A decades-old tax rule helped build America's tech economy. A quiet change under Trump helped dismantle it
    For the past two years, it’s been a ghost in the machine of American tech. Between 2022 and today, a little-noticed tweak to the U.S. tax code has quietly rewired the financial logic of how American companies invest in research and development. Outside of CFO and accounting circles, almost no one knew it existed. “I work on these tax write-offs and still hadn’t heard about this,” a chief operating officer at a private-equity-backed tech company told Quartz. “It’s just been so weirdly silent.”AdvertisementStill, the delayed change to a decades-old tax provision — buried deep in the 2017 tax law — has contributed to the loss of hundreds of thousands of high-paying, white-collar jobs. That’s the picture that emerges from a review of corporate filings, public financial data, analysis of timelines, and interviews with industry insiders. One accountant, working in-house at a tech company, described it as a “niche issue with broad impact,” echoing sentiments from venture capital investors also interviewed for this article. Some spoke on condition of anonymity to discuss sensitive political matters.Since the start of 2023, more than half-a-million tech workers have been laid off, according to industry tallies. Headlines have blamed over-hiring during the pandemic and, more recently, AI. But beneath the surface was a hidden accelerant: a change to what’s known as Section 174 that helped gut in-house software and product development teams everywhere from tech giants such as Microsoft (MSFT) and Meta (META) to much smaller, private, direct-to-consumer and other internet-first companies.Now, as a bipartisan effort to repeal the Section 174 change moves through Congress, bigger questions are surfacing: How did a single line in the tax code help trigger a tsunami of mass layoffs? And why did no one see it coming? For almost 70 years, American companies could deduct 100% of qualified research and development spending in the year they incurred the costs. Salaries, software, contractor payments — if it contributed to creating or improving a product, it came off the top of a firm’s taxable income.AdvertisementThe deduction was guaranteed by Section 174 of the IRS Code of 1954, and under the provision, R&D flourished in the U.S.Microsoft was founded in 1975. Apple (AAPL) launched its first computer in 1976. Google (GOOGL) incorporated in 1998. Facebook opened to the general public in 2006. All these companies, now among the most valuable in the world, developed their earliest products — programming tools, hardware, search engines — under a tax system that rewarded building now, not later.The subsequent rise of smartphones, cloud computing, and mobile apps also happened in an America where companies could immediately write off their investments in engineering, infrastructure, and experimentation. It was a baseline assumption — innovation and risk-taking subsidized by the tax code — that shaped how founders operated and how investors made decisions.In turn, tech companies largely built their products in the U.S. AdvertisementMicrosoft’s operating systems were coded in Washington state. Apple’s early hardware and software teams were in California. Google’s search engine was born at Stanford and scaled from Mountain View. Facebook’s entire social architecture was developed in Menlo Park. The deduction directly incentivized keeping R&D close to home, rewarding companies for investing in American workers, engineers, and infrastructure.That’s what makes the politics of Section 174 so revealing. For all the rhetoric about bringing jobs back and making things in America, the first Trump administration’s major tax bill arguably helped accomplish the opposite.When Congress passed the Tax Cuts and Jobs Act (TCJA), the signature legislative achievement of President Donald Trump’s first term, it slashed the corporate tax rate from 35% to 21% — a massive revenue loss on paper for the federal government.To make the 2017 bill comply with Senate budget rules, lawmakers needed to offset the cost. So they added future tax hikes that wouldn’t kick in right away, wouldn’t provoke immediate backlash from businesses, and could, in theory, be quietly repealed later.AdvertisementThe delayed change to Section 174 — from immediate expensing of R&D to mandatory amortization, meaning that companies must spread the deduction out in smaller chunks over five or even 15-year periods — was that kind of provision. It didn’t start affecting the budget until 2022, but it helped the TCJA appear “deficit neutral” over the 10-year window used for legislative scoring.The delay wasn’t a technical necessity. It was a political tactic. Such moves are common in tax legislation. Phase-ins and delayed provisions let lawmakers game how the Congressional Budget Office (CBO) — Congress’ nonpartisan analyst of how bills impact budgets and deficits — scores legislation, pushing costs or revenue losses outside official forecasting windows.And so, on schedule in 2022, the change to Section 174 went into effect. Companies filed their 2022 tax returns under the new rules in early 2023. And suddenly, R&D wasn’t a full, immediate write-off anymore. The tax benefits of salaries for engineers, product and project managers, data scientists, and even some user experience and marketing staff — all of which had previously reduced taxable income in year one — now had to be spread out over five- or 15-year periods. To understand the impact, imagine a personal tax code change that allowed you to deduct 100% of your biggest source of expenses, and that becoming a 20% deduction. For cash-strapped companies, especially those not yet profitable, the result was a painful tax bill just as venture funding dried up and interest rates soared.AdvertisementSalesforce office buildings in San Francisco.Photo: Jason Henry/Bloomberg (Getty Images)It’s no coincidence that Meta announced its “Year of Efficiency” immediately after the Section 174 change took effect. Ditto Microsoft laying off 10,000 employees in January 2023 despite strong earnings, or Google parent Alphabet cutting 12,000 jobs around the same time.Amazon (AMZN) also laid off almost 30,000 people, with cuts focused not just on logistics but on Alexa and internal cloud tools — precisely the kinds of projects that would have once qualified as immediately deductible R&D. Salesforce (CRM) eliminated 10% of its staff, or 8,000 people, including entire product teams.In public, companies blamed bloat and AI. But inside boardrooms, spreadsheets were telling a quieter story. And MD&A notes — management’s notes on the numbers — buried deep in 10-K filings recorded the change, too. R&D had become more expensive to carry. Headcount, the leading R&D expense across the tech industry, was the easiest thing to cut.AdvertisementIn its 2023 annual report, Meta described salaries as its single biggest R&D expense. Between the first and second years that the Section 174 change began affecting tax returns, Meta cut its total workforce by almost 25%. Over the same period, Microsoft reduced its global headcount by about 7%, with cuts concentrated in product-facing, engineering-heavy roles.Smaller companies without the fortress-like balance sheets of Big Tech have arguably been hit even harder. Twilio (TWLO) slashed 22% of its workforce in 2023 alone. Shopify (SHOP) (headquartered in Canada but with much of its R&D teams in the U.S.) cut almost 30% of staff in 2022 and 2023. Coinbase (COIN) reduced headcount by 36% across a pair of brutal restructuring waves.Since going into effect, the provision has hit at the very heart of America’s economic growth engine: the tech sector.By market cap, tech giants dominate the S&P 500, with the “Magnificent 7” alone accounting for more than a third of the index’s total value. Workforce numbers tell a similar story, with tech employing millions of Americans directly and supporting the employment of tens of millions more. As measured by GDP, capital-T tech contributes about 10% of national output.AdvertisementIt’s not just that tech layoffs were large, it’s that they were massively disproportionate. Across the broader U.S. economy, job cuts hovered around in low single digits across most sectors. But in tech, entire divisions vanished, with a whopping 60% jump in layoffs between 2022 and 2023. Some cuts reflected real inefficiencies — a response to over-hiring during the zero-interest rate boom. At the same time, many of the roles eliminated were in R&D, product, and engineering, precisely the kind of functions that had once benefitted from generous tax treatment under Section 174.Throughout the 2010s, a broad swath of startups, direct-to-consumer brands, and internet-first firms — basically every company you recognize from Instagram or Facebook ads — built their growth models around a kind of engineered break-even.The tax code allowed them to spend aggressively on product and engineering, then write it all off as R&D, keeping their taxable income close to zero by design. It worked because taxable income and actual cash flow were often notGAAP accounting practices. Basically, as long as spending counted as R&D, companies could report losses to investors while owing almost nothing to the IRS.But the Section 174 change broke that model. Once those same expenses had to be spread out, or amortized, over multiple years, the tax shield vanished. Companies that were still burning cash suddenly looked profitable on paper, triggering real tax bills on imaginary gains.AdvertisementThe logic that once fueled a generation of digital-first growth collapsed overnight.So it wasn’t just tech experiencing effects. From 1954 until 2022, the U.S. tax code had encouraged businesses of all stripes to behave like tech companies. From retail to logistics, healthcare to media, if firms built internal tools, customized a software stack, or invested in business intelligence and data-driven product development, they could expense those costs. The write-off incentivized in-house builds and fast growth well outside the capital-T tech sector. This lines up with OECD research showing that immediate deductions foster innovation more than spread-out ones.And American companies ran with that logic. According to government data, U.S. businesses reported about $500 billion in R&D expenditures in 2019 alone, and almost half of that came from industries outside traditional tech. The Bureau of Economic Analysis estimates that this sector, the broader digital economy, accounts for another 10% of GDP.Add that to core tech’s contribution, and the Section 174 shift has likely touched at least 20% of the U.S. economy.AdvertisementThe result? A tax policy aimed at raising short-term revenue effectively hid a time bomb inside the growth engines of thousands of companies. And when it detonated, it kneecapped the incentive for hiring American engineers or investing in American-made tech and digital products.It made building tech companies in America look irrational on a spreadsheet.A bipartisan group of lawmakers is pushing to repeal the Section 174 change, with business groups, CFOs, crypto executives, and venture capitalists lobbying hard for retroactive relief. But the politics are messy. Fixing 174 would mean handing a tax break to the same companies many voters in both parties see as symbols of corporate excess. Any repeal would also come too late for the hundreds of thousands of workers already laid off.And of course, the losses don’t stop at Meta’s or Google’s campus gates. They ripple out. When high-paid tech workers disappear, so do the lunch orders. The house tours. The contract gigs. The spending habits that sustain entire urban economies and thousands of other jobs. Sandwich artists. Rideshare drivers. Realtors. Personal trainers. House cleaners. In tech-heavy cities, the fallout runs deep — and it’s still unfolding.AdvertisementWashington is now poised to pass a second Trump tax bill — one packed with more obscure provisions, more delayed impacts, more quiet redistribution. And it comes as analysts are only just beginning to understand the real-world effects of the last round.The Section 174 change “significantly increased the tax burden on companies investing in innovation, potentially stifling economic growth and reducing the United States’ competitiveness on the global stage,” according to the tax consulting firm KBKG. Whether the U.S. will reverse course — or simply adapt to a new normal — remains to be seen.
    Like
    Love
    Wow
    Sad
    Angry
    368
    0 Comments 0 Shares
  • Smashing Animations Part 4: Optimising SVGs

    SVG animations take me back to the Hanna-Barbera cartoons I watched as a kid. Shows like Wacky Races, The Perils of Penelope Pitstop, and, of course, Yogi Bear. They inspired me to lovingly recreate some classic Toon Titles using CSS, SVG, and SMIL animations.
    But getting animations to load quickly and work smoothly needs more than nostalgia. It takes clean design, lean code, and a process that makes complex SVGs easier to animate. Here’s how I do it.

    Start Clean And Design With Optimisation In Mind
    Keeping things simple is key to making SVGs that are optimised and ready to animate. Tools like Adobe Illustrator convert bitmap images to vectors, but the output often contains too many extraneous groups, layers, and masks. Instead, I start cleaning in Sketch, work from a reference image, and use the Pen tool to create paths.
    Tip: Affinity Designerand Sketchare alternatives to Adobe Illustrator and Figma. Both are independent and based in Europe. Sketch has been my default design app since Adobe killed Fireworks.

    Beginning With Outlines
    For these Toon Titles illustrations, I first use the Pen tool to draw black outlines with as few anchor points as possible. The more points a shape has, the bigger a file becomes, so simplifying paths and reducing the number of points makes an SVG much smaller, often with no discernible visual difference.

    Bearing in mind that parts of this Yogi illustration will ultimately be animated, I keep outlines for this Bewitched Bear’s body, head, collar, and tie separate so that I can move them independently. The head might nod, the tie could flap, and, like in those classic cartoons, Yogi’s collar will hide the joins between them.

    Drawing Simple Background Shapes
    With the outlines in place, I use the Pen tool again to draw new shapes, which fill the areas with colour. These colours sit behind the outlines, so they don’t need to match them exactly. The fewer anchor points, the smaller the file size.

    Sadly, neither Affinity Designer nor Sketch has tools that can simplify paths, but if you have it, using Adobe Illustrator can shave a few extra kilobytes off these background shapes.

    Optimising The Code
    It’s not just metadata that makes SVG bulkier. The way you export from your design app also affects file size.

    Exporting just those simple background shapes from Adobe Illustrator includes unnecessary groups, masks, and bloated path data by default. Sketch’s code is barely any better, and there’s plenty of room for improvement, even in its SVGO Compressor code. I rely on Jake Archibald’s SVGOMG, which uses SVGO v3 and consistently delivers the best optimised SVGs.

    Layering SVG Elements
    My process for preparing SVGs for animation goes well beyond drawing vectors and optimising paths — it also includes how I structure the code itself. When every visual element is crammed into a single SVG file, even optimised code can be a nightmare to navigate. Locating a specific path or group often feels like searching for a needle in a haystack.

    That’s why I develop my SVGs in layers, exporting and optimising one set of elements at a time — always in the order they’ll appear in the final file. This lets me build the master SVG gradually by pasting it in each cleaned-up section. For example, I start with backgrounds like this gradient and title graphic.

    Instead of facing a wall of SVG code, I can now easily identify the background gradient’s path and its associated linearGradient, and see the group containing the title graphic. I take this opportunity to add a comment to the code, which will make editing and adding animations to it easier in the future:
    <svg ...>
    <defs>
    <!-- ... -->
    </defs>
    <path fill="url" d="…"/>
    <!-- TITLE GRAPHIC -->
    <g>
    <path … />
    <!-- ... -->
    </g>
    </svg>

    Next, I add the blurred trail from Yogi’s airborne broom. This includes defining a Gaussian Blur filter and placing its path between the background and title layers:
    <svg ...>
    <defs>
    <linearGradient id="grad" …>…</linearGradient>
    <filter id="trail" …>…</filter>
    </defs>
    <!-- GRADIENT -->
    <!-- TRAIL -->
    <path filter="url" …/>
    <!-- TITLE GRAPHIC -->
    </svg>

    Then come the magical stars, added in the same sequential fashion:
    <svg ...>
    <!-- GRADIENT -->
    <!-- TRAIL -->
    <!-- STARS -->
    <!-- TITLE GRAPHIC -->
    </svg>

    To keep everything organised and animation-ready, I create an empty group that will hold all the parts of Yogi:
    <g id="yogi">...</g>

    Then I build Yogi from the ground up — starting with background props, like his broom:
    <g id="broom">...</g>

    Followed by grouped elements for his body, head, collar, and tie:
    <g id="yogi">
    <g id="broom">…</g>
    <g id="body">…</g>
    <g id="head">…</g>
    <g id="collar">…</g>
    <g id="tie">…</g>
    </g>

    Since I export each layer from the same-sized artboard, I don’t need to worry about alignment or positioning issues later on — they’ll all slot into place automatically. I keep my code clean, readable, and ordered logically by layering elements this way. It also makes animating smoother, as each component is easier to identify.
    Reusing Elements With <use>
    When duplicate shapes get reused repeatedly, SVG files can get bulky fast. My recreation of the “Bewitched Bear” title card contains 80 stars in three sizes. Combining all those shapes into one optimised path would bring the file size down to 3KB. But I want to animate individual stars, which would almost double that to 5KB:
    <g id="stars">
    <path class="star-small" fill="#eae3da" d="..."/>
    <path class="star-medium" fill="#eae3da" d="..."/>
    <path class="star-large" fill="#eae3da" d="..."/>
    <!-- ... -->
    </g>

    Moving the stars’ fill attribute values to their parent group reduces the overall weight a little:
    <g id="stars" fill="#eae3da">
    <path class="star-small" d="…"/>
    <path class="star-medium" d="…"/>
    <path class="star-large" d="…"/>
    <!-- ... -->
    </g>

    But a more efficient and manageable option is to define each star size as a reusable template:

    <defs>
    <path id="star-large" fill="#eae3da" fill-rule="evenodd" d="…"/>
    <path id="star-medium" fill="#eae3da" fill-rule="evenodd" d="…"/>
    <path id="star-small" fill="#eae3da" fill-rule="evenodd" d="…"/>
    </defs>

    With this setup, changing a star’s design only means updating its template once, and every instance updates automatically. Then, I reference each one using <use> and position them with x and y attributes:
    <g id="stars">
    <!-- Large stars -->
    <use href="#star-large" x="1575" y="495"/>
    <!-- ... -->
    <!-- Medium stars -->
    <use href="#star-medium" x="1453" y="696"/>
    <!-- ... -->
    <!-- Small stars -->
    <use href="#star-small" x="1287" y="741"/>
    <!-- ... -->
    </g>

    This approach makes the SVG easier to manage, lighter to load, and faster to iterate on, especially when working with dozens of repeating elements. Best of all, it keeps the markup clean without compromising on flexibility or performance.
    Adding Animations
    The stars trailing behind Yogi’s stolen broom bring so much personality to the animation. I wanted them to sparkle in a seemingly random pattern against the dark blue background, so I started by defining a keyframe animation that cycles through different opacity levels:
    @keyframes sparkle {
    0%, 100% { opacity: .1; }
    50% { opacity: 1; }
    }

    Next, I applied this looping animation to every use element inside my stars group:
    #stars use {
    animation: sparkle 10s ease-in-out infinite;
    }

    The secret to creating a convincing twinkle lies in variation. I staggered animation delays and durations across the stars using nth-child selectors, starting with the quickest and most frequent sparkle effects:
    /* Fast, frequent */
    #stars use:nth-child:nth-child{
    animation-delay: .1s;
    animation-duration: 2s;
    }

    From there, I layered in additional timings to mix things up. Some stars sparkle slowly and dramatically, others more randomly, with a variety of rhythms and pauses:
    /* Medium */
    #stars use:nth-child:nth-child{ ... }

    /* Slow, dramatic */
    #stars use:nth-child:nth-child{ ... }

    /* Random */
    #stars use:nth-child{ ... }

    /* Alternating */
    #stars use:nth-child{ ... }

    /* Scattered */
    #stars use:nth-child{ ... }

    By thoughtfully structuring the SVG and reusing elements, I can build complex-looking animations without bloated code, making even a simple effect like changing opacity sparkle.

    Then, for added realism, I make Yogi’s head wobble:

    @keyframes headWobble {
    0% { transform: rotatetranslateY; }
    100% { transform: rotatetranslateY; }
    }

    #head {
    animation: headWobble 0.8s cubic-bezierinfinite alternate;
    }

    His tie waves:

    @keyframes tieWave {
    0%, 100% { transform: rotateZrotateYscaleX; }
    33% { transform: rotateZrotateYscaleX; }
    66% { transform: rotateZrotateYscaleX; }
    }

    #tie {
    transform-style: preserve-3d;
    animation: tieWave 10s cubic-bezierinfinite;
    }

    His broom swings:

    @keyframes broomSwing {
    0%, 20% { transform: rotate; }
    30% { transform: rotate; }
    50%, 70% { transform: rotate; }
    80% { transform: rotate; }
    100% { transform: rotate; }
    }

    #broom {
    animation: broomSwing 4s cubic-bezierinfinite;
    }

    And, finally, Yogi himself gently rotates as he flies on his magical broom:

    @keyframes yogiWobble {
    0% { transform: rotatetranslateYscale; }
    30% { transform: rotatetranslateY; }
    100% { transform: rotatetranslateYscale; }
    }

    #yogi {
    animation: yogiWobble 3.5s cubic-bezierinfinite alternate;
    }

    All these subtle movements bring Yogi to life. By developing structured SVGs, I can create animations that feel full of character without writing a single line of JavaScript.
    Try this yourself:
    See the Pen Bewitched Bear CSS/SVG animationby Andy Clarke.
    Conclusion
    Whether you’re recreating a classic title card or animating icons for an interface, the principles are the same:

    Start clean,
    Optimise early, and
    Structure everything with animation in mind.

    SVGs offer incredible creative freedom, but only if kept lean and manageable. When you plan your process like a production cell — layer by layer, element by element — you’ll spend less time untangling code and more time bringing your work to life.
    #smashing #animations #part #optimising #svgs
    Smashing Animations Part 4: Optimising SVGs
    SVG animations take me back to the Hanna-Barbera cartoons I watched as a kid. Shows like Wacky Races, The Perils of Penelope Pitstop, and, of course, Yogi Bear. They inspired me to lovingly recreate some classic Toon Titles using CSS, SVG, and SMIL animations. But getting animations to load quickly and work smoothly needs more than nostalgia. It takes clean design, lean code, and a process that makes complex SVGs easier to animate. Here’s how I do it. Start Clean And Design With Optimisation In Mind Keeping things simple is key to making SVGs that are optimised and ready to animate. Tools like Adobe Illustrator convert bitmap images to vectors, but the output often contains too many extraneous groups, layers, and masks. Instead, I start cleaning in Sketch, work from a reference image, and use the Pen tool to create paths. Tip: Affinity Designerand Sketchare alternatives to Adobe Illustrator and Figma. Both are independent and based in Europe. Sketch has been my default design app since Adobe killed Fireworks. Beginning With Outlines For these Toon Titles illustrations, I first use the Pen tool to draw black outlines with as few anchor points as possible. The more points a shape has, the bigger a file becomes, so simplifying paths and reducing the number of points makes an SVG much smaller, often with no discernible visual difference. Bearing in mind that parts of this Yogi illustration will ultimately be animated, I keep outlines for this Bewitched Bear’s body, head, collar, and tie separate so that I can move them independently. The head might nod, the tie could flap, and, like in those classic cartoons, Yogi’s collar will hide the joins between them. Drawing Simple Background Shapes With the outlines in place, I use the Pen tool again to draw new shapes, which fill the areas with colour. These colours sit behind the outlines, so they don’t need to match them exactly. The fewer anchor points, the smaller the file size. Sadly, neither Affinity Designer nor Sketch has tools that can simplify paths, but if you have it, using Adobe Illustrator can shave a few extra kilobytes off these background shapes. Optimising The Code It’s not just metadata that makes SVG bulkier. The way you export from your design app also affects file size. Exporting just those simple background shapes from Adobe Illustrator includes unnecessary groups, masks, and bloated path data by default. Sketch’s code is barely any better, and there’s plenty of room for improvement, even in its SVGO Compressor code. I rely on Jake Archibald’s SVGOMG, which uses SVGO v3 and consistently delivers the best optimised SVGs. Layering SVG Elements My process for preparing SVGs for animation goes well beyond drawing vectors and optimising paths — it also includes how I structure the code itself. When every visual element is crammed into a single SVG file, even optimised code can be a nightmare to navigate. Locating a specific path or group often feels like searching for a needle in a haystack. That’s why I develop my SVGs in layers, exporting and optimising one set of elements at a time — always in the order they’ll appear in the final file. This lets me build the master SVG gradually by pasting it in each cleaned-up section. For example, I start with backgrounds like this gradient and title graphic. Instead of facing a wall of SVG code, I can now easily identify the background gradient’s path and its associated linearGradient, and see the group containing the title graphic. I take this opportunity to add a comment to the code, which will make editing and adding animations to it easier in the future: <svg ...> <defs> <!-- ... --> </defs> <path fill="url" d="…"/> <!-- TITLE GRAPHIC --> <g> <path … /> <!-- ... --> </g> </svg> Next, I add the blurred trail from Yogi’s airborne broom. This includes defining a Gaussian Blur filter and placing its path between the background and title layers: <svg ...> <defs> <linearGradient id="grad" …>…</linearGradient> <filter id="trail" …>…</filter> </defs> <!-- GRADIENT --> <!-- TRAIL --> <path filter="url" …/> <!-- TITLE GRAPHIC --> </svg> Then come the magical stars, added in the same sequential fashion: <svg ...> <!-- GRADIENT --> <!-- TRAIL --> <!-- STARS --> <!-- TITLE GRAPHIC --> </svg> To keep everything organised and animation-ready, I create an empty group that will hold all the parts of Yogi: <g id="yogi">...</g> Then I build Yogi from the ground up — starting with background props, like his broom: <g id="broom">...</g> Followed by grouped elements for his body, head, collar, and tie: <g id="yogi"> <g id="broom">…</g> <g id="body">…</g> <g id="head">…</g> <g id="collar">…</g> <g id="tie">…</g> </g> Since I export each layer from the same-sized artboard, I don’t need to worry about alignment or positioning issues later on — they’ll all slot into place automatically. I keep my code clean, readable, and ordered logically by layering elements this way. It also makes animating smoother, as each component is easier to identify. Reusing Elements With <use> When duplicate shapes get reused repeatedly, SVG files can get bulky fast. My recreation of the “Bewitched Bear” title card contains 80 stars in three sizes. Combining all those shapes into one optimised path would bring the file size down to 3KB. But I want to animate individual stars, which would almost double that to 5KB: <g id="stars"> <path class="star-small" fill="#eae3da" d="..."/> <path class="star-medium" fill="#eae3da" d="..."/> <path class="star-large" fill="#eae3da" d="..."/> <!-- ... --> </g> Moving the stars’ fill attribute values to their parent group reduces the overall weight a little: <g id="stars" fill="#eae3da"> <path class="star-small" d="…"/> <path class="star-medium" d="…"/> <path class="star-large" d="…"/> <!-- ... --> </g> But a more efficient and manageable option is to define each star size as a reusable template: <defs> <path id="star-large" fill="#eae3da" fill-rule="evenodd" d="…"/> <path id="star-medium" fill="#eae3da" fill-rule="evenodd" d="…"/> <path id="star-small" fill="#eae3da" fill-rule="evenodd" d="…"/> </defs> With this setup, changing a star’s design only means updating its template once, and every instance updates automatically. Then, I reference each one using <use> and position them with x and y attributes: <g id="stars"> <!-- Large stars --> <use href="#star-large" x="1575" y="495"/> <!-- ... --> <!-- Medium stars --> <use href="#star-medium" x="1453" y="696"/> <!-- ... --> <!-- Small stars --> <use href="#star-small" x="1287" y="741"/> <!-- ... --> </g> This approach makes the SVG easier to manage, lighter to load, and faster to iterate on, especially when working with dozens of repeating elements. Best of all, it keeps the markup clean without compromising on flexibility or performance. Adding Animations The stars trailing behind Yogi’s stolen broom bring so much personality to the animation. I wanted them to sparkle in a seemingly random pattern against the dark blue background, so I started by defining a keyframe animation that cycles through different opacity levels: @keyframes sparkle { 0%, 100% { opacity: .1; } 50% { opacity: 1; } } Next, I applied this looping animation to every use element inside my stars group: #stars use { animation: sparkle 10s ease-in-out infinite; } The secret to creating a convincing twinkle lies in variation. I staggered animation delays and durations across the stars using nth-child selectors, starting with the quickest and most frequent sparkle effects: /* Fast, frequent */ #stars use:nth-child:nth-child{ animation-delay: .1s; animation-duration: 2s; } From there, I layered in additional timings to mix things up. Some stars sparkle slowly and dramatically, others more randomly, with a variety of rhythms and pauses: /* Medium */ #stars use:nth-child:nth-child{ ... } /* Slow, dramatic */ #stars use:nth-child:nth-child{ ... } /* Random */ #stars use:nth-child{ ... } /* Alternating */ #stars use:nth-child{ ... } /* Scattered */ #stars use:nth-child{ ... } By thoughtfully structuring the SVG and reusing elements, I can build complex-looking animations without bloated code, making even a simple effect like changing opacity sparkle. Then, for added realism, I make Yogi’s head wobble: @keyframes headWobble { 0% { transform: rotatetranslateY; } 100% { transform: rotatetranslateY; } } #head { animation: headWobble 0.8s cubic-bezierinfinite alternate; } His tie waves: @keyframes tieWave { 0%, 100% { transform: rotateZrotateYscaleX; } 33% { transform: rotateZrotateYscaleX; } 66% { transform: rotateZrotateYscaleX; } } #tie { transform-style: preserve-3d; animation: tieWave 10s cubic-bezierinfinite; } His broom swings: @keyframes broomSwing { 0%, 20% { transform: rotate; } 30% { transform: rotate; } 50%, 70% { transform: rotate; } 80% { transform: rotate; } 100% { transform: rotate; } } #broom { animation: broomSwing 4s cubic-bezierinfinite; } And, finally, Yogi himself gently rotates as he flies on his magical broom: @keyframes yogiWobble { 0% { transform: rotatetranslateYscale; } 30% { transform: rotatetranslateY; } 100% { transform: rotatetranslateYscale; } } #yogi { animation: yogiWobble 3.5s cubic-bezierinfinite alternate; } All these subtle movements bring Yogi to life. By developing structured SVGs, I can create animations that feel full of character without writing a single line of JavaScript. Try this yourself: See the Pen Bewitched Bear CSS/SVG animationby Andy Clarke. Conclusion Whether you’re recreating a classic title card or animating icons for an interface, the principles are the same: Start clean, Optimise early, and Structure everything with animation in mind. SVGs offer incredible creative freedom, but only if kept lean and manageable. When you plan your process like a production cell — layer by layer, element by element — you’ll spend less time untangling code and more time bringing your work to life. #smashing #animations #part #optimising #svgs
    SMASHINGMAGAZINE.COM
    Smashing Animations Part 4: Optimising SVGs
    SVG animations take me back to the Hanna-Barbera cartoons I watched as a kid. Shows like Wacky Races, The Perils of Penelope Pitstop, and, of course, Yogi Bear. They inspired me to lovingly recreate some classic Toon Titles using CSS, SVG, and SMIL animations. But getting animations to load quickly and work smoothly needs more than nostalgia. It takes clean design, lean code, and a process that makes complex SVGs easier to animate. Here’s how I do it. Start Clean And Design With Optimisation In Mind Keeping things simple is key to making SVGs that are optimised and ready to animate. Tools like Adobe Illustrator convert bitmap images to vectors, but the output often contains too many extraneous groups, layers, and masks. Instead, I start cleaning in Sketch, work from a reference image, and use the Pen tool to create paths. Tip: Affinity Designer (UK) and Sketch (Netherlands) are alternatives to Adobe Illustrator and Figma. Both are independent and based in Europe. Sketch has been my default design app since Adobe killed Fireworks. Beginning With Outlines For these Toon Titles illustrations, I first use the Pen tool to draw black outlines with as few anchor points as possible. The more points a shape has, the bigger a file becomes, so simplifying paths and reducing the number of points makes an SVG much smaller, often with no discernible visual difference. Bearing in mind that parts of this Yogi illustration will ultimately be animated, I keep outlines for this Bewitched Bear’s body, head, collar, and tie separate so that I can move them independently. The head might nod, the tie could flap, and, like in those classic cartoons, Yogi’s collar will hide the joins between them. Drawing Simple Background Shapes With the outlines in place, I use the Pen tool again to draw new shapes, which fill the areas with colour. These colours sit behind the outlines, so they don’t need to match them exactly. The fewer anchor points, the smaller the file size. Sadly, neither Affinity Designer nor Sketch has tools that can simplify paths, but if you have it, using Adobe Illustrator can shave a few extra kilobytes off these background shapes. Optimising The Code It’s not just metadata that makes SVG bulkier. The way you export from your design app also affects file size. Exporting just those simple background shapes from Adobe Illustrator includes unnecessary groups, masks, and bloated path data by default. Sketch’s code is barely any better, and there’s plenty of room for improvement, even in its SVGO Compressor code. I rely on Jake Archibald’s SVGOMG, which uses SVGO v3 and consistently delivers the best optimised SVGs. Layering SVG Elements My process for preparing SVGs for animation goes well beyond drawing vectors and optimising paths — it also includes how I structure the code itself. When every visual element is crammed into a single SVG file, even optimised code can be a nightmare to navigate. Locating a specific path or group often feels like searching for a needle in a haystack. That’s why I develop my SVGs in layers, exporting and optimising one set of elements at a time — always in the order they’ll appear in the final file. This lets me build the master SVG gradually by pasting it in each cleaned-up section. For example, I start with backgrounds like this gradient and title graphic. Instead of facing a wall of SVG code, I can now easily identify the background gradient’s path and its associated linearGradient, and see the group containing the title graphic. I take this opportunity to add a comment to the code, which will make editing and adding animations to it easier in the future: <svg ...> <defs> <!-- ... --> </defs> <path fill="url(#grad)" d="…"/> <!-- TITLE GRAPHIC --> <g> <path … /> <!-- ... --> </g> </svg> Next, I add the blurred trail from Yogi’s airborne broom. This includes defining a Gaussian Blur filter and placing its path between the background and title layers: <svg ...> <defs> <linearGradient id="grad" …>…</linearGradient> <filter id="trail" …>…</filter> </defs> <!-- GRADIENT --> <!-- TRAIL --> <path filter="url(#trail)" …/> <!-- TITLE GRAPHIC --> </svg> Then come the magical stars, added in the same sequential fashion: <svg ...> <!-- GRADIENT --> <!-- TRAIL --> <!-- STARS --> <!-- TITLE GRAPHIC --> </svg> To keep everything organised and animation-ready, I create an empty group that will hold all the parts of Yogi: <g id="yogi">...</g> Then I build Yogi from the ground up — starting with background props, like his broom: <g id="broom">...</g> Followed by grouped elements for his body, head, collar, and tie: <g id="yogi"> <g id="broom">…</g> <g id="body">…</g> <g id="head">…</g> <g id="collar">…</g> <g id="tie">…</g> </g> Since I export each layer from the same-sized artboard, I don’t need to worry about alignment or positioning issues later on — they’ll all slot into place automatically. I keep my code clean, readable, and ordered logically by layering elements this way. It also makes animating smoother, as each component is easier to identify. Reusing Elements With <use> When duplicate shapes get reused repeatedly, SVG files can get bulky fast. My recreation of the “Bewitched Bear” title card contains 80 stars in three sizes. Combining all those shapes into one optimised path would bring the file size down to 3KB. But I want to animate individual stars, which would almost double that to 5KB: <g id="stars"> <path class="star-small" fill="#eae3da" d="..."/> <path class="star-medium" fill="#eae3da" d="..."/> <path class="star-large" fill="#eae3da" d="..."/> <!-- ... --> </g> Moving the stars’ fill attribute values to their parent group reduces the overall weight a little: <g id="stars" fill="#eae3da"> <path class="star-small" d="…"/> <path class="star-medium" d="…"/> <path class="star-large" d="…"/> <!-- ... --> </g> But a more efficient and manageable option is to define each star size as a reusable template: <defs> <path id="star-large" fill="#eae3da" fill-rule="evenodd" d="…"/> <path id="star-medium" fill="#eae3da" fill-rule="evenodd" d="…"/> <path id="star-small" fill="#eae3da" fill-rule="evenodd" d="…"/> </defs> With this setup, changing a star’s design only means updating its template once, and every instance updates automatically. Then, I reference each one using <use> and position them with x and y attributes: <g id="stars"> <!-- Large stars --> <use href="#star-large" x="1575" y="495"/> <!-- ... --> <!-- Medium stars --> <use href="#star-medium" x="1453" y="696"/> <!-- ... --> <!-- Small stars --> <use href="#star-small" x="1287" y="741"/> <!-- ... --> </g> This approach makes the SVG easier to manage, lighter to load, and faster to iterate on, especially when working with dozens of repeating elements. Best of all, it keeps the markup clean without compromising on flexibility or performance. Adding Animations The stars trailing behind Yogi’s stolen broom bring so much personality to the animation. I wanted them to sparkle in a seemingly random pattern against the dark blue background, so I started by defining a keyframe animation that cycles through different opacity levels: @keyframes sparkle { 0%, 100% { opacity: .1; } 50% { opacity: 1; } } Next, I applied this looping animation to every use element inside my stars group: #stars use { animation: sparkle 10s ease-in-out infinite; } The secret to creating a convincing twinkle lies in variation. I staggered animation delays and durations across the stars using nth-child selectors, starting with the quickest and most frequent sparkle effects: /* Fast, frequent */ #stars use:nth-child(n + 1):nth-child(-n + 10) { animation-delay: .1s; animation-duration: 2s; } From there, I layered in additional timings to mix things up. Some stars sparkle slowly and dramatically, others more randomly, with a variety of rhythms and pauses: /* Medium */ #stars use:nth-child(n + 11):nth-child(-n + 20) { ... } /* Slow, dramatic */ #stars use:nth-child(n + 21):nth-child(-n + 30) { ... } /* Random */ #stars use:nth-child(3n + 2) { ... } /* Alternating */ #stars use:nth-child(4n + 1) { ... } /* Scattered */ #stars use:nth-child(n + 31) { ... } By thoughtfully structuring the SVG and reusing elements, I can build complex-looking animations without bloated code, making even a simple effect like changing opacity sparkle. Then, for added realism, I make Yogi’s head wobble: @keyframes headWobble { 0% { transform: rotate(-0.8deg) translateY(-0.5px); } 100% { transform: rotate(0.9deg) translateY(0.3px); } } #head { animation: headWobble 0.8s cubic-bezier(0.5, 0.15, 0.5, 0.85) infinite alternate; } His tie waves: @keyframes tieWave { 0%, 100% { transform: rotateZ(-4deg) rotateY(15deg) scaleX(0.96); } 33% { transform: rotateZ(5deg) rotateY(-10deg) scaleX(1.05); } 66% { transform: rotateZ(-2deg) rotateY(5deg) scaleX(0.98); } } #tie { transform-style: preserve-3d; animation: tieWave 10s cubic-bezier(0.68, -0.55, 0.27, 1.55) infinite; } His broom swings: @keyframes broomSwing { 0%, 20% { transform: rotate(-5deg); } 30% { transform: rotate(-4deg); } 50%, 70% { transform: rotate(5deg); } 80% { transform: rotate(4deg); } 100% { transform: rotate(-5deg); } } #broom { animation: broomSwing 4s cubic-bezier(0.5, 0.05, 0.5, 0.95) infinite; } And, finally, Yogi himself gently rotates as he flies on his magical broom: @keyframes yogiWobble { 0% { transform: rotate(-2.8deg) translateY(-0.8px) scale(0.998); } 30% { transform: rotate(1.5deg) translateY(0.3px); } 100% { transform: rotate(3.2deg) translateY(1.2px) scale(1.002); } } #yogi { animation: yogiWobble 3.5s cubic-bezier(.37, .14, .3, .86) infinite alternate; } All these subtle movements bring Yogi to life. By developing structured SVGs, I can create animations that feel full of character without writing a single line of JavaScript. Try this yourself: See the Pen Bewitched Bear CSS/SVG animation [forked] by Andy Clarke. Conclusion Whether you’re recreating a classic title card or animating icons for an interface, the principles are the same: Start clean, Optimise early, and Structure everything with animation in mind. SVGs offer incredible creative freedom, but only if kept lean and manageable. When you plan your process like a production cell — layer by layer, element by element — you’ll spend less time untangling code and more time bringing your work to life.
    Like
    Love
    Wow
    Angry
    Sad
    273
    0 Comments 0 Shares
  • Structuring Actions in Utility AI

    Author

    I'm building a grid turn-based game, and I have a couple of questions about Utility AI that I can't wrap my head around for a couple of weeks.Suppose we have a unit that can move X tiles and attack in melee range. I want an AI controller to enumerate all possible targets for this melee attack and score them.- Are "move" and "attack" two separate decisions, or is it one decision that does both the movement and the attack?- If they are separate decisions, then how can a decision to move consider a melee target? The option is to copy all of the considerations from the "melee" decision to the "move", but it feels bad.- If they are a single decision, how to reuse it if, let's say, I have another unit that knows how to teleport instead of how to move?My question boils down to this: where is the reasonable edge when I want to make some sequence of actions a single decision or a couple of decisions?
    #structuring #actions #utility
    Structuring Actions in Utility AI
    Author I'm building a grid turn-based game, and I have a couple of questions about Utility AI that I can't wrap my head around for a couple of weeks.Suppose we have a unit that can move X tiles and attack in melee range. I want an AI controller to enumerate all possible targets for this melee attack and score them.- Are "move" and "attack" two separate decisions, or is it one decision that does both the movement and the attack?- If they are separate decisions, then how can a decision to move consider a melee target? The option is to copy all of the considerations from the "melee" decision to the "move", but it feels bad.- If they are a single decision, how to reuse it if, let's say, I have another unit that knows how to teleport instead of how to move?My question boils down to this: where is the reasonable edge when I want to make some sequence of actions a single decision or a couple of decisions? #structuring #actions #utility
    Structuring Actions in Utility AI
    Author I'm building a grid turn-based game, and I have a couple of questions about Utility AI that I can't wrap my head around for a couple of weeks.Suppose we have a unit that can move X tiles and attack in melee range. I want an AI controller to enumerate all possible targets for this melee attack and score them.- Are "move" and "attack" two separate decisions, or is it one decision that does both the movement and the attack?- If they are separate decisions, then how can a decision to move consider a melee target? The option is to copy all of the considerations from the "melee" decision to the "move", but it feels bad.- If they are a single decision, how to reuse it if, let's say, I have another unit that knows how to teleport instead of how to move?My question boils down to this: where is the reasonable edge when I want to make some sequence of actions a single decision or a couple of decisions?
    0 Comments 0 Shares