CINXE.COM

Audio recent news | Game Developer

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width,initial-scale=1"/><script async="" src="//static.adsafeprotected.com/iasPET.1.js"></script><script async="" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" type="text/javascript"></script><script async="" defer="" src="https://connect.facebook.net/en_US/sdk.js?xfbml=1&amp;version=v3.2&amp;hash=606879e94b06283a619cebf5b7449644"></script><script async="" defer="" src="https://www.instagram.com/embed.js"></script><meta name="robots" content="max-image-preview:large"/><title>Audio recent news | Game Developer</title><meta name="description" content="Explore the latest news and expert commentary on Audio, brought to you by the editors of Game Developer"/><meta property="og:title" content="Audio recent news | Game Developer"/><meta property="og:description" content="Explore the latest news and expert commentary on Audio, brought to you by the editors of Game Developer"/><meta property="og:url" content="https://www.gamedeveloper.com/audio"/><meta property="og:type" content="website"/><meta property="og:image" content="https://www.gamedeveloper.com/assets/gamedeveloper-CAvl2PCb.ico"/><meta property="og:site_name" content="Game Developer"/><link rel="canonical" href="https://www.gamedeveloper.com/audio"/><link rel="preload" href="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=700&amp;auto=webp&amp;quality=10&amp;disable=upscale&amp;blur=40" as="image"/><meta property="twitter:card" content="summary"/><link rel="preconnect" href="https://cdn.cookielaw.org"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link rel="preconnect" href="https://fonts.googleapis.com" crossorigin="anonymous"/><link rel="preconnect" href="https://www.googletagmanager.com"/><link rel="icon" type="image/x-icon" href="/assets/gamedeveloper-CAvl2PCb.ico"/><link rel="modulepreload" href="/assets/entry.client-BD0gr1j2.js"/><link rel="modulepreload" href="/assets/chunk-K6AXKMTT-CFxckDQd.js"/><link rel="modulepreload" href="/assets/index-KvFBagxD.js"/><link rel="modulepreload" href="/assets/with-props-BDipnzPk.js"/><link rel="modulepreload" href="/assets/gtm-Cfr17zZ2.js"/><link rel="modulepreload" href="/assets/contentPreview-PDrWzgnB.js"/><link rel="modulepreload" href="/assets/_-d8tDFFIp.js"/><link rel="modulepreload" href="/assets/useArticleProps-BFMiF0cj.js"/><link rel="modulepreload" href="/assets/provider-2eXNRXRJ.js"/><link rel="modulepreload" href="/assets/newsletterSignupPromo-DQJ3oE2b.js"/><link rel="modulepreload" href="/assets/iirisRecommendation-DJSRaa5a.js"/><link rel="modulepreload" href="/assets/socialShare-TkawqgR_.js"/><link rel="modulepreload" href="/assets/link-CaYNVeAz.js"/><link rel="modulepreload" href="/assets/button-D1ddzMB9.js"/><link rel="modulepreload" href="/assets/util-Bs87kmMU.js"/><link rel="modulepreload" href="/assets/searchBar-fudlkoTs.js"/><link rel="modulepreload" href="/assets/useSearchBar-bQYUZDbc.js"/><link rel="modulepreload" href="/assets/navigation-CTPR0xcZ.js"/><link rel="modulepreload" href="/assets/redirection-CYnJkDek.js"/><link rel="modulepreload" href="/assets/meta-L0MNvQHo.js"/><link rel="modulepreload" href="/assets/form-B94n5omu.js"/><link rel="modulepreload" href="/assets/loadingIndicator-6bCghogW.js"/><link rel="modulepreload" href="/assets/root-CMgB3kEF.js"/><link rel="modulepreload" href="/assets/breadcrumb-D8ZKw-iB.js"/><link rel="modulepreload" href="/assets/categoryHeader-CMZI1HPe.js"/><link rel="modulepreload" href="/assets/listContent-CrQBKGjj.js"/><link rel="modulepreload" href="/assets/utils-Bn24zYNJ.js"/><link rel="modulepreload" href="/assets/pagination-Bo48d3KT.js"/><link rel="modulepreload" href="/assets/filterSection-BHcDQTPs.js"/><link rel="modulepreload" href="/assets/topicList-CZ0ZvK34.js"/><link rel="modulepreload" href="/assets/gridLayout-_9JGxIar.js"/><link rel="modulepreload" href="/assets/featureImageHeader-DvdbC9GJ.js"/><link rel="modulepreload" href="/assets/moduleSection-CvWuIxBA.js"/><link rel="modulepreload" href="/assets/articleMultiSection-D0FoILLC.js"/><link rel="modulepreload" href="/assets/string-BS_NwYxO.js"/><link rel="modulepreload" href="/assets/useWeatherWidget-C-2HFbtW.js"/><link rel="modulepreload" href="/assets/commodityPrices-Dp7A16P5.js"/><link rel="modulepreload" href="/assets/sidebar-D97i_4nD.js"/><link rel="modulepreload" href="/assets/constants-BFi_MVLe.js"/><link rel="modulepreload" href="/assets/changeLocationBar-CA8Gmgoe.js"/><link rel="modulepreload" href="/assets/contentCards-DPjU4Jk5.js"/><link rel="modulepreload" href="/assets/contentList-DPj2iTbm.js"/><link rel="modulepreload" href="/assets/useGetDynamicDataModule-CuTq5TXb.js"/><link rel="modulepreload" href="/assets/contentDomain.generated-OA12p8lf.js"/><link rel="modulepreload" href="/assets/toNumber-0AM5n0GZ.js"/><link rel="modulepreload" href="/assets/_getPrototype-CRUqbm8O.js"/><link rel="modulepreload" href="/assets/input-DugAUMat.js"/><link rel="modulepreload" href="/assets/_baseForOwn-gD-m1C1H.js"/><link rel="modulepreload" href="/assets/index-DEvd3CtP.js"/><link rel="modulepreload" href="/assets/weatherHomepage-Dkdiwep8.js"/><link rel="modulepreload" href="/assets/resources-LqF-uvn-.js"/><link rel="modulepreload" href="/assets/contributorSummary-BxK0ext_.js"/><link rel="modulepreload" href="/assets/programHeader-DD_SdKUG.js"/><link rel="modulepreload" href="/assets/useStorage-BxG0xmea.js"/><link rel="modulepreload" href="/assets/_topic._index-BR3rRUjp.js"/><script type="text/javascript" src="https://cdn.cookielaw.org/consent/8aaa0413-1bf0-4c5f-b2b7-20f59225831b/OtAutoBlock.js"></script><script type="text/javascript" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-domain-script="8aaa0413-1bf0-4c5f-b2b7-20f59225831b"></script><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.gamedeveloper.com"},{"@type":"ListItem","position":2,"name":"Audio","item":"https://www.gamedeveloper.com/audio"}]}</script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]}}; ;NREUM.loader_config={accountID:"3936348",trustKey:"3288925",agentID:"538600205",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600205"}; ;NREUM.info={beacon:"bam.eu01.nr-data.net",errorBeacon:"bam.eu01.nr-data.net",licenseKey:"NRJS-26ae6a3b09493bbcc87",applicationID:"538600205",sa:1}; ;/*! For license information please see nr-loader-spa-1.286.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(3333);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.286.0",i="PROD",o="CDN",a="^2.0.0-alpha.18"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(6154);const i="newrelic";function o(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>s});var n=r(7836),i=r(3241);const o=new Set,a={};function s(e,t){const r=n.ee.get(t);a[t]??={},e&&"object"==typeof e&&(o.has(t)||(r.emit("rumresp",[e]),a[t]=e,o.add(t),(0,i.W)({agentIdentifier:t,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9414:(e,t,r)=>{"use strict";r.d(t,{J:()=>c});var n=r(7836),i=r(2646),o=r(944),a=r(3434);const s=new Map;function c(e,t,r,c){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,o.R)(29);const u=function(e){return(e||n.ee).get("logger")}(e),d=(0,a.YM)(u),l=new i.y(n.P);l.level=c.level,l.customAttributes=c.customAttributes;const f=t[r]?.[a.Jt]||t[r];return s.set(f,l),d.inPlace(t,[r],"wrap-logger-",(()=>s.get(f))),u}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s,rF:()=>d});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}function d(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>T,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,A="jsTime",T="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},8969:(e,t,r)=>{"use strict";r.d(t,{j:()=>I});var n=r(860),i=r(2555),o=r(9908),a=r(1687),s=r(5289),c=r(6154),u=r(944),d=r(8154),l=r(384),f=r(6344);const h=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",f.G4.RECORD,f.G4.PAUSE,"log","wrapLogger"],p=["setErrorHandler","finished","addToTrace","addRelease"];var g=r(1863),m=r(2614),v=r(993),b=r(3785),y=r(9414),w=r(3241),R=r(5701);function x(){const e=(0,l.pV)();h.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.runtime?e.exposed&&e[t]&&"micro-agent"!==e.runtime.loaderType&&n.push(e[t](...r)):(0,u.R)(38,t)})),n[0]}(t,...r)}))}const E={};var A=r(9417),T=r(5603),S=r(3371);const N=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var O=r(7836);const _=new Set;function I(e,t={},h,I){let{init:P,info:j,loader_config:C,runtime:k={},exposed:L=!0}=t;k.loaderType=h;const H=(0,l.pV)();j||(P=H.init,j=H.info,C=H.loader_config),(0,A.xN)(e.agentIdentifier,P||{}),(0,T.a)(e.agentIdentifier,C||{}),j.jsAttributes??={},c.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const M=e.init,D=[j.beacon,j.errorBeacon];_.has(e.agentIdentifier)||(M.proxy.assets&&(N(M.proxy.assets),D.push(M.proxy.assets)),M.proxy.beacon&&D.push(M.proxy.beacon),x(),(0,l.US)("activatedFeatures",R.B),e.runSoftNavOverSpa&&=!0===M.soft_navigations.enabled&&M.feature_flags.includes("soft_nav")),k.denyList=[...M.ajax.deny_list||[],...M.ajax.block_internal?D:[]],k.ptid=e.agentIdentifier,(0,S.V)(e.agentIdentifier,k),_.has(e.agentIdentifier)||(e.ee=O.ee.get(e.agentIdentifier),e.exposed=L,function(e,t){t||(0,a.Ak)(e.agentIdentifier,"api");const l=e.ee.get("tracer");E[e.agentIdentifier]=m.g.OFF,e.ee.on(f.G4.REPLAY_RUNNING,(t=>{E[e.agentIdentifier]=t}));const h="api-",x=h+"ixn-";function A(t,r,n,o){const a=e.info;return null===r?delete a.jsAttributes[t]:(0,i.x1)(e.agentIdentifier,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),N(h,n,!0,o||null===r?"session":void 0)(t,r)}function T(){}e.log=function(t,{customAttributes:r={},level:i=v.p_.INFO}={}){(0,o.p)(d.xV,["API/log/called"],void 0,n.K7.metrics,e.ee),(0,b.R)(e.ee,t,r,i)},e.wrapLogger=(t,r,{customAttributes:i={},level:a=v.p_.INFO}={})=>{(0,o.p)(d.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,e.ee),(0,y.J)(e.ee,t,r,{customAttributes:i,level:a})},p.forEach((t=>{e[t]=N(h,t,!0,"api")})),e.addPageAction=N(h,"addPageAction",!0,n.K7.genericEvents),e.recordCustomEvent=N(h,"recordCustomEvent",!0,n.K7.genericEvents),e.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),e.runtime.customTransaction=(r||"http://custom.transaction")+t,N(h,"setPageViewName",!0)()},e.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return A(e,t,"setCustomAttribute",r);(0,u.R)(40,typeof t)}else(0,u.R)(39,typeof e)},e.setUserId=function(e){if("string"==typeof e||null===e)return A("enduser.id",e,"setUserId",!0);(0,u.R)(41,typeof e)},e.setApplicationVersion=function(e){if("string"==typeof e||null===e)return A("application.version",e,"setApplicationVersion",!1);(0,u.R)(42,typeof e)},e.start=()=>{try{(0,o.p)(d.xV,["API/start/called"],void 0,n.K7.metrics,e.ee),e.ee.emit("manual-start-all")}catch(e){(0,u.R)(23,e)}},e[f.G4.RECORD]=function(){(0,o.p)(d.xV,["API/recordReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.RECORD,[],void 0,n.K7.sessionReplay,e.ee)},e[f.G4.PAUSE]=function(){(0,o.p)(d.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.PAUSE,[],void 0,n.K7.sessionReplay,e.ee)},e.interaction=function(e){return(new T).get("object"==typeof e?e:{})};const S=T.prototype={createTracer:function(t,r){var i={},a=this,s="function"==typeof r;return(0,o.p)(d.xV,["API/createTracer/called"],void 0,n.K7.metrics,e.ee),e.runSoftNavOverSpa||(0,o.p)(x+"tracer",[(0,g.t)(),t,i],a,n.K7.spa,e.ee),function(){if(l.emit((s?"":"no-")+"fn-start",[(0,g.t)(),a,s],i),s)try{return r.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw l.emit("fn-err",[arguments,this,t],i),t}finally{l.emit("fn-end",[(0,g.t)()],i)}}}};function N(t,r,i,a){return function(){return(0,o.p)(d.xV,["API/"+r+"/called"],void 0,n.K7.metrics,e.ee),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:"data",name:"api",feature:t+r,data:{notSpa:i,bufferGroup:a}}),a&&(0,o.p)(t+r,[i?(0,g.t)():performance.now(),...arguments],i?null:this,a,e.ee),i?void 0:this}}function O(){r.e(478).then(r.bind(r,8778)).then((({setAsyncAPI:t})=>{t(e),(0,a.Ze)(e.agentIdentifier,"api")})).catch((t=>{(0,u.R)(27,t),e.ee.abort()}))}["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((t=>{S[t]=N(x,t,void 0,e.runSoftNavOverSpa?n.K7.softNav:n.K7.spa)})),e.setCurrentRouteName=e.runSoftNavOverSpa?N(x,"routeName",void 0,n.K7.softNav):N(h,"routeName",!0,n.K7.spa),e.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,o.p)(d.xV,["API/noticeError/called"],void 0,n.K7.metrics,e.ee),(0,o.p)("err",[t,(0,g.t)(),!1,r,!!E[e.agentIdentifier]],void 0,n.K7.jserrors,e.ee)},c.RI?(0,s.GG)((()=>O()),!0):O()}(e,I),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),_.add(e.agentIdentifier)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>o,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:a,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:o,[c.sessionReplay]:o,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.286.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.286.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-xt9QypT23DNupLy9wXPzK6uGCHucLx9ieBiprVZwJD/HfkKcTY5t9xUrMvJ/ybOBfVDiFPL8R/YCJHdANxjV3g==",249:"sha512-KxJzV7dF4ry7RzxsxRBMJPnHjRdZUbseWowgGkDemMtubSveBZAlqlWb/489Lpd5K2u0Q2zTSBK599A9+u9jpA==",212:"sha512-ges3wTNuYgFINvgkoryTYKsHZWBqvLFD9qo1XJQWq5OYq+1DVXuGFs9cYogVoQEoCQxuaUdKAXcxF/sl3Ntbrg=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.286.0.PROD"]=self["webpackChunk:NRBA-1.286.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if(this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if(this[t]!==o.prototype[t]&&this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(8969);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),A=i(3878),T=i(782),S=i(1863);class N extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(8154);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),p.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,x.p)(O.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(H(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",J=Y+"body-",X=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,X.forEach((e=>{r(Q[te],e,J),r(ee[te],e,J)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;const he="X-NewRelic-App-Data";class pe extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin&&r.getAllResponseHeaders().indexOf(he)>=0){var i=r.getResponseHeader(he);i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const me={},ve=["pushState","replaceState"];function be(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||me[t.debugId]++||(me[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,ve,"-")),t}var ye=i(3738);const{He:we,bD:Re,d3:xe,Kp:Ee,TZ:Ae,Lc:Te,uP:Se,Rz:Ne}=ye;class Oe extends b{static featureName=Ae;constructor(e,t=!0){super(e,Ae,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;be(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Se,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Ne+xe,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Ne+Ee,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(we,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Ie extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Pe=i(3962);class je extends b{static featureName=Pe.TZ;constructor(e,t=!0){if(super(e,Pe.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=be(this.ee);Pe.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Ce=i(7378);const ke={},Le=["appendChild","insertBefore","replaceChild"];function He(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||ke[t.debugId])return t;ke[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,Le,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const Me={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(Me[t.debugId])return t;Me[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Ke={},Ue="setTimeout",Ve="setInterval",Ge="clearTimeout",Fe="-start",Be=[Ue,"setImmediate",Ve,Ge,"clearImmediate"];function We(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Ke[t.debugId]++)return t;Ke[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Be.slice(0,2),Ue+"-"),r.inPlace(p.gm,Be.slice(2,3),Ve+"-"),r.inPlace(p.gm,Be.slice(3),Ge+"-"),t.on(Ve+Fe,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ue+Fe,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const ze={};function qe(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||ze[t.debugId])return t;ze[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:Ze,d3:Ye,Kp:Je,$p:Xe,wW:$e,e5:Qe,tH:et,uP:tt,rw:rt,Lc:nt}=Ce;class it extends b{static featureName=Ze;constructor(e,t=!0){if(super(e,Ze,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=He(this.ee),a=De(this.ee),s=We(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=be(this.ee),f=qe(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[tt]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[tt],this[nt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(tt,g),a.on(rt,g),o.on(rt,g),this.ee.on(nt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([tt,nt,"xhr-resolved"],this.featureName),u.buffer([tt],this.featureName),s.buffer(["setTimeout"+Je,"clearTimeout"+Ye,tt],this.featureName),c.buffer([tt,"new-xhr","send-xhr"+Ye],this.featureName),d.buffer([et+Ye,et+"-done",et+Xe+Ye,et+Xe+Je],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([tt],this.featureName),a.buffer(["propagate",rt,$e,"executor-err","resolve"+Ye],this.featureName),i.buffer([tt,"no-"+tt],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,et+Ye),v(d,et+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var ot=i(3333);class at extends b{static featureName=ot.TZ;constructor(e,t=!0){super(e,ot.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(ot.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),ot.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var st=i(993),ct=i(3785),ut=i(9414);class dt extends b{static featureName=st.TZ;constructor(e,t=!0){super(e,st.TZ,t);const r=this.ee;(0,ut.J)(r,p.gm.console,"log",{level:"info"}),(0,ut.J)(r,p.gm.console,"error",{level:"error"}),(0,ut.J)(r,p.gm.console,"warn",{level:"warn"}),(0,ut.J)(r,p.gm.console,"info",{level:"info"}),(0,ut.J)(r,p.gm.console,"debug",{level:"debug"}),(0,ut.J)(r,p.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,ct.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[pe,w,N,Oe,Ie,_,M,at,dt,je,it],loaderType:"spa"})})()})(); </script><link rel="stylesheet" href="/assets/styles.generated-CmzcVq8e.css"/><link rel="stylesheet" href="/assets/brand.generated-ClZxmlNj.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&amp;display=swap"/><noscript><style type="text/css">.gptHideContent { opacity: 1!important; }</style></noscript></head><body class="brand-gamedeveloper gptHideContent"><noscript></noscript><div id="bigsky_v"></div><div id="welcome_v"></div><main data-theme="theme2" class="Provider"><div data-testid="ad_blocker" class="ads ad adsbox doubleclick ad-placement carbon-ads" style="height:1px;width:1px;position:absolute;left:-999em;top:-999em"></div><div><div data-template="layout" class="Layout"><nav data-module="navigation" aria-label="navigation" class="Navigation"><div data-testid="header" class="Navigation-HeaderWrapper"><div class="FullScreenBackground Navigation-HeaderBackground"></div><div class="Navigation-Header"><div class="InformaBarTech" data-component="informa-bar"><div class="InformaBarTech-LogoSectionWrapper"><div class="InformaBarTech-LogoSection" data-testid="informa-bar-logo-section" role="button" tabindex="0" aria-label="Open Informa bar"><div class="InformaBarTech-LogoWrapper"><img class="InformaBarTech-Logo" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAekAAABqCAYAAACYnalVAAAACXBIWXMAAAsSAAALEgHS3X78AAAPZklEQVR4nO2d320bSRKHew0/HkDe4t41jkDcCMSNwNwIpI3AdATWRmA6AksRrAzcu8UIjoxgxffDQYzAh9mtvmsPKHJIVvVUz3wfQNgWrOHM9J9fV3V11Q/fvn0Le7gJIUxDCFUI4Ur+2zKE8BxCeJDP874LQPGMpQ9M5M/635d7HmoTQngKITyGEFbyeaIbAAAcz0siXYvzbQjh4sAVtyGEhfxf6A+1EM/k81bhqdYi2nci2gAA0IKmSI9lIj12Yl6LlYVVXTZ1+8/lMzJ6krUs7PDCAAAcoCnSqwOuzH0g1GUzkwWalTg3iV6YBX0GAGA3r5KfLs4Q6CC/e8d7Lo7oPfk9o0AH+a4PYrUDAMAOokjXFvA7hRf0ViwyKIOx7BVf014AAP6IIq1pzRBEVgZRoM/xngAAgCGvZLLWiOCNXMpxHfANAg0A4JxXRoI6peFdc278AQAAZOCVkaCOaTy3aMUfAACAMbVI/4OXPCiIwAcAKIRapP8dQvgPDTYIblpkkQMAACe8lgQmP4pQ/0jD9JockfcxBeiz9K00Ucn0hb8DAMAOXie5lDWF+pGX7Q5LK3ojwWh3B7KH0S8AAI7glVQoWsuv/Kjg+t4wGbvEKsnMvZwQIL0nAIAyMZnJIrnsuUJNYJI/tM/CR96LhY44AwAYkBbYeExqRocTXd9rEpm4pBbSz8o3di/XBQAAI9ICGzOpTBQ51qLeMmm7RdvVvaUwBgCAPalIP0v07Sb5WVuh3srvUtDfJ9reDfafAQAy8KrxFSuZ0O+Tnx0S6qX8DgLtk8ogqpu4AwCADDRFOoiFVLut34QQPoll3RTqjQj5z2JBP9FYbqmUb2xNewMA5OH1nm95kn3HuPdYi/HfQgj/pG2KQjtpCMfrAAAysU+kmzA5Q8CKBgDIxy53N/QLbUua2AMAgEwg0gAAAE45xt0N/2eXdfo8ECuz79se4xZH1p5w+0NLXupP3vvQkOe4SHUg8LZZQMgERHo/Y+msUxlo9Wd04Hc20ni1mD0wmbukStpzIu18deKNLpPJ6zHXwAW3TBtzxqH5Yi195iGpHpebShIexXs+dGSzb3NcOr9XLdstZSPvYNX4qJCmBYW/iB22PoZ2qfBO1kmFqC7QbuAfOnqOc4iLrTgRWdfUjuU64yQG/WaWfI6Z3Jtspb/cZhA+zXmu6znuWCbJfHDq4vwQ22Th9XDO4iuKdDNv97mcMpF3fQ838rFstLlyR+7DCus3wzrXcRKyKC7SljhYFx26CjX7yVIxGLFqWDCpa/GxRb+o7+Or0r2EI/tiJeP55kxhfol7ub62ZT2V61qMiY28P49iXSVzvPUivclZc8DQ3d2x4eZGAy1lJEUuYkfBDW7DOGnT3INxF3W7X8tnKQN1qNZ16ladHhhzXmMfKhGia+PvuU4WmRr95Ubu23JMXCRz3MzJto+18dWG5hxwe0z/Hmp0dyWrvT9CCB8yCHTKVZJ+FXSJi5+PTgS6Sd32v0v7ax+N80q0OFcy3j6KFZdzzGmQzhnWAh0ZSX85x9MUx8TnjGPiSr6zyzkufe4uBbrJlXh/HtpmgxyaSI87GGi7GMlKiqphOsTc8Z8Lmfwvk4E6dnA/FtxIH4/CrBHf0QUe5owPJ7iQp8mY6GLBGue43ELdxaLkFN5K+xzUgCGJdAzG6FKcU0bi+sSiPo+6Xf9VqAi8lT6pXUq0K8bSHs8OLZhTmDuaM65bLuorEcevDsZETqGeFSLOKXELdO8CbAgiHQuA5HZrtyF24r5aU5aM5d19KPw5oktz4eBeTmWcLII9jrNjiUL30dmzfN4jeLEN/nC2OBoZe4ziPPB7QeLc5HqfUPdZpMcy8X113ngjjukczcTgNEDXvCt0wdYncQ5ira4c961dghdd214XrBeGEd+TnswDLwp1n0V6JRNfCVyxP92aKNCl7nHu46ogofbsoTqVeQFxDRdJZcKxiLZ3QyTI1k5ftnWsuN7lUeuzSJfm+rA6K9wnomurL6Kwi0vnQl2Kh+oUSulX8yRAqsscAMdS8pZOLt41FzMU2PDDBdb0XoYg0JFLx1sglwV5qPrKqKCTDCnMce24SxfpiLQvsKZf5q6nLu6XuMLygB4yp1EPMkq1YOgZx7xxIa4OAsm+xyqN4Uusk4T5KTF1Za5AlXfk/4aecZnkNchNWgwnrejVpijOpJHz29qL8S4eZ0Sk/YFIf0+VycOwFGu9bTL8aZL+0HLA3sk7oLIW9IWbDBb1OqlKt1JYFMRrxAjsHOlG63d0i0j/xTYpvfZSnde4irK26I6JgPytxf/RPpZxr5x3/FAO24WxCB6dS1d4TAK85obHX0YyMRAZ64dNQwCa5JorjmGb3POuvl5ltBJnBiK9SapO5Sj5eSefucwfFu/sz3zrfa6CdYhl0qjHrLJi0gDL4JmfFN1B2pWyfs5Y/EC7ylHKVtpRa9+3kv5ktW9+znv3UC1t2ai3nS6Gx40kHdNkst2HZf9osk48LW0XqZX0r67EepuISdv5ZJwU47AU6zdKi/2xvOeuKswF6bsPRqcdfhqaSK+TTnvuSutGIiwteK8oHiWLtFWf2CYJIDSJx5Ms0kiuz0iv2IVIx/J8D4bbNzlE+l6hzKjlXLGLZTLPnYr1ovPXgupPtyEuFLQXNu+HEt19L9bpRAachivkTjqaBUOpkLSPaWECHaRf3Uh/0+aykOMraxkXlWKZxS74FEL4e5KB7BzuZOFtzVIW0VMFAXyS62yM7rlvNQuscvBP+y7S9+JW0Rhou6gHwheD67YqYdYSq0FmjVVgiZVAp9zIhKmN5+MrUSAmSp6qrljKnDFXfoaFUZ8IMsZ/SbYJtHg2XBj2sbDQo8ECveqzSL9JsvJYYjFxarqYrJ/fgspoH+99xr2rmVjtmlw69LKk1luubRArPiXpTi2wOKWwTfZELbAQntDj6n/abXzZZ5HOJU5PRtb0kCtjWbiNlpmTg1hZIV5c3useiXPE2vp/lPemySjDfVssLvqaOVBdD8g4poPFKnbIdaYthKgLV/GDgYtz1vECbit7zpMeiXNOLIKlrL0rTwaLi9BjQ0R1XCDSOjBZ6VEZRJTed3hEQ9sKGXV8ZnrVs6jc3JQ6V1i0eV8NEdW5BpHW4clg/3GoWAhQl6LyaGBNE/1fLqtC54ouzyGXBiLtFDqxDtoCtHZgvWjvhZN9rGxKnCvwFrZHNUYAkdajxChqj2iLtAfX7IOy9TQaeMxC6ZR6PM1iXxoOgEjrgUifT2UQ9eklmYb2feDyLpdSvW4UeekARBo8oW0drh0tnrRFGksacoMh0gGINHhCW3g87aNp34tmVjqANiDSHUCpSvBEn0X6WSx7reNlOSvGAQydiZzrTiu2Nau3BYtxiUiDJ7STG3jb+1spnwEfs09YJFikPhkntcAr+Uy6zo6GSIMntF243ibDlXIZS7J+lQki7YMoyFP5u0U96LNBpMETmoPEquLQOXCWHqA7xpJjYCp/FpE/HJEGyIe2a7pPxS0ArJjJR9OLlQ1EGrygvR/tUbywpAHyEK3mW69u7LYg0uAFzv0CgAZzEedelMNEpAEAoA9MJQ1w0ZZzE5KZAABAyYyliM3Xvgl0wJIGAICCqSTlrnYNejdgSQMAQIlMDBIEaaB6/BNLGgAASiMm8ukiOGwri4NHSUyTfiLftL4MkQYvkN4SANpQZRbojXzfYyLM2UCkwQucIQaANjxkEOiNfM9d13MTIg19xeO5a+3c5HgfYGjcGu9BLyVSXLv++8kg0tBXtDOYaaAt0ngfYEjUC+8PRs+7lAWAu0yFRHeDJzSjIodgSQMMiYXBs9ZBYO8958HHkoa+4jEloLZIU1wDhkK96L5Sfta15Pd2XToUSxo8oS06U2fPR35ygNOYK7+3tcwP7mt7I9LgCe0B400UNe/HY71sACtmitfdikAXEXiJSIMntEXakyVdKecVJmgMhsJMeftqVtLJCEQaPNFnd7f2vSDSMBQ0x86ytFgORBq8oenGHTlyeSPSAKehOYbvSmsDRBq8ob3KvXHyfNp7aog0DAXNqO4cSUpUF+SINHhDW6Q1xfFUbpT31Dh6BUNB89jiJtNetOpRS0QavPEolqIWFw72prWteTcpCwGM0RS8XMetsKSh92iL0G2HL6wySMKASAMcT65UwareO0QaPKItQlcdWtPaqQy/UFgD4CQsC3NEtLe2EGlwyYPsH2nShTVdLwzeKl8TKxrgdKzz56vPM4g0eEX7qMSVQWrBQ2hb0ZsSj5AAOMLSozZXTlj0J4g0eGWhHEAWZJWb69z0wsC9hkADnIfVkcyJlbcOkQavPBtYoiMROusAknoieKd8za1RqT4Az2jHX1jEp4xlXjGpvIdIg2csrOlLOeZlJdS1QH82uO6CgDEYIBZJezQXu2OZT8yC0hBp8IyFNR0SodZ2fd8aCfQGKxoGzFr50S+Vto4m1gIdEGkogFuDQRoSodYIJqvkWh8UrrWLOVY0DBiLDHvXZwr1PIdAB0QaCsEq2KPeQ/oomYhO+Y6JDPQ/DBKWRL5w7AoGjlXA5LW404/Zo76R+eKj1R50k9c5vgTgTOqB9F4GhgUX4qZeyOr4Ub7zqZFKcCp7UFP5WK+iN44KhAB0xUrGgvrxJhnDX8VbdyfftUo8V1PxlE0N6lq3ApGGUliI5XpteL8jST6inYDkFLalFacHMOTOcDspiFhrGgFbWeCfvZDH3Q0lMTfan/bInHKUAP/D4qSHFVuxvFUW2Ig0lMSzdP6+C/WvJC4B+I7nDjIGnorqAhuRhtLou1Aj0AC7qcfF0vm7UR+/iDSUSBRq7wP2GGoX2S8INMBeZk7d3mbjF5GGUolC/akHLbiWZ+GoFcB+4rj3JNRby/GLSEPp1Ps/PxuUtszFJxngBIkBtGPlSKiXckTLbPwi0tAHYorPkqzqjSwuyCYGcDxdC/VWcjeoRXG/BCINfSFGf74JIdw7fqaNBJdURukOAYbCSsZR7tiUpRgFWfLpI9LQN2KKzyjWXvau1ok4ExwGoEPco/41w1hfivdr2shEaErMOOZhP6z0Pbkn5RWdlgtF+72W4pqNYj2WiNBZB5nENhJMctdx/9bsl57G6bPys+WaeLXvO9eY9DrHBRljD+JNu1FOIfolSRl8DCpj5Ydv375pXAegFGayEp4YFMXYJHm/H3KutgHgO2bJ55R828tkgd2pYYJIw9CZJEUzQvLvQ8RVdSzCwf4ygE/qMV1/YqGMXaTj2M9YDiH8F/cmbyXaV5JLAAAAAElFTkSuQmCC" alt="Logo Informa"/></div><span class="InformaBarTech-IconWrapper InformaBarTech-IconWrapper_closed"><svg viewBox="0 0 320 512" aria-hidden="true" focusable="false" role="img" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" height="100%"><path fill="#ffffff" d="M288.662 352H31.338c-17.818 0-26.741-21.543-14.142-34.142l128.662-128.662c7.81-7.81 20.474-7.81 28.284 0l128.662 128.662c12.6 12.599 3.676 34.142-14.142 34.142z"></path></svg></span></div><p class="InformaBarTech-LogoInfoWrapper"><span class="InformaBarTech-LogoInfo">TechTarget and Informa Tech’s Digital Business Combine.</span><span class="InformaBarTech-LogoInfo InformaBarTech-LogoInfo_isMobile">TechTarget and Informa</span></p></div><div class="InformaBarTech-TopSection InformaBarTech-TopSection_hidden"><h2 class="InformaBarTech-TopSectionTitle">TechTarget and Informa Tech’s Digital Business Combine.</h2><p class="InformaBarTech-TopSectionDescription">Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.</p></div></div></div></div><div class="Navigation-SecondaryMenuWrapper"><div class="FullScreenBackground Navigation-SecondaryMenuBackground"></div><div class="Navigation-SecondaryMenu"><nav data-testid="SecondaryMenu" class="SecondaryMenu"><a class="SecondaryMenu-Link" target="_blank" href="https://omdia.tech.informa.com/advance-your-business/media-and-entertainment/games-spotlight-service">Game Market Research</a><a class="SecondaryMenu-Link" target="_blank" href="https://www.gdcvault.com/">GDC Vault</a><a class="SecondaryMenu-Link" target="_blank" href="https://gdconf.com/">GDC</a><a class="SecondaryMenu-Link" target="_blank" href="https://reg.gdconf.com/gamedeveloper-media-kit">Advertise With Game Developer</a></nav></div></div><div style="padding-top:0px"></div><div id="navigation-header" class="Navigation-NavBase"><div data-testid="navBase" class="NavBase"><div class="NavBase-Content"><div class="FullScreenBackground NavBase-SecondaryMenuBackground"></div><div class="NavBase-HeaderWrapper"><div class="NavBase-IconsWrapper"><button data-testid="navBase-megaMenuButton" class="NavBase-MegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-MegaMenuIcon NavBase-MegaMenuIcon_iconVariant_small NavBase-MegaMenuIcon_iconType_bars" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonDesktop" class="NavBase-SearchButtonDesktop" aria-label="Open Search"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><button data-testid="SearchButtonTablet" class="NavBase-SearchButtonTablet" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_small NavBase-SearchIcon_iconType_search" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="NavBase-LogoWrapper"><button data-testid="navBase-LogoMegaMenuButton" class="NavBase-LogoMegaMenuButton" aria-label="Open Mega menu"><span data-component="icon" data-name="Bars" class="NavBase-LogoMegaMenuIcon NavBase-LogoMegaMenuIcon_iconVariant_small NavBase-LogoMegaMenuIcon_iconType_bars" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button><a class="NavBase-Logo" href="/" data-discover="true"><img data-testid="logo-image" data-component="image" class="NavBase-LogoImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=476&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Game Developer Logo" title="Game Developer Logo"/></a></div><div class="NavBase-RegisterWrapper"><div data-module="newsletter-signup-promo"><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_small NewsletterSignupButton"><a data-component="button" data-testid="headerSmallNewsletterButton" class="Button Button_size_small Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-nav" href="https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton%20" target="_blank"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Stay Updated</span></a></div><div class="NewsletterSignupPromo-Button NewsletterSignupPromo-Button_medium NewsletterSignupButton"><div data-component="social-share" class="SocialShare SocialShare_variant_layout Layout-SocialShare"><a rel="noreferrer" aria-label="RSS" class="Layout-SocialLink" href="/rss.xml" target="_blank" data-discover="true"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" class="Layout-SocialLink" href="https://twitter.com/gamedevdotcom/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" class="Layout-SocialLink" href="https://www.linkedin.com/company/gamedeveloperofficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Facebook" class="Layout-SocialLink" href="https://www.facebook.com/GameDeveloperOfficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" class="Layout-SocialLink" href="https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en&amp;oc=3&amp;hl=en-US&amp;gl=US"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div><a data-component="button" data-testid="headerMediumNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-nav" href="https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton%20" target="_blank"><span data-component="icon" data-name="Email" class="Button-Icon Button-Icon_position_left" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2013%2012&#x27;%3e%3cpath%20id=&#x27;Path_2045&#x27;%20data-name=&#x27;Path%202045&#x27;%20d=&#x27;M1052.983,38h11.694a.625.625,0,0,1,.458.2.659.659,0,0,1,.195.471V49.333a.659.659,0,0,1-.195.471.625.625,0,0,1-.458.2h-11.694a.625.625,0,0,1-.458-.2.659.659,0,0,1-.195-.471V38.667a.659.659,0,0,1,.195-.471A.625.625,0,0,1,1052.983,38Zm11.041,2.825-5.145,4.733-5.243-4.748v7.856h10.388Zm-10.057-1.492,4.9,4.441,4.833-4.441Z&#x27;%20transform=&#x27;translate(-1052.33%20-38)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><span class="Button-ContentWrapper">Stay Updated</span></a></div></div><button data-testid="RegisterSearchButton" class="NavBase-RegisterSearchButton" aria-label="Open Search in MegaMenu"><span data-component="icon" data-name="Search" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_large NavBase-SearchIcon_iconType_search" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="NavBase-SearchWrapper"><div class="FullScreenBackground NavBase-SearchBackground"></div><button data-testid="SearchCloseButton" class="NavBase-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="NavBase-SearchIcon NavBase-SearchIcon_iconVariant_medium NavBase-SearchIcon_iconType_close" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div><div class="Navigation-MainMenu"><div data-testid="mainMenu"><div class="FullScreenBackground MainMenu-BackgroundSubmenu"></div><div class="FullScreenBackground MainMenu-BackgroundMenuItem"></div><div class="MainMenu-Content"><div class="MainMenu-MegaMenuButtonWrapper"><button data-testid="mainMenu-MegaMenuButton" aria-label="Open MegaMenu" class="MainMenu-MegaMenuButton"><span data-component="icon" data-name="Bars" class="MainMenu-MegaMenuIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Hamburger&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;16&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2016%2013&#x27;%3e%3crect%20id=&#x27;Rectangle_1690&#x27;%20data-name=&#x27;Rectangle%201690&#x27;%20width=&#x27;16&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1691&#x27;%20data-name=&#x27;Rectangle%201691&#x27;%20width=&#x27;13&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%205)&#x27;/%3e%3crect%20id=&#x27;Rectangle_1692&#x27;%20data-name=&#x27;Rectangle%201692&#x27;%20width=&#x27;10&#x27;%20height=&#x27;3&#x27;%20transform=&#x27;translate(0%2010)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div><div class="MainMenu-ItemsWrapper" role="menu"><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Nintendo Switch 2"><span class="MainMenu-MainTitle">Nintendo Switch 2<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/console/-redesigned-from-the-ground-up-the-nintendo-switch-2-will-launch-on-june-5" data-discover="true">Switch 2 - Price &amp; Tech Info</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/console/nintendo-switch-2-shows-nintendo-s-strategy-for-a-social-future" data-discover="true">Switch 2 - Hands-On Impressions</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/nintendo-switch-2" data-discover="true">Switch 2 - More Articles</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/top-stories" data-discover="true">More Trending Stories</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/keyword/nintendo-switch-2" data-discover="true">Nintendo Switch 2</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/keyword/nintendo-switch-2" data-discover="true"><span class="SubMenu-SeeMoreText"></span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Promotional artwork of the Switch 2</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta8b354162c3d5a92/67f00d2efab4ef3b774e32e2/Switch_2_Header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta8b354162c3d5a92/67f00d2efab4ef3b774e32e2/Switch_2_Header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_business ContentPreview-Category" href="/business" data-discover="true">Business</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true">Nintendo delays Switch 2 pre-orders in the U.S. over Trump tariffs</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true">Nintendo delays Switch 2 pre-orders in the U.S. over Trump tariffs</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 4, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Samus looks down at a player using the Nintendo Switch 2 Joy-Con as a mouse.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 3, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>13 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/latest-news" data-discover="true">News</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/latest-case-studies" data-discover="true">Deep Dives</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/game-platforms/mobile" data-discover="true">Mobile</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/design" data-discover="true">Game Design</a></div><div class="MainMenu-TitleWrapper"><a class="MainMenu-Title" href="/programming" data-discover="true">Programming</a></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of Developer Blogs"><span class="MainMenu-MainTitle">Developer Blogs<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/program/blogs" data-discover="true">Browse Latest Blogs</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" target="_blank" href="https://reg.gdconf.com/blog-submission">Submit Your Blog Post</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/blogging-frequently-asked-questions" data-discover="true">Frequently Asked Questions</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/blogging-guidelines" data-discover="true">Blogging Rules and Guidelines</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/keyword/featured-blogs" data-discover="true">Developer Blogs</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/keyword/featured-blogs" data-discover="true"><span class="SubMenu-SeeMoreText">Read Featured Blogs</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Zan and Jen, two characters from Tactical Breach Wizards, strike a pose.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta6d198af8a72d72f/66bb73fe91a77dfd342db170/tacticalbreachwizardsfeatured.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta6d198af8a72d72f/66bb73fe91a77dfd342db170/tacticalbreachwizardsfeatured.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_art ContentPreview-Category" href="/art" data-discover="true">Art</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true">The director of Tactical Breach Wizards is right: animate words, not letters!</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true">The director of Tactical Breach Wizards is right: animate words, not letters!</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Mar 25, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/ghostrunner-2-deep-dive" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Game director playing Ghostrunner 2 at desk</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6df81c9c42a7f530/67d02e051b33471d342904e4/OML2.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6df81c9c42a7f530/67d02e051b33471d342904e4/OML2.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/ghostrunner-2-deep-dive" data-discover="true">Feedback and experimentation: the foundations of Ghostrunner 2</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/ghostrunner-2-deep-dive" data-discover="true">Feedback and experimentation: the foundations of Ghostrunner 2</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/rados-aw-ratusznik" data-discover="true">Radosław Ratusznik</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Mar 10, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-MenuItemWrapper"><div class="MainMenu-MenuItem" role="menuitem" tabindex="0" data-testid="openSubMenu" aria-label="Open Sub menu of More"><span class="MainMenu-MainTitle">More<span data-component="icon" data-name="ChevronDown" class="MainMenu-SubMenuIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;21&#x27;%20height=&#x27;13&#x27;%20viewBox=&#x27;0%200%2021%2013&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M11.467,11.76,19.5,19.8l8.032-8.035L30,14.234,19.5,24.76,9,14.234Z&#x27;%20transform=&#x27;translate(-9%20-11.76)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></div><div class="MainMenu-SubMenuWrapper"><div class="MainMenu-SubMenuContent"><div data-module="sub-menu" class="SubMenu MainMenu-SubMenu" role="presentation"><div class="SubMenu-Container"><div class="SubMenu-RelatedTopicsWrapper"><h4 class="SubMenu-RelatedTopics">Related Topics</h4><div class="SubMenu-CasualLinkWrapper" data-testid="related"><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/latest-interviews" data-discover="true">Interviews</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/q-a-s" data-discover="true">Q&amp;As</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/deep-dives" data-discover="true">Deep Dives</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/postmortems" data-discover="true">Postmortems</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/culture" data-discover="true">Culture</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/unionization" data-discover="true">Unionization</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/business" data-discover="true">Business</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/marketing" data-discover="true">Marketing</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/design" data-discover="true">Design</a></li></ul><ul class="SubMenu-CasualLinkList"><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/programming" data-discover="true">Programming</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/production" data-discover="true">Production</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/art" data-discover="true">Art</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/audio" data-discover="true">Audio</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/game-platforms/pc" data-discover="true">PC</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/keyword/steam-deck" data-discover="true">Steam Deck</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/game-platforms/console" data-discover="true">Console</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/game-platforms/mobile" data-discover="true">Mobile</a></li><li class="SubMenu-CasualLinkItem"><a class="SubMenu-ItemLink" data-testid="sub-menu-item-link" href="/game-platforms/extended-reality" data-discover="true">Extended Reality</a></li></ul></div></div><div class="SubMenu-RecentContentWrapper" data-testid="recent"><div class="SubMenu-RecentContentHeading"><h4 data-testid="recent-title" class="SubMenu-RecentText">Recent in <a class="SubMenu-RecentTopicTerm" href="/latest-commentary" data-discover="true">More</a></h4><div data-testid="see-more" class="SubMenu-SeeMore"><a class="SubMenu-MoreContent" href="/latest-commentary" data-discover="true"><span class="SubMenu-SeeMoreText">Read More: Business</span><span data-component="icon" data-name="ChevronRight" class="SubMenu-SeeMoreIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a></div></div><div class="SubMenu-ContentWrapper"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Zan and Jen, two characters from Tactical Breach Wizards, strike a pose.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta6d198af8a72d72f/66bb73fe91a77dfd342db170/tacticalbreachwizardsfeatured.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta6d198af8a72d72f/66bb73fe91a77dfd342db170/tacticalbreachwizardsfeatured.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_art ContentPreview-Category" href="/art" data-discover="true">Art</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true">The director of Tactical Breach Wizards is right: animate words, not letters!</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-" data-discover="true">The director of Tactical Breach Wizards is right: animate words, not letters!</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Mar 25, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>4 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/ghostrunner-2-deep-dive" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Game director playing Ghostrunner 2 at desk</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6df81c9c42a7f530/67d02e051b33471d342904e4/OML2.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6df81c9c42a7f530/67d02e051b33471d342904e4/OML2.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/ghostrunner-2-deep-dive" data-discover="true">Feedback and experimentation: the foundations of Ghostrunner 2</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/ghostrunner-2-deep-dive" data-discover="true">Feedback and experimentation: the foundations of Ghostrunner 2</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/rados-aw-ratusznik" data-discover="true">Radosław Ratusznik</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Mar 10, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>9 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="MainMenu-SearchButtonWrapper"><button data-testid="mainMenu-SearchButton" aria-label="Open Search" class="MainMenu-SearchButton"><span data-component="icon" data-name="Search" class="MainMenu-SearchButtonIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;20&#x27;%20height=&#x27;20.004&#x27;%20viewBox=&#x27;0%200%2020%2020.004&#x27;%3e%3cpath%20id=&#x27;Search&#x27;%20d=&#x27;M1223.785,115.394,1228,119.61,1226.612,121l-4.215-4.218a8.891,8.891,0,1,1,1.389-1.392Zm-1.969-.731a6.9,6.9,0,1,0-.148.148Z&#x27;%20transform=&#x27;translate(-1208%20-101)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div><div class="MainMenu-SearchWrapper"><div class="FullScreenBackground MainMenu-SearchBackground MainMenu-SearchBackground_withSearchBar"></div><button data-testid="mainMenu-SearchCloseButton" class="MainMenu-SearchCloseButton" aria-label="Close Search"><span data-component="icon" data-name="Close" class="MainMenu-SearchCloseIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;18&#x27;%20height=&#x27;18&#x27;%20viewBox=&#x27;0%200%2018%2018&#x27;%3e%3cpath%20id=&#x27;Icon_material-close&#x27;%20data-name=&#x27;Icon%20material-close&#x27;%20d=&#x27;M25.5,9.313,23.687,7.5,16.5,14.687,9.313,7.5,7.5,9.313,14.687,16.5,7.5,23.687,9.313,25.5,16.5,18.313,23.687,25.5,25.5,23.687,18.313,16.5Z&#x27;%20transform=&#x27;translate(-7.5%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></button></div></div></div></div></nav><div class="SponsorBar" data-component="sponsor-bar"><div class="SponsorBar-Wrapper"><span class="SponsorBar-Sponsored" data-testid="sponsored">Sponsored By</span><div class="SponsorBar-LogosWrapper"></div></div></div><section class="Layout-Section"><div id="iiris-identity" data-testid="iris-identity"></div><div data-template="topic-list"><div data-template="list-content" class="ListContent"><div class="TwoColumnLayout"><div id="portal-root"></div><div class="TwoColumnLayout-Head"><div class="TopicList-Head"><ul data-component="breadcrumb" class="Breadcrumb TopicList-Breadcrumbs"><li class="Breadcrumb-ListItem"><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-PrevIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span><a class="Breadcrumb-GetText Breadcrumb-GetText_isNearLastItem" data-testid="breadcrumb-link" href="/" data-discover="true">Home</a><span data-component="icon" data-name="ChevronRight" class="Breadcrumb-DividerIcon Breadcrumb-NextIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;13&#x27;%20height=&#x27;21&#x27;%20viewBox=&#x27;0%200%2013%2021&#x27;%3e%3cpath%20id=&#x27;Icon_material-keyboard-arrow-down&#x27;%20data-name=&#x27;Icon%20material-keyboard-arrow-down&#x27;%20d=&#x27;M2.467,13,10.5,4.965,18.533,13,21,10.526,10.5,0,0,10.526Z&#x27;%20transform=&#x27;translate(13)%20rotate(90)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></li><li class="Breadcrumb-ListItem"><a class="Breadcrumb-GetText Breadcrumb-GetText_isLastItem" data-testid="breadcrumb-link" href="/audio" data-discover="true">Audio</a></li></ul><div data-module="category-header" class="CategoryHeader CategoryHeader_primaryTitle"><div class="CategoryHeader-TitleWrapper CategoryHeader-TitleWrapper_primaryTitle"><div class="CategoryHeader-TitleContent"><h1 class="CategoryHeader-Title CategoryHeader-Title_primary" data-testid="category-header-title">Audio</h1></div><div class="CategoryHeader-SponsorAdsWrapper" data-testid="category-header-sponsor-ads"></div></div></div></div></div><div class="TwoColumnLayout-Content"><div class="TwoColumnLayout-Body"><div class="ListContent-Body" data-testid="list-content-body"><div class="ContentPreview ListContent-Content ListContent-Content_featured" data-module="content-preview" data-variant="summary"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_summary"><a data-testid="thumbnail" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">SAG-AFTRA members wearing union shirts and carrying signs form a picket line.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_audio ContentPreview-Category" href="/audio" data-discover="true">Audio</a><div class="ArticlePreview"><div class="ArticlePreview-Body"><a class="ArticlePreview-Title ArticlePreview-Title_displayOption_default" data-testid="preview-default-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a><a class="ArticlePreview-Title ArticlePreview-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a><p data-testid="preview-card-summary" class="ArticlePreview-Summary">'It's an illusion to think that we don't impact each other, that's not how the industry works.'</p><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_summary Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div><div class="ArticlePreview-Footer"><span class="ArticlePreview-Date">Apr 1, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ListContent-Content ListContent-Content_latest"><div class="ListContent-ContentWrapper"><div class="ListContent-ContentContainer"><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Senua faces off against an enemy in Senua&#x27;s Saga: Hellblade II.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef81de861cb736a3/67eab13e4c457d02eae1fed8/hellbladeIIfeatured.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef81de861cb736a3/67eab13e4c457d02eae1fed8/hellbladeIIfeatured.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_audio ContentPreview-Category" href="/audio" data-discover="true">Audio</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true">How Ninja Theory created Hellblade II's unsettling soundscape</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true">How Ninja Theory created Hellblade II's unsettling soundscape</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/alessandro-fillari" data-discover="true">Alessandro Fillari</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Mar 31, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_big"><a data-testid="thumbnail" href="/design/the-comedy-first-approach-to-thank-goodness-you-re-here" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Player character mows the lawn behind colorful flower characters</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd1dea5c49ce16883/67e6bc260b53df28782a3288/thank_goodness_youre_here_flowers_and_mowing.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd1dea5c49ce16883/67e6bc260b53df28782a3288/thank_goodness_youre_here_flowers_and_mowing.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/the-comedy-first-approach-to-thank-goodness-you-re-here" data-discover="true">'We write good stuff in the pub:' the comedy first approach to Thank Goodness You're Here</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/the-comedy-first-approach-to-thank-goodness-you-re-here" data-discover="true">'We write good stuff in the pub:' the comedy first approach to Thank Goodness You're Here</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/joel-couture" data-discover="true">Joel Couture</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Mar 28, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div><div class="ListContent-ContentWrapper"><div class="ListContent-ContentContainer"><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_small"><a data-testid="thumbnail" href="/design/exploring-quito-ecuador-and-soccer-fever-in-despelote" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Kicking the ball far in despelote</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt84204eabd115990e/67e1947bbc68d718ac20ed80/despolete_kicking_the_ball_far.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt84204eabd115990e/67e1947bbc68d718ac20ed80/despolete_kicking_the_ball_far.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/exploring-quito-ecuador-and-soccer-fever-in-despelote" data-discover="true">Exploring Quito, Ecuador (and soccer fever) in despelote</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/exploring-quito-ecuador-and-soccer-fever-in-despelote" data-discover="true">Exploring Quito, Ecuador (and soccer fever) in despelote</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/joel-couture" data-discover="true">Joel Couture</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Mar 24, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_small"><a data-testid="thumbnail" href="/design/consume-me-wins-grand-prize-nuovo-award-at-the-2025-igf-awards" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta25bb4702d28b5d9/67dc8612917f4fd8903179b9/ss_0277c27cc3a4c7ace2d33fe0c036bd35d60a1ad1.1920x1080.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta25bb4702d28b5d9/67dc8612917f4fd8903179b9/ss_0277c27cc3a4c7ace2d33fe0c036bd35d60a1ad1.1920x1080.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><a class="ContentPreview-IconWrapper" title="Link to all video" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ContentPreview-Icon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;19&#x27;%20height=&#x27;24&#x27;%20viewBox=&#x27;0%200%2019%2024&#x27;%3e%3cpath%20id=&#x27;Icon_material-play-arrow&#x27;%20data-name=&#x27;Icon%20material-play-arrow&#x27;%20d=&#x27;M12,7.5v24l19-12Z&#x27;%20transform=&#x27;translate(-12%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;19&#x27;%20height=&#x27;24&#x27;%20viewBox=&#x27;0%200%2019%2024&#x27;%3e%3cpath%20id=&#x27;Icon_material-play-arrow&#x27;%20data-name=&#x27;Icon%20material-play-arrow&#x27;%20d=&#x27;M12,7.5v24l19-12Z&#x27;%20transform=&#x27;translate(-12%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/consume-me-wins-grand-prize-nuovo-award-at-the-2025-igf-awards" data-discover="true">'Consume Me' Wins Grand Prize, Nuovo Award at the 2025 IGF Awards</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/consume-me-wins-grand-prize-nuovo-award-at-the-2025-igf-awards" data-discover="true">'Consume Me' Wins Grand Prize, Nuovo Award at the 2025 IGF Awards</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/beth-elderkin" data-discover="true">Beth Elderkin</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Mar 20, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->View</span></div></div></div></div></div></div><div class="ContentPreview ListContent-LatestItem" data-module="content-preview" data-variant="normal"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_normal ContentPreview-Wrapper_articleSize_small"><a data-testid="thumbnail" href="/design/-balatro-plays-winning-hand-at-gdca-2025-receiving-game-of-the-year" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">thumbnail</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbee0ad3fb431af42/67dc650d24683e6c8a416863/Game_of_the_Year.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbee0ad3fb431af42/67dc650d24683e6c8a416863/Game_of_the_Year.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><a class="ContentPreview-IconWrapper" title="Link to all video" data-testid="content-preview-icon-link" href="/videos" data-discover="true"><span data-component="icon" data-name="Play" class="ContentPreview-Icon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;19&#x27;%20height=&#x27;24&#x27;%20viewBox=&#x27;0%200%2019%2024&#x27;%3e%3cpath%20id=&#x27;Icon_material-play-arrow&#x27;%20data-name=&#x27;Icon%20material-play-arrow&#x27;%20d=&#x27;M12,7.5v24l19-12Z&#x27;%20transform=&#x27;translate(-12%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;19&#x27;%20height=&#x27;24&#x27;%20viewBox=&#x27;0%200%2019%2024&#x27;%3e%3cpath%20id=&#x27;Icon_material-play-arrow&#x27;%20data-name=&#x27;Icon%20material-play-arrow&#x27;%20d=&#x27;M12,7.5v24l19-12Z&#x27;%20transform=&#x27;translate(-12%20-7.5)&#x27;/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></a><div class="ContentCard"><div class="ContentCard-Body"><a class="ContentCard-Title ContentCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/-balatro-plays-winning-hand-at-gdca-2025-receiving-game-of-the-year" data-discover="true">'Balatro' Plays Winning Hand at GDCA 2025, Receiving Game of the Year</a><a class="ContentCard-Title ContentCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/-balatro-plays-winning-hand-at-gdca-2025-receiving-game-of-the-year" data-discover="true">'Balatro' Plays Winning Hand at GDCA 2025, Receiving Game of the Year</a><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_normal" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/beth-elderkin" data-discover="true">Beth Elderkin</a></div></div></div><div class="ContentCard-Footer"><span class="ContentCard-Date" data-testid="content-card-date">Mar 20, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->View</span></div></div></div></div></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Soldier 11 and Lycaon in Zenless Zone Zero." href="/business/zenless-zone-zero-actors-recast-amid-ongoing-sag-aftra-strike" data-discover="true"><div title="Soldier 11 and Lycaon in Zenless Zone Zero."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt08f42fd534c0ea73/67d32d0c4a2016197b769b3c/zenless_soldier_lycaon.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt08f42fd534c0ea73/67d32d0c4a2016197b769b3c/zenless_soldier_lycaon.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Soldier 11 and Lycaon in Zenless Zone Zero." title="Soldier 11 and Lycaon in Zenless Zone Zero."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/zenless-zone-zero-actors-recast-amid-ongoing-sag-aftra-strike" data-discover="true">Zenless Zone Zero actors recast amid ongoing SAG-AFTRA strike</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/zenless-zone-zero-actors-recast-amid-ongoing-sag-aftra-strike" data-discover="true">Zenless Zone Zero actors recast amid ongoing SAG-AFTRA strike</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Mar 13, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Headshot of late voice actor Dave Mallow." href="/business/obituary-voice-actor-dave-mallow-passed-away-at-age-76" data-discover="true"><div title="Headshot of late voice actor Dave Mallow."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt77eb9d93cccb15bf/67d1d928f8d065867828711c/dave_mallow.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt77eb9d93cccb15bf/67d1d928f8d065867828711c/dave_mallow.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Headshot of late voice actor Dave Mallow." title="Headshot of late voice actor Dave Mallow."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/obituary-voice-actor-dave-mallow-passed-away-at-age-76" data-discover="true">Obituary: Voice actor Dave Mallow has passed away at age 76</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/obituary-voice-actor-dave-mallow-passed-away-at-age-76" data-discover="true">Obituary: Voice actor Dave Mallow has passed away at age 76</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Mar 12, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Screenshot of 2025&#x27;s Castle of Secrets." href="/business/indie-dev-serene-questworks-accused-of-replacing-game-s-cast-with-ai-voices" data-discover="true"><div title="Screenshot of 2025&#x27;s Castle of Secrets."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt567586cdf0985997/67cf2a9ea5dc9e043e185f20/castle_of_secrets.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt567586cdf0985997/67cf2a9ea5dc9e043e185f20/castle_of_secrets.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Screenshot of 2025&#x27;s Castle of Secrets." title="Screenshot of 2025&#x27;s Castle of Secrets."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/indie-dev-serene-questworks-accused-of-replacing-game-s-cast-with-ai-voices" data-discover="true">Indie dev Serene Questworks accused of replacing game's cast with AI voices</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/indie-dev-serene-questworks-accused-of-replacing-game-s-cast-with-ai-voices" data-discover="true">Indie dev Serene Questworks accused of replacing game's cast with AI voices</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Mar 11, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Two characters from Hades II pose with a bloody axe." href="/audio/supergiant-denies-recasting-hades-ii-actor-over-interim-sag-aftra-contract-request" data-discover="true"><div title="Two characters from Hades II pose with a bloody axe."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltebbcdfa2158b6c61/67b7aae3c3286e75fa9703ce/hades2wartimefeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltebbcdfa2158b6c61/67b7aae3c3286e75fa9703ce/hades2wartimefeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Two characters from Hades II pose with a bloody axe." title="Two characters from Hades II pose with a bloody axe."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/supergiant-denies-recasting-hades-ii-actor-over-interim-sag-aftra-contract-request" data-discover="true">Supergiant denies recasting Hades II actor over interim SAG-AFTRA contract request</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/supergiant-denies-recasting-hades-ii-actor-over-interim-sag-aftra-contract-request" data-discover="true">Supergiant denies recasting Hades II actor over interim SAG-AFTRA contract request</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Feb 20, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: The VGHF logo overlaid on a photograph of the VGHF collection" href="/production/video-game-history-foundation-we-need-more-internal-champions-within-studio-structures" data-discover="true"><div title="The VGHF logo overlaid on a photograph of the VGHF collection"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt62a4e2950d6a23a1/67af3060c8bbae722009a38d/VGHF_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt62a4e2950d6a23a1/67af3060c8bbae722009a38d/VGHF_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="The VGHF logo overlaid on a photograph of the VGHF collection" title="The VGHF logo overlaid on a photograph of the VGHF collection"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_production ListPreview-Keyword" href="/production" data-discover="true">Production</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/production/video-game-history-foundation-we-need-more-internal-champions-within-studio-structures" data-discover="true">Video Game History Foundation: We need more 'internal champions' within studio structures</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/production/video-game-history-foundation-we-need-more-internal-champions-within-studio-structures" data-discover="true">Video Game History Foundation: We need more 'internal champions' within studio structures</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Feb 14, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Chris Kerr" href="/author/chris-kerr" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Chris Kerr" title="Picture of Chris Kerr"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->News Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Guardians vs. the Hive in Destiny 2: Heresy." href="/business/destiny-2-is-the-latest-game-impacted-by-sag-aftra-strike" data-discover="true"><div title="Guardians vs. the Hive in Destiny 2: Heresy."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt471f79137bcbf532/67a2524983bdcd18af53b93c/destiny_2_heresy.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt471f79137bcbf532/67a2524983bdcd18af53b93c/destiny_2_heresy.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Guardians vs. the Hive in Destiny 2: Heresy." title="Guardians vs. the Hive in Destiny 2: Heresy."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/destiny-2-is-the-latest-game-impacted-by-sag-aftra-strike" data-discover="true">Destiny 2 is the latest game impacted by SAG-AFTRA strike</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/destiny-2-is-the-latest-game-impacted-by-sag-aftra-strike" data-discover="true">Destiny 2 is the latest game impacted by SAG-AFTRA strike</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Feb 4, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Winifred Phillips collecting her Grammy award on-stage at the 2025 ceremony" href="/audio/wizardry-proving-grounds-of-the-mad-overlord-composer-winifred-phillips-wins-grammy-award" data-discover="true"><div title="Winifred Phillips collecting her Grammy award on-stage at the 2025 ceremony"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7f89586b4e45f7a8/67a09d5c2c8669bd4b4bc8b6/Winifred_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7f89586b4e45f7a8/67a09d5c2c8669bd4b4bc8b6/Winifred_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Winifred Phillips collecting her Grammy award on-stage at the 2025 ceremony" title="Winifred Phillips collecting her Grammy award on-stage at the 2025 ceremony"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/wizardry-proving-grounds-of-the-mad-overlord-composer-winifred-phillips-wins-grammy-award" data-discover="true">Wizardry: Proving Grounds of the Mad Overlord composer Winifred Phillips wins Grammy award</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/wizardry-proving-grounds-of-the-mad-overlord-composer-winifred-phillips-wins-grammy-award" data-discover="true">Wizardry: Proving Grounds of the Mad Overlord composer Winifred Phillips wins Grammy award</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Feb 3, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Chris Kerr" href="/author/chris-kerr" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Chris Kerr" title="Picture of Chris Kerr"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->News Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Characters from Astro Bot and Black Myth: Wukong" href="/marketing/astro-bot-and-black-myth-wukong-take-the-lead-in-gdca-2025-nominations" data-discover="true"><div title="Characters from Astro Bot and Black Myth: Wukong"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3fd8f86345b0c32e/67993f8b0e0e8e3fd16e7918/Untitled_design_copy_2.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3fd8f86345b0c32e/67993f8b0e0e8e3fd16e7918/Untitled_design_copy_2.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Characters from Astro Bot and Black Myth: Wukong" title="Characters from Astro Bot and Black Myth: Wukong"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_marketing ListPreview-Keyword" href="/marketing" data-discover="true">Marketing</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/marketing/astro-bot-and-black-myth-wukong-take-the-lead-in-gdca-2025-nominations" data-discover="true">Astro Bot and Black Myth: Wukong take the lead in GDCA 2025 nominations</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/marketing/astro-bot-and-black-myth-wukong-take-the-lead-in-gdca-2025-nominations" data-discover="true">Astro Bot and Black Myth: Wukong take the lead in GDCA 2025 nominations</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 28, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Beth Elderkin" href="/author/beth-elderkin" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta4a6afc5bf4300eb/650f170cde47dca7a8f21ba2/source_small.jpeg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta4a6afc5bf4300eb/650f170cde47dca7a8f21ba2/source_small.jpeg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Beth Elderkin" title="Picture of Beth Elderkin"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/beth-elderkin" data-discover="true">Beth Elderkin</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Content Marketing Manager (GDC)</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Three screenshots from Astro Bot placed side-by-side" href="/production/astro-bot-wins-big-at-the-2025-new-york-game-awards" data-discover="true"><div title="Three screenshots from Astro Bot placed side-by-side"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt51f9928558da2331/6790efc6e0e9b268bb3f040b/Astro_Bot_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt51f9928558da2331/6790efc6e0e9b268bb3f040b/Astro_Bot_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Three screenshots from Astro Bot placed side-by-side" title="Three screenshots from Astro Bot placed side-by-side"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_production ListPreview-Keyword" href="/production" data-discover="true">Production</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/production/astro-bot-wins-big-at-the-2025-new-york-game-awards" data-discover="true">Astro Bot wins big at the 2025 New York Game Awards</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/production/astro-bot-wins-big-at-the-2025-new-york-game-awards" data-discover="true">Astro Bot wins big at the 2025 New York Game Awards</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 22, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Chris Kerr" href="/author/chris-kerr" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Chris Kerr" title="Picture of Chris Kerr"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->News Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Screenshot from 2024&#x27;s Consume Me." href="/art/jenny-jiao-hsia-s-consume-me-leads-2025-s-igf-awards-finalists" data-discover="true"><div title="Screenshot from 2024&#x27;s Consume Me."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfaa906f7e996fe1b/6788188ce8ea5b4dd353f1dc/consume_me_game.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfaa906f7e996fe1b/6788188ce8ea5b4dd353f1dc/consume_me_game.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Screenshot from 2024&#x27;s Consume Me." title="Screenshot from 2024&#x27;s Consume Me."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_art ListPreview-Keyword" href="/art" data-discover="true">Art</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/art/jenny-jiao-hsia-s-consume-me-leads-2025-s-igf-awards-finalists" data-discover="true">Jenny Jiao Hsia's Consume Me leads the list of 2025 IGF Awards finalists</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/art/jenny-jiao-hsia-s-consume-me-leads-2025-s-igf-awards-finalists" data-discover="true">Jenny Jiao Hsia's Consume Me leads the list of 2025 IGF Awards finalists</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 15, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Sweeping environmental details of Pandora" href="/audio/deep-dive-sound-design-for-the-living-world-in-avatar-frontiers-of-pandora" data-discover="true"><div title="Sweeping environmental details of Pandora"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltaf492274bbdd3c61/67801177ae59380a103f0a73/Avatar_Frontiers_of_Pandora.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltaf492274bbdd3c61/67801177ae59380a103f0a73/Avatar_Frontiers_of_Pandora.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Sweeping environmental details of Pandora" title="Sweeping environmental details of Pandora"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/deep-dive-sound-design-for-the-living-world-in-avatar-frontiers-of-pandora" data-discover="true">Deep Dive: Sound design for the living world in Avatar: Frontiers of Pandora</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/deep-dive-sound-design-for-the-living-world-in-avatar-frontiers-of-pandora" data-discover="true">Deep Dive: Sound design for the living world in Avatar: Frontiers of Pandora</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Jan 6, 2025</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Sylvain Livenais" href="/author/sylvain-livenais" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Sylvain Livenais" title="Picture of Sylvain Livenais"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/sylvain-livenais" data-discover="true">Sylvain Livenais</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: A promo image for Bryant&#x27;s top 10 game of the year list featuring four games." href="/design/game-developer-2024-wrap-up-bryant-francis-top-10-games-of-the-year" data-discover="true"><div title="A promo image for Bryant&#x27;s top 10 game of the year list featuring four games."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt0cf104abf5409937/67645190c5e375038d55ebb5/Game_Developer_Bryant_Francis_Best_Games_2024.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt0cf104abf5409937/67645190c5e375038d55ebb5/Game_Developer_Bryant_Francis_Best_Games_2024.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="A promo image for Bryant&#x27;s top 10 game of the year list featuring four games." title="A promo image for Bryant&#x27;s top 10 game of the year list featuring four games."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_design ListPreview-Keyword" href="/design" data-discover="true">Design</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/design/game-developer-2024-wrap-up-bryant-francis-top-10-games-of-the-year" data-discover="true">Game Developer 2024 Wrap-Up: Bryant Francis' top 10 games of the year</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/design/game-developer-2024-wrap-up-bryant-francis-top-10-games-of-the-year" data-discover="true">Game Developer 2024 Wrap-Up: Bryant Francis' top 10 games of the year</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 23, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Three Call of Duty: Black Ops 6: Zombies playable characters strike a pose." href="/audio/black-ops-6-zombies-characters-recast-after-original-actors-withdrew-during-strike" data-discover="true"><div title="Three Call of Duty: Black Ops 6: Zombies playable characters strike a pose."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9cf9b79911613593/6761d87fabb68b4a74c2879f/ss_5a7c5b26417d19a88cbe7bca9bcab64abd149eba.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9cf9b79911613593/6761d87fabb68b4a74c2879f/ss_5a7c5b26417d19a88cbe7bca9bcab64abd149eba.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Three Call of Duty: Black Ops 6: Zombies playable characters strike a pose." title="Three Call of Duty: Black Ops 6: Zombies playable characters strike a pose."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/black-ops-6-zombies-characters-recast-after-original-actors-withdrew-during-strike" data-discover="true">Activision quietly recast Black Ops 6 Zombies actors during SAG-AFTRA strike</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/black-ops-6-zombies-characters-recast-after-original-actors-withdrew-during-strike" data-discover="true">Activision quietly recast Black Ops 6 Zombies actors during SAG-AFTRA strike</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 18, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Sonic and Shadow the Hedgehog in Sonic Adventure 2." href="/business/crush-40-singer-sues-sega-over-sonic-adventure-2-s-live-and-learn-theme-song" data-discover="true"><div title="Sonic and Shadow the Hedgehog in Sonic Adventure 2."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf75afc4ec65a2a59/6763198ecb79e84562233d06/sonic_adventure_2.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf75afc4ec65a2a59/6763198ecb79e84562233d06/sonic_adventure_2.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Sonic and Shadow the Hedgehog in Sonic Adventure 2." title="Sonic and Shadow the Hedgehog in Sonic Adventure 2."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/crush-40-singer-sues-sega-over-sonic-adventure-2-s-live-and-learn-theme-song" data-discover="true">Crush 40 singer sues Sega over Sonic Adventure 2's 'Live and Learn' theme song</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/crush-40-singer-sues-sega-over-sonic-adventure-2-s-live-and-learn-theme-song" data-discover="true">Crush 40 singer sues Sega over Sonic Adventure 2's 'Live and Learn' theme song</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 18, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Banner art for Riot Games titles Valorant, Wild Rift, and League of Legends." href="/business/riot-games-league-of-legends-vo-formosa-interactive" data-discover="true"><div title="Banner art for Riot Games titles Valorant, Wild Rift, and League of Legends."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt806a244cbf9e14ed/674d9875ae0a374c0ea86e71/League_of_Legends_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt806a244cbf9e14ed/674d9875ae0a374c0ea86e71/League_of_Legends_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Banner art for Riot Games titles Valorant, Wild Rift, and League of Legends." title="Banner art for Riot Games titles Valorant, Wild Rift, and League of Legends."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/riot-games-league-of-legends-vo-formosa-interactive" data-discover="true">League of Legends skins won't get custom VO while SAG-AFTRA strikes Formosa Interactive</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/riot-games-league-of-legends-vo-formosa-interactive" data-discover="true">League of Legends skins won't get custom VO while SAG-AFTRA strikes Formosa Interactive</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Dec 16, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/production/postmortem-harmonix-s-dance-central-2010-" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc65a6c2903d51499/673ce42a198dc8431a7c963a/Game_Developer_Magazine_Cover_January_2011.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc65a6c2903d51499/673ce42a198dc8431a7c963a/Game_Developer_Magazine_Cover_January_2011.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_production ListPreview-Keyword" href="/production" data-discover="true">Production</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/production/postmortem-harmonix-s-dance-central-2010-" data-discover="true">Classic Postmortem: Harmonix's Dance Central (2010)</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/production/postmortem-harmonix-s-dance-central-2010-" data-discover="true">Classic Postmortem: Harmonix's Dance Central (2010)</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 21, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink Contributors-AvatarLink_isMultiple" aria-label="Marc Flury" href="/author/marc-flury-2" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7ba9dbc892212f97/65088cd9049c432dfd5b662b/Marc_Flury.png?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7ba9dbc892212f97/65088cd9049c432dfd5b662b/Marc_Flury.png?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Marc Flury" title="Picture of Marc Flury"/></a><a class="Contributors-AvatarLink Contributors-AvatarLink_isMultiple" aria-label="Kasson Crooker" href="/author/kasson-crooker" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Kasson Crooker" title="Picture of Kasson Crooker"/></a><span class="Contributors-ContributorsCount" data-testid="contributors-count"><span> +<!-- -->3</span></span></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName Contributors-ContributorName_showComma" data-testid="contributor-name" href="/author/marc-flury-2" data-discover="true">Marc Flury<!-- -->, </a><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/kasson-crooker" data-discover="true">Kasson Crooker</a><span class="Contributors-MoreText" data-testid="more-text">and <!-- -->3<!-- --> more</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/audio/how-to-record-a-giant-mech-recording-sound-design-with-war-robots" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf525b41c67c3e7f5/673e52c60f3226cb6479b0b2/gdfb_fullsize_test.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf525b41c67c3e7f5/673e52c60f3226cb6479b0b2/gdfb_fullsize_test.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/how-to-record-a-giant-mech-recording-sound-design-with-war-robots" data-discover="true">How to record a giant mech: Recording sound design with War Robots</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/how-to-record-a-giant-mech-recording-sound-design-with-war-robots" data-discover="true">How to record a giant mech: Recording sound design with War Robots</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 20, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Ilya Viktorov" href="/author/ilya-viktorov" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Ilya Viktorov" title="Picture of Ilya Viktorov"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/ilya-viktorov" data-discover="true">Ilya Viktorov</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Key art for 2024&#x27;s Metaphor ReFantazio." href="/business/sag-aftra-s-newest-agreement-secures-protections-for-video-game-dub-actors" data-discover="true"><div title="Key art for 2024&#x27;s Metaphor ReFantazio."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbae550081f6dc06f/67094b79bd349e32cd5c3713/metaphor.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbae550081f6dc06f/67094b79bd349e32cd5c3713/metaphor.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Key art for 2024&#x27;s Metaphor ReFantazio." title="Key art for 2024&#x27;s Metaphor ReFantazio."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/sag-aftra-s-newest-agreement-secures-protections-for-video-game-dub-actors" data-discover="true">SAG-AFTRA's newest agreement secures protections for video game dub actors</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/sag-aftra-s-newest-agreement-secures-protections-for-video-game-dub-actors" data-discover="true">SAG-AFTRA's newest agreement secures protections for video game dub actors</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 15, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/audio/reflections-on-my-score-for-tactical-breach-wizards" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7eada1366ade2416/6734de4921914346f5dc7c6d/Tactical_Breach_Wizards.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7eada1366ade2416/6734de4921914346f5dc7c6d/Tactical_Breach_Wizards.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/reflections-on-my-score-for-tactical-breach-wizards" data-discover="true">Reflections on my score for Tactical Breach Wizards</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/reflections-on-my-score-for-tactical-breach-wizards" data-discover="true">Reflections on my score for Tactical Breach Wizards</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 13, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Robert Arzola" href="/author/-title" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Robert Arzola" title="Picture of Robert Arzola"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/-title" data-discover="true">Robert Arzola</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/design/must-have-tools-and-libraries-for-indie-game-developers-in-2024" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf8a1a742cc4a912/673236419d70b8d5ad06deaa/AdobeStock_615906569.jpeg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf8a1a742cc4a912/673236419d70b8d5ad06deaa/AdobeStock_615906569.jpeg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_design ListPreview-Keyword" href="/design" data-discover="true">Design</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/design/must-have-tools-and-libraries-for-indie-game-developers-in-2024" data-discover="true">Must-have tools and libraries for indie game developers in 2024</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/design/must-have-tools-and-libraries-for-indie-game-developers-in-2024" data-discover="true">Must-have tools and libraries for indie game developers in 2024</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Nov 11, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Maxim Kiselev" href="/author/maxim-kiselev" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Maxim Kiselev" title="Picture of Maxim Kiselev"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/maxim-kiselev" data-discover="true">Maxim Kiselev</a></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Key art for Nintendo Music. It shows portraits of different characters like Mario, Link, Isabella, and more." href="/audio/why-doesn-t-nintendo-music-credit-composers-" data-discover="true"><div title="Key art for Nintendo Music. It shows portraits of different characters like Mario, Link, Isabella, and more."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt38d671590c3b2249/6723c7f22ab52dee6dad78d0/nintendomusicfeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt38d671590c3b2249/6723c7f22ab52dee6dad78d0/nintendomusicfeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Key art for Nintendo Music. It shows portraits of different characters like Mario, Link, Isabella, and more." title="Key art for Nintendo Music. It shows portraits of different characters like Mario, Link, Isabella, and more."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/why-doesn-t-nintendo-music-credit-composers-" data-discover="true">Nintendo doesn't credit composers on new Nintendo Music app</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/why-doesn-t-nintendo-music-credit-composers-" data-discover="true">Nintendo doesn't credit composers on new Nintendo Music app</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 31, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: The SAG-AFTRA and Ethovox logos" href="/production/sag-aftra-signs-agreement-with-ai-powered-voice-company-ethovox" data-discover="true"><div title="The SAG-AFTRA and Ethovox logos"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf88b0b723b6e558/6720c0ae9ba0e9c083834f94/Ethovox_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf88b0b723b6e558/6720c0ae9ba0e9c083834f94/Ethovox_Header.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="The SAG-AFTRA and Ethovox logos" title="The SAG-AFTRA and Ethovox logos"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_production ListPreview-Keyword" href="/production" data-discover="true">Production</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/production/sag-aftra-signs-agreement-with-ai-powered-voice-company-ethovox" data-discover="true">SAG-AFTRA signs agreement with AI-powered voice company Ethovox</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/production/sag-aftra-signs-agreement-with-ai-powered-voice-company-ethovox" data-discover="true">SAG-AFTRA signs agreement with AI-powered voice company Ethovox</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 29, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Chris Kerr" href="/author/chris-kerr" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Chris Kerr" title="Picture of Chris Kerr"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->News Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Graphic for SAG-AFTRA and the video game voice actor strike." href="/business/sag-aftra-returns-to-negotiating-table-with-major-studios-with-over-120-games-already-signed-to-interim-contract" data-discover="true"><div title="Graphic for SAG-AFTRA and the video game voice actor strike."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8b2e78f94ff3dbdb/66db18463549a40e0db64659/sag_aftra_strike_image.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8b2e78f94ff3dbdb/66db18463549a40e0db64659/sag_aftra_strike_image.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Graphic for SAG-AFTRA and the video game voice actor strike." title="Graphic for SAG-AFTRA and the video game voice actor strike."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/sag-aftra-returns-to-negotiating-table-with-major-studios-with-over-120-games-already-signed-to-interim-contract" data-discover="true">SAG-AFTRA returns to negotiating table with major gaming studios</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/sag-aftra-returns-to-negotiating-table-with-major-studios-with-over-120-games-already-signed-to-interim-contract" data-discover="true">SAG-AFTRA returns to negotiating table with major gaming studios</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 23, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/audio/gdc-2024-dial-up-the-diegetics-science-and-technology" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte65858a66d3abf8c/671664f18a06ad7c81e066f0/4_Dial-Up-the-Diegetics_Winifred-Phillips.webp?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte65858a66d3abf8c/671664f18a06ad7c81e066f0/4_Dial-Up-the-Diegetics_Winifred-Phillips.webp?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/gdc-2024-dial-up-the-diegetics-science-and-technology" data-discover="true">GDC 2024 Dial Up the Diegetics: Science and Technology</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/gdc-2024-dial-up-the-diegetics-science-and-technology" data-discover="true">GDC 2024 Dial Up the Diegetics: Science and Technology</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 22, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Winifred Phillips" href="/author/winifred-phillips" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3c0c2159ecd4af5a/65087ece5cb326441b9a2630/Winifred_Phillips.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3c0c2159ecd4af5a/65087ece5cb326441b9a2630/Winifred_Phillips.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Winifred Phillips" title="Picture of Winifred Phillips"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/winifred-phillips" data-discover="true">Winifred Phillips</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Blogger</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Headshot of game composer Nobuo Uematsu." href="/audio/game-composer-nobuo-uematsu-will-retire-after-fantasian-s-console-launch" data-discover="true"><div title="Headshot of game composer Nobuo Uematsu."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc094399b83c653e1/670ec1f37eeb84e1c6247d59/nobuo_uematsu.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc094399b83c653e1/670ec1f37eeb84e1c6247d59/nobuo_uematsu.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Headshot of game composer Nobuo Uematsu." title="Headshot of game composer Nobuo Uematsu."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio ListPreview-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/audio/game-composer-nobuo-uematsu-will-retire-after-fantasian-s-console-launch" data-discover="true">Update: Game composer Nobuo Uematsu will 'cut back' on making game music post-Fantasian release</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/audio/game-composer-nobuo-uematsu-will-retire-after-fantasian-s-console-launch" data-discover="true">Update: Game composer Nobuo Uematsu will 'cut back' on making game music post-Fantasian release</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 15, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Graphic for the current video game voice actor strike." href="/business/sag-aftra-performers-and-game-devs-to-reignite-negotiations-next-week" data-discover="true"><div title="Graphic for the current video game voice actor strike."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8b2e78f94ff3dbdb/66db18463549a40e0db64659/sag_aftra_strike_image.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8b2e78f94ff3dbdb/66db18463549a40e0db64659/sag_aftra_strike_image.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Graphic for the current video game voice actor strike." title="Graphic for the current video game voice actor strike."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/sag-aftra-performers-and-game-devs-to-reignite-negotiations-next-week" data-discover="true">SAG-AFTRA performers and game devs to reignite negotiations next week</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/sag-aftra-performers-and-game-devs-to-reignite-negotiations-next-week" data-discover="true">SAG-AFTRA performers and game devs to reignite negotiations next week</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 15, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: A sign saying &quot;Welcome to Washington the Evergreen State.&quot;" href="/business/what-washington-state-is-doing-to-juice-local-game-development" data-discover="true"><div title="A sign saying &quot;Welcome to Washington the Evergreen State.&quot;"><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8e0e4880f730fb62/67069fbe8c966d1cc3b40ac8/washingtonstatefeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8e0e4880f730fb62/67069fbe8c966d1cc3b40ac8/washingtonstatefeatured.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="A sign saying &quot;Welcome to Washington the Evergreen State.&quot;" title="A sign saying &quot;Welcome to Washington the Evergreen State.&quot;"/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/what-washington-state-is-doing-to-juice-local-game-development" data-discover="true">What Washington State is doing to juice local game development</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/what-washington-state-is-doing-to-juice-local-game-development" data-discover="true">What Washington State is doing to juice local game development</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 9, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Bryant Francis" href="/author/bryant-francis" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Bryant Francis" title="Picture of Bryant Francis"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Senior Editor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: " href="/design/starstruck-hands-of-time-is-a-rhythm-game-that-lets-you-use-your-old-guitar-peripherals" data-discover="true"><div title=""><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc4d1a4dd1b506233/66fe1a923185fd59f9b4d23b/ss_05e8a60f7c9a80409b43be5d0a0d27e94baf9cda.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc4d1a4dd1b506233/66fe1a923185fd59f9b4d23b/ss_05e8a60f7c9a80409b43be5d0a0d27e94baf9cda.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_design ListPreview-Keyword" href="/design" data-discover="true">Design</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/design/starstruck-hands-of-time-is-a-rhythm-game-that-lets-you-use-your-old-guitar-peripherals" data-discover="true">Starstruck: Hands of Time is a rhythm game that lets you use your old guitar peripherals</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/design/starstruck-hands-of-time-is-a-rhythm-game-that-lets-you-use-your-old-guitar-peripherals" data-discover="true">Starstruck: Hands of Time is a rhythm game that lets you use your old guitar peripherals</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Oct 3, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Joel Couture" href="/author/joel-couture" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef4298d364a9bfa1/6508832dca23d12f34840106/Joel_Couture.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef4298d364a9bfa1/6508832dca23d12f34840106/Joel_Couture.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Joel Couture" title="Picture of Joel Couture"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/joel-couture" data-discover="true">Joel Couture</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributor</span></div></div></div></div></div><div class="ContentPreview ListContent-ContentItem ListContent-ContentItem_borderless" data-module="content-preview" data-variant="small"><div class="ListPreview"><div class="ListPreview-Container"><div class="ListPreview-ImageWrapper"><a aria-label="Read more about: Characters from Riot Games&#x27; League of Legends." href="/business/sag-aftra-pulls-league-of-legends-into-video-game-strike-over-vo-studio-s-conduct" data-discover="true"><div title="Characters from Riot Games&#x27; League of Legends."><img data-component="image" class="ListPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte873c404854aa44e/650f054da7f4814cf0c24339/league.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte873c404854aa44e/650f054da7f4814cf0c24339/league.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Characters from Riot Games&#x27; League of Legends." title="Characters from Riot Games&#x27; League of Legends."/></div></a></div><div class="ListPreview-ContentWrapper"><div class="ListPreview-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business ListPreview-Keyword" href="/business" data-discover="true">Business</a></div><div class="ListPreview-TitleWrapper"><a class="ListPreview-Title" data-testid="preview-default-title" href="/business/sag-aftra-pulls-league-of-legends-into-video-game-strike-over-vo-studio-s-conduct" data-discover="true">SAG-AFTRA pulls League of Legends into video game strike over VO studio's conduct</a></div><div class="ListPreview-MobileTitleWrapper"><a class="ListPreview-Title" data-testid="preview-mobile-title" href="/business/sag-aftra-pulls-league-of-legends-into-video-game-strike-over-vo-studio-s-conduct" data-discover="true">SAG-AFTRA pulls League of Legends into video game strike over VO studio's conduct</a></div><div class="ListPreview-Footer"><span class="ListPreview-Date" data-testid="list-preview-date">Sep 24, 2024</span><div data-module="card-time" class="CardTime"><span class="CardTime-SeparatorLine">|</span><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>1 Min<!-- --> <!-- -->Read</span></div></div></div></div></div><div class="ListPreview-ContributorsWrapper"><div class="Contributors Contributors_variant_slimline Contributors_cardVariant_small Contributors_hasAvatar" data-component="contributors"><div class="Contributors-AvatarWrapper"><a class="Contributors-AvatarLink" aria-label="Justin Carter" href="/author/justin-carter" data-discover="true"><img aria-hidden="true" data-testid="contributor-avatar" data-component="image" class="Contributors-Avatar" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg?width=100&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Picture of Justin Carter" title="Picture of Justin Carter"/></a></div><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/justin-carter" data-discover="true">Justin Carter</a><span class="Contributors-ContributorTitle" data-testid="contributor-title">, <!-- -->Contributing Editor</span></div></div></div></div></div><nav role="navigation" aria-label="Pagination Navigation" data-component="pagination" class="ListContent-Pagination"><ul class="Pagination-Wrapper"><li><a tabindex="-1" aria-label="Cannot go to Previous page" class="Pagination-Link Pagination-Link_disabled" href="/audio" data-discover="true"><span class="Pagination-PageWrapper"><span class="Pagination-ArrowIconWrapper Pagination-ArrowIconWrapper_disabled"><span data-component="icon" data-name="ArrowLeft" class="Pagination-ArrowIcon Pagination-ArrowIcon_disabled" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;11.959&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2011.959%2012&#x27;%3e%3cg%20id=&#x27;arrow_icon&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20transform=&#x27;translate(11.959%2012)%20rotate(180)&#x27;%3e%3cpath%20id=&#x27;arrow_icon-2&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20d=&#x27;M13431.958,1289l-6.358,6-1.531-1.512,4.017-3.472H13420v-2.033h7.979l-3.91-3.475,1.63-1.507Z&#x27;%20transform=&#x27;translate(-13419.999%20-1283)&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;11.959&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2011.959%2012&#x27;%3e%3cg%20id=&#x27;arrow_icon&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20transform=&#x27;translate(11.959%2012)%20rotate(180)&#x27;%3e%3cpath%20id=&#x27;arrow_icon-2&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20d=&#x27;M13431.958,1289l-6.358,6-1.531-1.512,4.017-3.472H13420v-2.033h7.979l-3.91-3.475,1.63-1.507Z&#x27;%20transform=&#x27;translate(-13419.999%20-1283)&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span><span data-testid="labelText" class="Pagination-Move">Previous</span></span></a></li><li><a tabindex="-1" aria-label="Current page, page 1" class="Pagination-PageNumber Pagination-PageNumber_current" href="/audio" data-discover="true">1</a></li><li><a tabindex="0" aria-label="Go to page 2" class="Pagination-PageNumber" href="/audio?page=2" data-discover="true">2</a></li><li><a tabindex="0" aria-label="Go to page 3" class="Pagination-PageNumber" href="/audio?page=3" data-discover="true">3</a></li><li><a tabindex="0" aria-label="Go to page 4" class="Pagination-PageNumber" href="/audio?page=4" data-discover="true">4</a></li><li><a tabindex="0" aria-label="Go to page 5" class="Pagination-PageNumber" href="/audio?page=5" data-discover="true">5</a></li><li class="Pagination-Dots">…</li><li><a tabindex="0" aria-label="Go to page 81" class="Pagination-PageNumber Pagination-PageNumber_desktop" href="/audio?page=81" data-discover="true">81</a></li><li><a tabindex="0" aria-label="Go to Next page 2" class="Pagination-Link" href="/audio?page=2" data-discover="true"><span class="Pagination-PageWrapper"><span data-testid="labelText" class="Pagination-Move">Next</span><span class="Pagination-ArrowIconWrapper"><span data-component="icon" data-name="ArrowRight" class="Pagination-ArrowIcon" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;11.959&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2011.959%2012&#x27;%3e%3cg%20id=&#x27;arrow_icon&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20transform=&#x27;translate(0%200)&#x27;%3e%3cpath%20id=&#x27;arrow_icon-2&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20d=&#x27;M13431.958,1289l-6.358,6-1.531-1.512,4.017-3.472H13420v-2.033h7.979l-3.91-3.475,1.63-1.507Z&#x27;%20transform=&#x27;translate(-13419.999%20-1283)&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20fill=&#x27;currentColor&#x27;%20width=&#x27;11.959&#x27;%20height=&#x27;12&#x27;%20viewBox=&#x27;0%200%2011.959%2012&#x27;%3e%3cg%20id=&#x27;arrow_icon&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20transform=&#x27;translate(0%200)&#x27;%3e%3cpath%20id=&#x27;arrow_icon-2&#x27;%20data-name=&#x27;arrow%20icon&#x27;%20d=&#x27;M13431.958,1289l-6.358,6-1.531-1.512,4.017-3.472H13420v-2.033h7.979l-3.91-3.475,1.63-1.507Z&#x27;%20transform=&#x27;translate(-13419.999%20-1283)&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></span></a></li></ul></nav></div></div><div class="TwoColumnLayout-Sidebar"><div class="Sidebar" data-module="sidebar"><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_column"><div class="ContentCards-Header ContentCards-Header_column" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">New Switch 2 Info</h3></div><div class="ContentCards-Content ContentCards-Content_column"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Promotional artwork of the Switch 2</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta8b354162c3d5a92/67f00d2efab4ef3b774e32e2/Switch_2_Header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta8b354162c3d5a92/67f00d2efab4ef3b774e32e2/Switch_2_Header.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_business ContentPreview-Category" href="/business" data-discover="true">Business</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true">Nintendo delays Switch 2 pre-orders in the U.S. over Trump tariffs</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs" data-discover="true">Nintendo delays Switch 2 pre-orders in the U.S. over Trump tariffs</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/chris-kerr" data-discover="true">Chris Kerr</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 4, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>2 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Samus looks down at a player using the Nintendo Switch 2 Joy-Con as a mouse.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 3, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>13 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_horizontal_sidebar"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Get daily news, dev blogs, and stories from Game Developer straight to your inbox</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message">Subscribe to Game Developer Newsletters to stay caught up with the latest news, design insights, marketing tips, and more</div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-banner" href="https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton%20" target="_blank"><span class="Button-ContentWrapper">Stay Updated</span></a></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_column"><div class="ContentCards-Header ContentCards-Header_column" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Trending Stories</h3></div><div class="ContentCards-Content ContentCards-Content_column"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">Samus looks down at a player using the Nintendo Switch 2 Joy-Con as a mouse.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_design ContentPreview-Category" href="/design" data-discover="true">Design</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2" data-discover="true">Design opportunities for devs from our time trying out the Nintendo Switch 2</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 3, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>13 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/console/nintendo-switch-2-shows-nintendo-s-strategy-for-a-social-future" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">A Nintendo Switch 2 with the Nintendo Switch 2 Camera.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt96842368ef633cc8/67edc0a58764f99e4f3612f4/switctch2camera.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt96842368ef633cc8/67edc0a58764f99e4f3612f4/switctch2camera.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_console ContentPreview-Category" href="/game-platforms/console" data-discover="true">Console</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/console/nintendo-switch-2-shows-nintendo-s-strategy-for-a-social-future" data-discover="true">Nintendo Switch 2 shows Nintendo's strategy for an online social future</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/console/nintendo-switch-2-shows-nintendo-s-strategy-for-a-social-future" data-discover="true">Nintendo Switch 2 shows Nintendo's strategy for an online social future</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 3, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>6 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_column" data-testid="content-preview-column"><div class="ContentPreview" data-module="content-preview" data-variant="card-vertical"><div class="ContentPreview-Wrapper ContentPreview-Wrapper_variant_cardVertical"><a data-testid="thumbnail" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true"><div class="ContentPreview-ImageContainer"><span data-testid="content-preview-screen-reader-text" class="ContentPreview-ImageScreenReaderText">SAG-AFTRA members wearing union shirts and carrying signs form a picket line.</span><img data-testid="content-preview-image" data-component="image" class="ContentPreview-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></div></a><a data-component="keyword" class="Keyword Keyword_variant_standard Keyword_title_audio ContentPreview-Category" href="/audio" data-discover="true">Audio</a><div class="VerticalCard"><div class="VerticalCard-Body"><a class="VerticalCard-Title VerticalCard-Title_displayOption_default" data-testid="preview-default-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a><a class="VerticalCard-Title VerticalCard-Title_displayOption_mobile" data-testid="preview-mobile-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a><div class="Contributors Contributors_variant_slimline VerticalCard-ContributorsWrapper" data-component="contributors"><div class="Contributors-InfoWrapper"><span class="Contributors-ByText" data-testid="by-text">by</span><a class="Contributors-ContributorName" data-testid="contributor-name" href="/author/bryant-francis" data-discover="true">Bryant Francis</a></div></div></div><div class="VerticalCard-Footer"><span class="VerticalCard-Date" data-testid="vertical-card-date">Apr 1, 2025</span><div data-module="card-time" class="CardTime"><div data-component="article-read-time" class="ArticleReadTime ArticleReadTime_size_small CardTime-ReadTime"><span>8 Min<!-- --> <!-- -->Read</span></div></div></div></div></div></div></div></div></div></div></div><div class="Sidebar-SidebarItem" data-testid="sidebar-item"><div data-module="content-cards" class="ContentCards ContentCards_sidebar"><div class="ContentCards-CardsWrapper ContentCards-CardsWrapper_default"><div class="ContentCards-Header ContentCards-Header_default" data-testid="content-cards-header"><h3 class="ContentCards-Title" data-testid="contentCardsTitle">Top GDC25 Reads</h3></div><div class="ContentCards-Content ContentCards-Content_default"><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/business/behind-the-headlines-at-valve-s-rocky-start" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">First person screen of Alyx holding her hands up from Half Life Alyx</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9b34daefc4ffcebd/67ec780ad6b1167fce322c11/half_life_alyx.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9b34daefc4ffcebd/67ec780ad6b1167fce322c11/half_life_alyx.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_business HorizontalCard-Keyword" href="/business" data-discover="true">Business</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/business/behind-the-headlines-at-valve-s-rocky-start" data-discover="true">Behind the headlines at Valve's rocky start</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/business/behind-the-headlines-at-valve-s-rocky-start" data-discover="true">Behind the headlines at Valve's rocky start</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/design/dredge-wasn-t-originally-going-to-be-a-narrative-game-but-then-it-became-one-of-2023-s-best" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">A fishing boat at sunset in the creepy world of Dredge</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc89306170d9b4108/67ec6ffc61fddeedc25994ca/dredge_moody_near_sunset.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc89306170d9b4108/67ec6ffc61fddeedc25994ca/dredge_moody_near_sunset.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_design HorizontalCard-Keyword" href="/design" data-discover="true">Design</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/design/dredge-wasn-t-originally-going-to-be-a-narrative-game-but-then-it-became-one-of-2023-s-best" data-discover="true">Dredge wasn't originally going to be a narrative game, but then it became one of 2023's best</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/design/dredge-wasn-t-originally-going-to-be-a-narrative-game-but-then-it-became-one-of-2023-s-best" data-discover="true">Dredge wasn't originally going to be a narrative game, but then it became one of 2023's best</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">SAG-AFTRA members wearing union shirts and carrying signs form a picket line.</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio HorizontalCard-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement" data-discover="true">SAG-AFTRA urges more non-struck game studios to sign interim agreement</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">Senua faces off against an enemy in Senua&#x27;s Saga: Hellblade II.</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef81de861cb736a3/67eab13e4c457d02eae1fed8/hellbladeIIfeatured.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef81de861cb736a3/67eab13e4c457d02eae1fed8/hellbladeIIfeatured.png?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_audio HorizontalCard-Keyword" href="/audio" data-discover="true">Audio</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true">How Ninja Theory created Hellblade II's unsettling soundscape</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape" data-discover="true">How Ninja Theory created Hellblade II's unsettling soundscape</a></div></div></div></div></div><div class="ContentCards-ContentPreview ContentCards-ContentPreview_default" data-testid="content-preview-default"><div class="ContentPreview" data-module="content-preview" data-variant="card-horizontal"><div class="HorizontalCard"><div class="HorizontalCard-ImageWrapper"><a href="/marketing/want-to-know-the-best-way-to-gain-attention-on-steam-add-a-demo-" data-discover="true"><span class="HorizontalCard-ImageScreenReaderText">the Steam logo on a background of game cover images</span><img data-component="image" class="HorizontalCard-Image" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt78ae7994c238df95/67eaf4aee56140820dddec13/store_home_share.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt78ae7994c238df95/67eaf4aee56140820dddec13/store_home_share.jpg?width=300&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="" title=""/></a></div><div class="HorizontalCard-ContentWrapper"><div class="HorizontalCard-KeywordWrapper"><a data-component="keyword" class="Keyword Keyword_variant_alternate Keyword_title_marketing HorizontalCard-Keyword" href="/marketing" data-discover="true">Marketing</a></div><div class="HorizontalCard-TitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-default-title" href="/marketing/want-to-know-the-best-way-to-gain-attention-on-steam-add-a-demo-" data-discover="true">Want to know the best way to gain attention on Steam? Add a demo.</a></div><div class="HorizontalCard-MobileTitleWrapper"><a class="HorizontalCard-Title" data-testid="preview-mobile-title" href="/marketing/want-to-know-the-best-way-to-gain-attention-on-steam-add-a-demo-" data-discover="true">Want to know the best way to gain attention on Steam? Add a demo.</a></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="ListContent-NewsletterSignupPromo"><div data-module="newsletter-signup-promo"><div class="SubscribeBanner SubscribeBanner_mode_dark SubscribeBanner_variant_vertical TopicList-NewsletterContent"><div class="SubscribeBanner-Wrapper"><div class="SubscribeBanner-Title" data-testid="subscribeBanner_title">Daily news, dev blogs, and stories from Game Developer straight to your inbox</div><div class="SubscribeBanner-Message" data-testid="subscribeBanner_message"></div><div class="SubscribeBanner-Button"><a data-component="button" data-testid="bannerNewsletterbutton" class="Button Button_size_medium Button_variant_secondaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-banner" href="https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton%20" target="_blank"><span class="Button-ContentWrapper">Stay Updated</span></a></div></div></div></div></div></div></div></section><footer data-module="footer" class="Footer"><div class="Footer-Background"></div><div data-testid="logo" class="Footer-LogoContainer Footer-LogoContainer_length_2"><a href="/" data-discover="true"><img title="Game Developer Logo" data-component="image" class="Footer-LogoImage Footer-LogoImage_length_2" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Game Developer Logo"/></a></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">More from GD</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://reg.gdconf.com/blog-submission">Blog with Game Developer</a><a class="LinkSection-Link" rel="noreferrer" href="/blogging-guidelines" target="_blank" data-discover="true">Blogging Guidelines</a><a class="LinkSection-Link" rel="noreferrer" href="/podcasts" target="_blank" data-discover="true">Game Developer Podcast</a><a class="LinkSection-Link" target="_self" rel="noreferrer" href="/cdn-cgi/l/email-protection#731d1604003314121e16171605161f1c0316015d101c1e">Submit a Tip</a></div></div><div data-testid="LinkSection" class="LinkSection LinkSection_length_2"><h5 class="LinkSection-Title" data-testid="link-section-title">Connect</h5><div class="LinkSection-LinksWrapper"><a class="LinkSection-Link" rel="noreferrer" href="/about-game-developer" target="_blank" data-discover="true">About Us</a><a class="LinkSection-Link" target="_blank" rel="noreferrer" href="https://reg.gdconf.com/gamedeveloper-media-kit">Advertise With Game Developer</a><a class="LinkSection-Link" rel="noreferrer" href="/contact-game-developer" target="_blank" data-discover="true">Contact Us</a></div></div><div data-testid="registration" class="Footer-RegistrationWrapper"><div class="RegistrationSection RegistrationSection_linkSectionLength_2"><h5 class="RegistrationSection-Title">Join Us</h5><div class="Layout-Register Layout-Register_variant_footer"></div><div class="Layout-NewsLetter Layout-NewsLetter_variant_footer"><div data-module="newsletter-signup-promo"><a data-component="button" data-testid="footerNewsletterButton" class="Button Button_size_medium Button_variant_primaryFilled" rel="nofollow" data-action-type="sign-up" data-name="subscribe-footer" href="https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1&amp;sr=pp&amp;_t=pp:&amp;qf=w_gamf01&amp;ch=gdwebbutton%20" target="_blank"><span class="Button-ContentWrapper">Stay Updated</span></a></div></div></div></div><div data-testid="social" class="SocialSection SocialSection_linkSectionLength_2"><h5 class="SocialSection-Title">Follow Us</h5><div data-component="social-share" class="SocialShare SocialShare_variant_layout"><a rel="noreferrer" aria-label="RSS" href="/rss.xml" target="_blank" data-discover="true"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="RSS" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_rss" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Layer_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20310%20310&#x27;%20style=&#x27;enable-background:new%200%200%20310%20310;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%20id=&#x27;XMLID_788_&#x27;%3e%3cpath%20id=&#x27;XMLID_789_&#x27;%20d=&#x27;M90.244,264.828C90.244,240.11,70.139,220,45.427,220c-24.715,0-44.822,20.11-44.822,44.828%20c0,24.714,20.107,44.82,44.822,44.82C70.139,309.648,90.244,289.542,90.244,264.828z&#x27;/%3e%3cpath%20id=&#x27;XMLID_790_&#x27;%20d=&#x27;M5.648,169.43c35.961,0,69.782,14.066,95.231,39.605c25.45,25.583,39.467,59.648,39.467,95.92%20c0,2.762,2.238,5,5,5h57.486c2.762,0,5-2.238,5-5c0-111.952-90.699-203.031-202.185-203.031c-2.762,0-5,2.238-5,5v57.505%20C0.648,167.191,2.887,169.43,5.648,169.43z&#x27;/%3e%3cpath%20id=&#x27;XMLID_791_&#x27;%20d=&#x27;M5.726,0c-2.762,0-5,2.238-5,5v57.495c0,2.762,2.238,5,5,5c130.24,0,236.199,106.544,236.199,237.505%20c0,2.762,2.238,5,5,5h57.471c2.762,0,5-2.238,5-5C309.396,136.822,173.17,0,5.726,0z&#x27;/%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Twitter" href="https://twitter.com/gamedevdotcom/"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Twitter" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_twitter" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%201226.37%201226.37&#x27;%20viewBox=&#x27;0%200%201226.37%201226.37&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cpath%20d=&#x27;m727.348%20519.284%20446.727-519.284h-105.86l-387.893%20450.887-309.809-450.887h-357.328l468.492%20681.821-468.492%20544.549h105.866l409.625-476.152%20327.181%20476.152h357.328l-485.863-707.086zm-144.998%20168.544-47.468-67.894-377.686-540.24h162.604l304.797%20435.991%2047.468%2067.894%20396.2%20566.721h-162.604l-323.311-462.446z&#x27;/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3cg/%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Linkedin" href="https://www.linkedin.com/company/gamedeveloperofficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Linkedin" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_linkedin" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3crect%20x=&#x27;102.4&#x27;%20y=&#x27;170.65&#x27;%20width=&#x27;34.135&#x27;%20height=&#x27;136.535&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3ccircle%20cx=&#x27;119.45&#x27;%20cy=&#x27;128&#x27;%20r=&#x27;25.6&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M238.935,170.665c-12.498,0-24.069,3.61-34.135,9.467v-8.049h-34.135V307.2H204.8v-68.27%20c0-18.852,15.283-34.13,34.135-34.13c18.852,0,34.13,15.278,34.13,34.13v68.27H307.2v-68.27%20C307.2,201.231,276.634,170.665,238.935,170.665z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="Facebook" href="https://www.facebook.com/GameDeveloperOfficial"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="Facebook" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_facebook" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20version=&#x27;1.1&#x27;%20id=&#x27;Capa_1&#x27;%20fill=&#x27;currentColor&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%20xmlns:xlink=&#x27;http://www.w3.org/1999/xlink&#x27;%20x=&#x27;0px&#x27;%20y=&#x27;0px&#x27;%20viewBox=&#x27;0%200%20409.6%20409.6&#x27;%20style=&#x27;enable-background:new%200%200%20409.6%20409.6;&#x27;%20xml:space=&#x27;preserve&#x27;%3e%3cg%3e%3cg%3e%3cpath%20d=&#x27;M375.465,0H34.135C15.365,0,0,15.365,0,34.135V375.47c0,18.76,15.365,34.13,34.135,34.13h341.33%20c18.77,0,34.135-15.37,34.135-34.13V34.135C409.6,15.365,394.235,0,375.465,0z%20M375.465,375.47h-136.53V238.93h85.33V204.8h-85.33%20v-34.135c0-28.283,22.932-51.2,51.2-51.2h34.13V85.33h-34.13c-47.119,0.005-85.335,38.195-85.335,85.335V204.8h-34.135v34.13%20H204.8v136.54H34.135V34.135h341.33V375.47z&#x27;/%3e%3c/g%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3cg%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a><a target="_blank" rel="noreferrer" aria-label="GoogleNews" href="https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en&amp;oc=3&amp;hl=en-US&amp;gl=US"><span class="SocialShare-IconWrapper SocialShare-IconWrapper_variant_layout"><span data-component="icon" data-name="GoogleNews" class="SocialShare-Icon SocialShare-Icon_variant_layout SocialShare-Icon_type_googleNews" style="mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);-webkit-mask-image:url(&quot;data:image/svg+xml,%3csvg%20id=&#x27;Capa_1&#x27;%20enable-background=&#x27;new%200%200%20512.288%20512.288&#x27;%20height=&#x27;512&#x27;%20viewBox=&#x27;0%200%20512.288%20512.288&#x27;%20width=&#x27;512&#x27;%20xmlns=&#x27;http://www.w3.org/2000/svg&#x27;%3e%3cg%3e%3cpath%20d=&#x27;m512.288%20152.697-67.644-13.455v-123.579h-377v123.579l-67.644%2013.455%2052.644%20264.661v79.268h407v-79.268zm-52.644%20110.885v-61.956h-50.232l-8.037-40.402%2075.636%2015.045zm-362-217.919h317v87.612l-19.603-3.899-10.573-53.153-286.824%2057.052zm-62.368%20130.606%20325.621-64.77%2017.927%2090.127h-326.18v61.956zm394.368%20290.356h-347v-235h347z&#x27;/%3e%3cpath%20d=&#x27;m200.144%20436.625c48.248%200%2087.5-39.252%2087.5-87.5v-15h-87.5v30h55.516c-6.615%2024.454-28.998%2042.5-55.516%2042.5-31.706%200-57.5-25.794-57.5-57.5s25.794-57.5%2057.5-57.5c14.834%200%2028.917%205.632%2039.653%2015.86l20.692-21.722c-16.34-15.566-37.771-24.138-60.345-24.138-48.248%200-87.5%2039.252-87.5%2087.5s39.252%2087.5%2087.5%2087.5z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20274.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20334.125h82v30h-82z&#x27;/%3e%3cpath%20d=&#x27;m317.644%20394.125h82v30h-82z&#x27;/%3e%3c/g%3e%3c/svg%3e&quot;);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;-webkit-mask-size:contain"></span></span></a></div></div><div class="BrandSection"><div class="BrandSection-Background"></div><div data-testid="brands" class="BrandSection-LinksWrapper"><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="GDC Vault" title="Link to GDC Vault" href="https://www.gdcvault.com/"><img title="GDC Vault Logo" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="GDC Vault Logo"/></a><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="Game Developer Job Board" title="Link to Game Developer Job Board" href="https://jobs.gamasutra.com"><img title="Game Developer Job Board" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1bbfb7520e56ef03/65250cc0c5c21b80cfb55335/Game_Developer_Jobs_Logo_white.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1bbfb7520e56ef03/65250cc0c5c21b80cfb55335/Game_Developer_Jobs_Logo_white.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Game Developer Job Board"/></a><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="GDC" title="Link to GDC" href="https://www.gdconf.com"><img title="GDC" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/65250c42e4f4b80857d3c9cb/gdc_logo_(1).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/65250c42e4f4b80857d3c9cb/gdc_logo_(1).png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="GDC"/></a><a class="BrandSection-Link" target="_blank" rel="noreferrer" aria-label="Omdia" title="Link to Omdia" href="https://www.omdia.com"><img title="Omdia" data-component="image" class="BrandSection-LinkImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Omdia"/></a></div></div><div class="CopyrightsSection"><div class="CopyrightsSection-Background"></div><div data-testid="copyrights" class="CopyrightsSection-Wrapper"><a data-testid="businessUnit" class="CopyrightsSection-BusinessLink" target="_blank" href="https://www.informa.com"><img title="Informa" data-component="image" class="CopyrightsSection-BusinessImage" data-src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" src="https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png?width=700&amp;auto=webp&amp;quality=80&amp;disable=upscale" loading="lazy" alt="Informa"/></a><div class="CopyrightsSection-TextWrapper"><p data-testid="copyrightText" class="CopyrightsSection-Text"><span class="CopyrightsSection-TextBlock"></span>Copyright © 2025. This website is owned and operated by Informa TechTarget, part of a global network that informs, influences and connects the world’s technology buyers and sellers. All copyright resides with them. Informa PLC’s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. TechTarget, Inc.’s registered office is 275 Grove St. Newton, MA 02466.</p><div data-testid="copyrightLinks" class="CopyrightsSection-LinksWrapper CopyrightsSection-LinksWrapper_hasLinks"><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informatech.com/">Home<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" href="/cookie-policy" target="_blank" data-discover="true">Cookie Policy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.techtarget.com/privacy-policy/">Privacy<span class="CopyrightsSection-LinkSeparator">|</span></a><a class="CopyrightsSection-Link" rel="noreferrer" target="_blank" href="https://www.informatech.com/terms-and-conditions/">Terms of Use</a></div></div></div></div></footer></div></div></main><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>((storageKey2, restoreKey) => { if (!window.history.state || !window.history.state.key) { let key = Math.random().toString(32).slice(2); window.history.replaceState({ key }, ""); } try { let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); let storedY = positions[restoreKey || window.history.state.key]; if (typeof storedY === "number") { window.scrollTo(0, storedY); } } catch (error) { console.error(error); sessionStorage.removeItem(storageKey2); } })("react-router-scroll-positions", null)</script><script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false},"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script><script type="module" async="">; import * as route0 from "/assets/root-CMgB3kEF.js"; import * as route1 from "/assets/_topic._index-BR3rRUjp.js"; window.__reactRouterManifest = { "entry": { "module": "/assets/entry.client-BD0gr1j2.js", "imports": [ "/assets/chunk-K6AXKMTT-CFxckDQd.js", "/assets/index-KvFBagxD.js" ], "css": [] }, "routes": { "root": { "id": "root", "path": "", "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/root-CMgB3kEF.js", "imports": [ "/assets/chunk-K6AXKMTT-CFxckDQd.js", "/assets/index-KvFBagxD.js", "/assets/with-props-BDipnzPk.js", "/assets/gtm-Cfr17zZ2.js", "/assets/contentPreview-PDrWzgnB.js", "/assets/_-d8tDFFIp.js", "/assets/useArticleProps-BFMiF0cj.js", "/assets/provider-2eXNRXRJ.js", "/assets/newsletterSignupPromo-DQJ3oE2b.js", "/assets/iirisRecommendation-DJSRaa5a.js", "/assets/socialShare-TkawqgR_.js", "/assets/link-CaYNVeAz.js", "/assets/button-D1ddzMB9.js", "/assets/util-Bs87kmMU.js", "/assets/searchBar-fudlkoTs.js", "/assets/useSearchBar-bQYUZDbc.js", "/assets/navigation-CTPR0xcZ.js", "/assets/redirection-CYnJkDek.js", "/assets/meta-L0MNvQHo.js", "/assets/form-B94n5omu.js", "/assets/loadingIndicator-6bCghogW.js" ], "css": [] }, "routes/$topic._index": { "id": "routes/$topic._index", "parentId": "root", "path": ":topic", "index": true, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_topic._index-BR3rRUjp.js", "imports": [ "/assets/with-props-BDipnzPk.js", "/assets/chunk-K6AXKMTT-CFxckDQd.js", "/assets/_-d8tDFFIp.js", "/assets/gtm-Cfr17zZ2.js", "/assets/useArticleProps-BFMiF0cj.js", "/assets/breadcrumb-D8ZKw-iB.js", "/assets/categoryHeader-CMZI1HPe.js", "/assets/listContent-CrQBKGjj.js", "/assets/searchBar-fudlkoTs.js", "/assets/useSearchBar-bQYUZDbc.js", "/assets/newsletterSignupPromo-DQJ3oE2b.js", "/assets/contentPreview-PDrWzgnB.js", "/assets/utils-Bn24zYNJ.js", "/assets/pagination-Bo48d3KT.js", "/assets/button-D1ddzMB9.js", "/assets/filterSection-BHcDQTPs.js", "/assets/topicList-CZ0ZvK34.js", "/assets/gridLayout-_9JGxIar.js", "/assets/featureImageHeader-DvdbC9GJ.js", "/assets/moduleSection-CvWuIxBA.js", "/assets/articleMultiSection-D0FoILLC.js", "/assets/string-BS_NwYxO.js", "/assets/meta-L0MNvQHo.js", "/assets/useWeatherWidget-C-2HFbtW.js", "/assets/link-CaYNVeAz.js", "/assets/index-KvFBagxD.js", "/assets/commodityPrices-Dp7A16P5.js", "/assets/sidebar-D97i_4nD.js", "/assets/constants-BFi_MVLe.js", "/assets/changeLocationBar-CA8Gmgoe.js", "/assets/form-B94n5omu.js", "/assets/loadingIndicator-6bCghogW.js", "/assets/contentCards-DPjU4Jk5.js", "/assets/contentList-DPj2iTbm.js", "/assets/useGetDynamicDataModule-CuTq5TXb.js", "/assets/contentDomain.generated-OA12p8lf.js", "/assets/toNumber-0AM5n0GZ.js", "/assets/iirisRecommendation-DJSRaa5a.js", "/assets/_getPrototype-CRUqbm8O.js", "/assets/util-Bs87kmMU.js", "/assets/input-DugAUMat.js", "/assets/_baseForOwn-gD-m1C1H.js", "/assets/index-DEvd3CtP.js", "/assets/socialShare-TkawqgR_.js", "/assets/weatherHomepage-Dkdiwep8.js", "/assets/resources-LqF-uvn-.js", "/assets/provider-2eXNRXRJ.js", "/assets/contributorSummary-BxK0ext_.js", "/assets/programHeader-DD_SdKUG.js", "/assets/redirection-CYnJkDek.js", "/assets/useStorage-BxG0xmea.js" ], "css": [] }, "routes/_index": { "id": "routes/_index", "parentId": "root", "index": true, "hasAction": false, "hasLoader": true, "hasClientAction": false, "hasClientLoader": false, "hasErrorBoundary": true, "module": "/assets/_index-CY2kWbbF.js", "imports": [ "/assets/with-props-BDipnzPk.js", "/assets/chunk-K6AXKMTT-CFxckDQd.js", "/assets/_-d8tDFFIp.js", "/assets/gtm-Cfr17zZ2.js", "/assets/useArticleProps-BFMiF0cj.js", "/assets/moduleSection-CvWuIxBA.js", "/assets/contentDomain.generated-OA12p8lf.js", "/assets/useStorage-BxG0xmea.js", "/assets/meta-L0MNvQHo.js", "/assets/link-CaYNVeAz.js", "/assets/index-KvFBagxD.js", "/assets/contentCards-DPjU4Jk5.js", "/assets/contentList-DPj2iTbm.js", "/assets/contentPreview-PDrWzgnB.js", "/assets/weatherHomepage-Dkdiwep8.js", "/assets/button-D1ddzMB9.js", "/assets/socialShare-TkawqgR_.js", "/assets/constants-BFi_MVLe.js", "/assets/changeLocationBar-CA8Gmgoe.js", "/assets/form-B94n5omu.js", "/assets/loadingIndicator-6bCghogW.js", "/assets/commodityPrices-Dp7A16P5.js", "/assets/useGetDynamicDataModule-CuTq5TXb.js", "/assets/newsletterSignupPromo-DQJ3oE2b.js", "/assets/toNumber-0AM5n0GZ.js", "/assets/resources-LqF-uvn-.js" ], "css": [] } }, "url": "/assets/manifest-e02f8305.js", "version": "e02f8305" }; window.__reactRouterRouteModules = {"root":route0,"routes/$topic._index":route1}; import("/assets/entry.client-BD0gr1j2.js");</script><!--$?--><template id="B:0"></template><!--/$--><div hidden id="S:0"><script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_1490\":-5,\"_1491\":-5},\"loaderData\",{\"_3\":4,\"_760\":761},\"root\",{\"_5\":6,\"_7\":8,\"_9\":10,\"_11\":12,\"_13\":14,\"_15\":16,\"_141\":142,\"_147\":-7,\"_148\":140,\"_149\":150,\"_160\":161,\"_166\":-7,\"_167\":168,\"_179\":180,\"_181\":182,\"_200\":201,\"_642\":643,\"_644\":-7,\"_645\":646,\"_659\":660,\"_680\":681},\"href\",\"http://www.gamedeveloper.com/audio\",\"brand\",\"gamedeveloper\",\"domainUrl\",\"https://www.gamedeveloper.com\",\"authenticationStatus\",\"anonymous\",\"siteName\",\"Game Developer\",\"ads\",{\"_17\":18,\"_19\":20,\"_21\":22,\"_139\":140},\"networkId\",3834,\"parentAdUnit\",\"gamasutra.home\",\"enabledAds\",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138],\"728_1v\",\"728_2v\",\"728_3v\",\"728_4v\",\"728_5v\",\"728_6v\",\"728_7v\",\"728_8v\",\"728_9v\",\"728_10v\",\"728_11v\",\"slide_728_1v\",\"300_1v\",\"300_2v\",\"300_3v\",\"300_4v\",\"300_5v\",\"300_6v\",\"300_7v\",\"300_8v\",\"300_9v\",\"300_10v\",\"300_1v_microlist\",\"slide_300_1v\",\"300_1v_article\",\"300_2v_article\",\"300_3v_article\",\"100_1v\",\"100_2v\",\"100_3v\",\"100_4v\",\"100_5v\",\"100_6v\",\"100_7v\",\"100_8v\",\"native_featured_1v\",\"native_latestleft_1v\",\"native_latestleft_2v\",\"native_latestleft_3v\",\"native_latestleft_4v\",\"native_latestleft_5v\",\"native_latestleft_6v\",\"native_latestleft_7v\",\"native_latestleft_8v\",\"native_latestleft_9v\",\"native_latestleft_10v\",\"native_latestright_1v\",\"native_latestright_2v\",\"native_latestright_3v\",\"native_latestright_4v\",\"native_latestright_5v\",\"native_latestright_6v\",\"native_latestright_7v\",\"native_latestright_8v\",\"native_latestright_9v\",\"native_latestright_10v\",\"native_related_1v\",\"native_related_2v\",\"native_related_3v\",\"native_related_4v\",\"native_related_5v\",\"native_related_6v\",\"native_related_7v\",\"native_related_8v\",\"native_related_9v\",\"native_related_10v\",\"native_1v\",\"native_2v\",\"native_right_1v\",\"native_right_2v\",\"native_right_3v\",\"native_right_4v\",\"native_right_5v\",\"native_right_6v\",\"native_right_7v\",\"native_right_8v\",\"native_right_9v\",\"native_right_10v\",\"native_vertical_1v\",\"native_vertical_2v\",\"native_vertical_3v\",\"native_vertical_4v\",\"native_vertical_5v\",\"native_vertical_6v\",\"native_vertical_7v\",\"native_vertical_8v\",\"native_vertical_9v\",\"native_vertical_10v\",\"native_grid_1v\",\"native_grid_2v\",\"native_grid_3v\",\"native_grid_4v\",\"native_topic_1v\",\"native_topic_2v\",\"native_topic_3v\",\"native_topicright_1v\",\"native_topicright_2v\",\"native_topicright_3v\",\"resource_v\",\"bigsky_v\",\"floor_v\",\"adhesion_v\",\"wallpaper_v\",\"video_v\",\"oop_v\",\"sponsoredlogo_weather_1v\",\"sponsoredlogo_commodities_1v\",\"logo_1v\",\"reveal_1v\",\"slide_interstitial_1v\",\"slide_interstitial_2v\",\"slide_interstitial_3v\",\"slide_interstitial_4v\",\"slide_interstitial_5v\",\"chatbox_1v\",\"welcome_v\",\"checkClientIP\",false,\"authConfig\",{\"_143\":140,\"_144\":-7,\"_145\":-7,\"_146\":140},\"enabled\",\"authenticationConfigId\",\"standaloneRegistrationPage\",\"disableCaptcha\",\"vwo\",\"isDctsTurnOn\",\"cookieBanner\",{\"_151\":152,\"_157\":140,\"_158\":159},\"props\",{\"_153\":154,\"_155\":156},\"src\",\"\",\"siteId\",\"8aaa0413-1bf0-4c5f-b2b7-20f59225831b\",\"transcend\",\"oneTrust\",true,\"gtmIds\",{\"_162\":163,\"_164\":165},\"primary\",\"GTM-5523ZCM\",\"secondary\",\"GTM-KSPX23J\",\"pageContent\",\"ui\",{\"_7\":8,\"_169\":170,\"_171\":172},\"theme\",\"theme2\",\"font\",{\"_162\":173,\"_164\":178},{\"_174\":175,\"_176\":177},\"name\",\"Poppins\",\"url\",\"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900\u0026display=swap\",{\"_174\":175,\"_176\":177},\"environment\",\"prod\",\"featureToggles\",{\"_183\":140,\"_184\":140,\"_185\":159,\"_186\":140,\"_187\":140,\"_188\":140,\"_189\":140,\"_190\":159,\"_191\":140,\"_192\":140,\"_193\":194,\"_195\":140,\"_196\":159,\"_197\":140,\"_198\":159,\"_199\":159},\"elnNewsletter\",\"elnWithoutNewsletter\",\"iirisAuthentication\",\"subBrand\",\"useSettingsRedirectAPIVersion1\",\"gatingEnabled\",\"iirisRecommendationDisabled\",\"iasPetEnabled\",\"bridgedMediaEnabled\",\"ecommerceEnabled\",\"iirisRecommendationVer\",\"version4\",\"weather3MonthForecastEnabled\",\"oneTrustEnabled\",\"transcendEnabled\",\"useTechInformaBar\",\"cloudflareCachingEnabled\",\"layout\",{\"_202\":203,\"_220\":221,\"_244\":245,\"_463\":464,\"_548\":549,\"_555\":556,\"_641\":159},\"socialLinks\",[204,208,211,214,217],{\"_205\":206,\"_176\":207},\"type\",\"RSS\",\"/rss.xml\",{\"_205\":209,\"_176\":210},\"Twitter\",\"https://twitter.com/gamedevdotcom/\",{\"_205\":212,\"_176\":213},\"Linkedin\",\"https://www.linkedin.com/company/gamedeveloperofficial\",{\"_205\":215,\"_176\":216},\"Facebook\",\"https://www.facebook.com/GameDeveloperOfficial\",{\"_205\":218,\"_176\":219},\"GoogleNews\",\"https://news.google.com/publications/CAAqBwgKML7GrQswy9HFAw?ceid=US:en\u0026oc=3\u0026hl=en-US\u0026gl=US\",\"informaBar\",{\"_143\":159,\"_222\":223,\"_241\":242},\"leftSection\",{\"_224\":225,\"_226\":227},\"description\",\"Together, we power an unparalleled network of 220+ online properties covering 10,000+ granular topics, serving an audience of 50+ million professionals with original, objective content from trusted sources. We help you gain critical insights and make more informed decisions across your business priorities.\",\"subMenu\",[228,232,235,238],{\"_229\":230,\"_176\":231},\"title\",\"Informa PLC\",\"https://www.informa.com/\",{\"_229\":233,\"_176\":234},\"ABOUT US\",\"https://www.informa.com/about-us/\",{\"_229\":236,\"_176\":237},\"INVESTOR RELATIONS\",\"https://www.informa.com/investors/\",{\"_229\":239,\"_176\":240},\"TALENT\",\"https://www.informa.com/talent/\",\"rightSection\",{\"_224\":243},\"This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.\",\"nav\",{\"_246\":247,\"_449\":450},\"mainMenuItems\",[248,321,326,332,338,343,348,392],{\"_229\":249,\"_176\":250,\"_251\":154,\"_252\":250,\"_253\":159,\"_226\":254,\"_266\":267},\"Nintendo Switch 2\",\"/keyword/nintendo-switch-2\",\"seeAllLink\",\"seeAllLinkUrl\",\"hasSubMenu\",[255,258,261,263],{\"_229\":256,\"_176\":257},\"Switch 2 - Price \u0026 Tech Info\",\"/console/-redesigned-from-the-ground-up-the-nintendo-switch-2-will-launch-on-june-5\",{\"_229\":259,\"_176\":260},\"Switch 2 - Hands-On Impressions\",\"/console/nintendo-switch-2-shows-nintendo-s-strategy-for-a-social-future\",{\"_229\":262,\"_176\":250},\"Switch 2 - More Articles\",{\"_229\":264,\"_176\":265},\"More Trending Stories\",\"/keyword/top-stories\",\"recentContents\",[268,305],{\"_269\":270,\"_274\":275,\"_276\":275,\"_277\":278,\"_279\":280,\"_281\":154,\"_282\":283,\"_284\":154,\"_285\":286,\"_287\":288,\"_289\":290,\"_291\":292,\"_299\":300,\"_301\":302,\"_303\":304},\"thumbnail\",{\"_153\":271,\"_272\":273},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta8b354162c3d5a92/67f00d2efab4ef3b774e32e2/Switch_2_Header.png\",\"alt\",\"Promotional artwork of the Switch 2\",\"articleName\",\"Nintendo delays Switch 2 pre-orders in the U.S. over Trump tariffs\",\"mobileHeadline\",\"articleSummary\",\"The Japanese company has explained it must 'assess the potential impact of tariffs and evolving market conditions.'\",\"articleUrl\",\"/business/nintendo-scraps-switch-2-pre-orders-in-the-u-s-over-trump-tariffs\",\"listPageUrl\",\"date\",\"Apr 4, 2025\",\"webinarStartTime\",\"categoryName\",\"Business\",\"categoryUrl\",\"/business\",\"contentType\",\"Article\",\"contributors\",[293],{\"_174\":294,\"_295\":296,\"_297\":298},\"Chris Kerr\",\"link\",\"/author/chris-kerr\",\"avatar\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1c7a117d71555292/650efbcad3423169a8871059/chris_kerr_headshot.jpg\",\"timeRead\",2,\"variant\",\"card-vertical\",\"layoutVariant\",\"vertical\",{\"_269\":306,\"_274\":309,\"_276\":309,\"_277\":310,\"_279\":311,\"_281\":154,\"_282\":312,\"_284\":154,\"_285\":313,\"_287\":314,\"_289\":290,\"_291\":315,\"_299\":320,\"_301\":302,\"_303\":304},{\"_153\":307,\"_272\":308},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt37b8c730feb4733d/67eea82b3d46cdfb230d1306/samusmouse.png\",\"Samus looks down at a player using the Nintendo Switch 2 Joy-Con as a mouse.\",\"Design opportunities for devs from our time trying out the Nintendo Switch 2\",\"Nintendo Switch 2's mouse controls feel incredible. Dragging two of them back and forth at once across a table does not.\",\"/design/design-opportunities-for-devs-from-our-time-trying-out-the-nintendo-switch-2\",\"Apr 3, 2025\",\"Design\",\"/design\",[316],{\"_174\":317,\"_295\":318,\"_297\":319},\"Bryant Francis\",\"/author/bryant-francis\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt862ca995183d2fdf/650efe5138b21120135ae4ac/bryantcropped.jpg\",13,{\"_229\":322,\"_176\":323,\"_251\":154,\"_252\":323,\"_253\":140,\"_226\":324,\"_266\":325},\"News\",\"/latest-news\",[],[],{\"_229\":327,\"_176\":328,\"_251\":329,\"_252\":328,\"_253\":140,\"_226\":330,\"_266\":331},\"Deep Dives\",\"/latest-case-studies\",\"Read More\",[],[],{\"_229\":333,\"_176\":334,\"_251\":335,\"_252\":334,\"_253\":140,\"_226\":336,\"_266\":337},\"Mobile\",\"/game-platforms/mobile\",\"Mobile Game Development\",[],[],{\"_229\":339,\"_176\":314,\"_251\":340,\"_252\":314,\"_253\":140,\"_226\":341,\"_266\":342},\"Game Design\",\"See All\",[],[],{\"_229\":344,\"_176\":345,\"_251\":329,\"_252\":345,\"_253\":140,\"_226\":346,\"_266\":347},\"Programming\",\"/programming\",[],[],{\"_229\":349,\"_176\":350,\"_251\":351,\"_252\":350,\"_253\":159,\"_226\":352,\"_266\":365},\"Developer Blogs\",\"/keyword/featured-blogs\",\"Read Featured Blogs\",[353,356,359,362],{\"_229\":354,\"_176\":355},\"Browse Latest Blogs\",\"/program/blogs\",{\"_229\":357,\"_176\":358},\"Submit Your Blog Post\",\"https://reg.gdconf.com/blog-submission\",{\"_229\":360,\"_176\":361},\"Frequently Asked Questions\",\"/blogging-frequently-asked-questions\",{\"_229\":363,\"_176\":364},\"Blogging Rules and Guidelines\",\"/blogging-guidelines\",[366,379],{\"_269\":367,\"_274\":370,\"_276\":370,\"_277\":371,\"_279\":372,\"_281\":154,\"_282\":373,\"_284\":154,\"_285\":374,\"_287\":375,\"_289\":290,\"_291\":376,\"_299\":378,\"_301\":302,\"_303\":304},{\"_153\":368,\"_272\":369},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta6d198af8a72d72f/66bb73fe91a77dfd342db170/tacticalbreachwizardsfeatured.jpg\",\"Zan and Jen, two characters from Tactical Breach Wizards, strike a pose.\",\"The director of Tactical Breach Wizards is right: animate words, not letters!\",\"Animated words and sound design can engage players in a different way than voice acting.\",\"/art/the-creator-of-tactical-breach-wizards-is-right-animate-words-not-letters-\",\"Mar 25, 2025\",\"Art\",\"/art\",[377],{\"_174\":317,\"_295\":318,\"_297\":319},4,{\"_269\":380,\"_274\":383,\"_276\":383,\"_277\":384,\"_279\":385,\"_281\":154,\"_282\":386,\"_284\":154,\"_285\":313,\"_287\":314,\"_289\":290,\"_291\":387,\"_299\":391,\"_301\":302,\"_303\":304},{\"_153\":381,\"_272\":382},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6df81c9c42a7f530/67d02e051b33471d342904e4/OML2.png\",\"Game director playing Ghostrunner 2 at desk\",\"Feedback and experimentation: the foundations of Ghostrunner 2\",\"Ghostrunner 2 was a challenge, and not just for players. One More Level shares their journey of crafting a sequel to a successful game.\",\"/design/ghostrunner-2-deep-dive\",\"Mar 10, 2025\",[388],{\"_174\":389,\"_295\":390,\"_297\":154},\"Radosław Ratusznik\",\"/author/rados-aw-ratusznik\",9,{\"_229\":393,\"_176\":394,\"_251\":395,\"_252\":394,\"_253\":159,\"_226\":396,\"_266\":440},\"More\",\"/latest-commentary\",\"Read More: Business\",[397,400,403,405,408,411,414,415,418,419,420,423,424,427,430,433,436,437],{\"_229\":398,\"_176\":399},\"Interviews\",\"/latest-interviews\",{\"_229\":401,\"_176\":402},\"Q\u0026As\",\"/keyword/q-a-s\",{\"_229\":327,\"_176\":404},\"/keyword/deep-dives\",{\"_229\":406,\"_176\":407},\"Postmortems\",\"/keyword/postmortems\",{\"_229\":409,\"_176\":410},\"Culture\",\"/keyword/culture\",{\"_229\":412,\"_176\":413},\"Unionization\",\"/keyword/unionization\",{\"_229\":286,\"_176\":288},{\"_229\":416,\"_176\":417},\"Marketing\",\"/marketing\",{\"_229\":313,\"_176\":314},{\"_229\":344,\"_176\":345},{\"_229\":421,\"_176\":422},\"Production\",\"/production\",{\"_229\":374,\"_176\":375},{\"_229\":425,\"_176\":426},\"Audio\",\"/audio\",{\"_229\":428,\"_176\":429},\"PC\",\"/game-platforms/pc\",{\"_229\":431,\"_176\":432},\"Steam Deck\",\"/keyword/steam-deck\",{\"_229\":434,\"_176\":435},\"Console\",\"/game-platforms/console\",{\"_229\":333,\"_176\":334},{\"_229\":438,\"_176\":439},\"Extended Reality\",\"/game-platforms/extended-reality\",[441,445],{\"_269\":442,\"_274\":370,\"_276\":370,\"_277\":371,\"_279\":372,\"_281\":154,\"_282\":373,\"_284\":154,\"_285\":374,\"_287\":375,\"_289\":290,\"_291\":443,\"_299\":378,\"_301\":302,\"_303\":304},{\"_153\":368,\"_272\":369},[444],{\"_174\":317,\"_295\":318,\"_297\":319},{\"_269\":446,\"_274\":383,\"_276\":383,\"_277\":384,\"_279\":385,\"_281\":154,\"_282\":386,\"_284\":154,\"_285\":313,\"_287\":314,\"_289\":290,\"_291\":447,\"_299\":391,\"_301\":302,\"_303\":304},{\"_153\":381,\"_272\":382},[448],{\"_174\":389,\"_295\":390,\"_297\":154},\"secondaryMenu\",[451,454,457,460],{\"_229\":452,\"_176\":453},\"Game Market Research\",\"https://omdia.tech.informa.com/advance-your-business/media-and-entertainment/games-spotlight-service\",{\"_229\":455,\"_176\":456},\"GDC Vault\",\"https://www.gdcvault.com/\",{\"_229\":458,\"_176\":459},\"GDC\",\"https://gdconf.com/\",{\"_229\":461,\"_176\":462},\"Advertise With Game Developer\",\"https://reg.gdconf.com/gamedeveloper-media-kit\",\"megaMenu\",{\"_465\":466,\"_509\":510,\"_540\":541},\"largeMenu\",[467,473,475,477,479,481,483,489],{\"_229\":249,\"_176\":250,\"_226\":468,\"_251\":154,\"_252\":250},[469,470,471,472],{\"_229\":256,\"_176\":257},{\"_229\":259,\"_176\":260},{\"_229\":262,\"_176\":250},{\"_229\":264,\"_176\":265},{\"_229\":322,\"_176\":323,\"_226\":474,\"_251\":154,\"_252\":323},[],{\"_229\":327,\"_176\":328,\"_226\":476,\"_251\":329,\"_252\":328},[],{\"_229\":333,\"_176\":334,\"_226\":478,\"_251\":335,\"_252\":334},[],{\"_229\":339,\"_176\":314,\"_226\":480,\"_251\":340,\"_252\":314},[],{\"_229\":344,\"_176\":345,\"_226\":482,\"_251\":329,\"_252\":345},[],{\"_229\":349,\"_176\":350,\"_226\":484,\"_251\":351,\"_252\":350},[485,486,487,488],{\"_229\":354,\"_176\":355},{\"_229\":357,\"_176\":358},{\"_229\":360,\"_176\":361},{\"_229\":363,\"_176\":364},{\"_229\":393,\"_176\":394,\"_226\":490,\"_251\":395,\"_252\":394},[491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508],{\"_229\":398,\"_176\":399},{\"_229\":401,\"_176\":402},{\"_229\":327,\"_176\":404},{\"_229\":406,\"_176\":407},{\"_229\":409,\"_176\":410},{\"_229\":412,\"_176\":413},{\"_229\":286,\"_176\":288},{\"_229\":416,\"_176\":417},{\"_229\":313,\"_176\":314},{\"_229\":344,\"_176\":345},{\"_229\":421,\"_176\":422},{\"_229\":374,\"_176\":375},{\"_229\":425,\"_176\":426},{\"_229\":428,\"_176\":429},{\"_229\":431,\"_176\":432},{\"_229\":434,\"_176\":435},{\"_229\":333,\"_176\":334},{\"_229\":438,\"_176\":439},\"smallMenu\",[511,531,535],{\"_229\":393,\"_176\":154,\"_226\":512},[513,516,519,522,525,528],{\"_229\":514,\"_176\":515},\"Sponsored Articles\",\"/keyword/sponsor-resource-center\",{\"_229\":517,\"_176\":518},\"Podcasts\",\"/podcasts\",{\"_229\":520,\"_176\":521},\"Webinars \u0026 Virtual Events\",\"/webinars\",{\"_229\":523,\"_176\":524},\"Press Releases\",\"/press-release\",{\"_229\":526,\"_176\":527},\"Resource Library\",\"/resources\",{\"_229\":529,\"_176\":530},\"GCG Status Update\",\"/gcg-status-update\",{\"_229\":532,\"_176\":154,\"_226\":533},\"Events\",[534],{\"_229\":458,\"_176\":459},{\"_229\":536,\"_176\":154,\"_226\":537},\"Advertise\",[538],{\"_229\":539,\"_176\":462},\"Advertise With Us\",\"sideNavSections\",[542],{\"_229\":543,\"_176\":154,\"_226\":544,\"_251\":154,\"_252\":154},\"Communicate\",[545],{\"_229\":546,\"_176\":547},\"Contact Us\",\"/contact-game-developer\",\"navBase\",{\"_550\":551},\"logo\",{\"_176\":552,\"_553\":554},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8d5417b628e6b04b/656f5ed8485fda040aba11a1/Game_Developer_Logo_RGB_1.png\",\"altText\",\"Game Developer Logo\",\"footer\",{\"_550\":557,\"_558\":559,\"_595\":596,\"_615\":616},{\"_176\":552,\"_553\":554},\"linkSections\",[560,583],{\"_561\":562,\"_229\":581,\"_205\":582},\"links\",[563,570,574,577],{\"_564\":565,\"_568\":159,\"_229\":569,\"_176\":358},\"image\",{\"_553\":566,\"_176\":567},\"Placeholder image\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd1cdb5ad637f7f4e/651d415bd9bb870df1310c25/placeholder.png\",\"openInNewTab\",\"Blog with Game Developer\",{\"_564\":571,\"_568\":159,\"_229\":573,\"_176\":364},{\"_553\":572,\"_176\":567},\"placeholder image\",\"Blogging Guidelines\",{\"_564\":575,\"_568\":159,\"_229\":576,\"_176\":518},{\"_553\":572,\"_176\":567},\"Game Developer Podcast\",{\"_564\":578,\"_568\":159,\"_229\":579,\"_176\":580},{\"_553\":572,\"_176\":567},\"Submit a Tip\",\"mailto:news@gamedeveloper.com\",\"More from GD\",\"1\",{\"_561\":584,\"_229\":594,\"_205\":582},[585,590,592],{\"_564\":586,\"_568\":159,\"_229\":588,\"_176\":589},{\"_553\":587,\"_176\":567},\"placeholder\",\"About Us\",\"/about-game-developer\",{\"_564\":591,\"_568\":159,\"_229\":461,\"_176\":462},{\"_553\":587,\"_176\":567},{\"_564\":593,\"_568\":159,\"_229\":546,\"_176\":547},{\"_553\":587,\"_176\":567},\"Connect\",\"brandLinks\",[597,601,606,610],{\"_564\":598,\"_568\":159,\"_229\":455,\"_176\":456},{\"_553\":599,\"_176\":600},\"GDC Vault Logo\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1363a10229efc062/656db9e79761ff040a595688/MicrosoftTeams-image_(3).png\",{\"_564\":602,\"_568\":159,\"_229\":603,\"_176\":605},{\"_553\":603,\"_176\":604},\"Game Developer Job Board\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt1bbfb7520e56ef03/65250cc0c5c21b80cfb55335/Game_Developer_Jobs_Logo_white.png\",\"https://jobs.gamasutra.com\",{\"_564\":607,\"_568\":159,\"_229\":458,\"_176\":609},{\"_553\":458,\"_176\":608},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt431090e6027a0c17/65250c42e4f4b80857d3c9cb/gdc_logo_(1).png\",\"https://www.gdconf.com\",{\"_564\":611,\"_568\":159,\"_229\":612,\"_176\":614},{\"_553\":612,\"_176\":613},\"Omdia\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt789019463bae70bf/6523eb443c9b45aa9da4f4b2/logo_omdia_white.png\",\"https://www.omdia.com\",\"copyright\",{\"_617\":618,\"_561\":623,\"_229\":640},\"businessUnit\",{\"_176\":619,\"_174\":620,\"_621\":622},\"https://www.informa.com\",\"Informa\",\"logoUrl\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt6a17e2ccd9083672/674edfd84301993a15a0e9e1/Informa_Logo_OneLine_Graduated_White_RGB.png\",[624,628,632,636],{\"_564\":625,\"_568\":159,\"_229\":626,\"_176\":627},{\"_553\":626,\"_176\":627},\"Home\",\"https://www.informatech.com/\",{\"_564\":629,\"_568\":159,\"_229\":630,\"_176\":631},{\"_553\":630,\"_176\":631},\"Cookie Policy\",\"/cookie-policy\",{\"_564\":633,\"_568\":159,\"_229\":634,\"_176\":635},{\"_553\":634,\"_176\":635},\"Privacy\",\"https://www.techtarget.com/privacy-policy/\",{\"_564\":637,\"_568\":159,\"_229\":638,\"_176\":639},{\"_553\":638,\"_176\":639},\"Terms of Use\",\"https://www.informatech.com/terms-and-conditions/\",\". This website is owned and operated by Informa TechTarget, part of a global network that informs, influences and connects the world’s technology buyers and sellers. All copyright resides with them. Informa PLC’s registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. TechTarget, Inc.’s registered office is 275 Grove St. Newton, MA 02466.\",\"isSponsorBarEnabled\",\"newRelicJs\",\"window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:[\\\"bam.eu01.nr-data.net\\\"]}};\\n\\n;NREUM.loader_config={accountID:\\\"3936348\\\",trustKey:\\\"3288925\\\",agentID:\\\"538600205\\\",licenseKey:\\\"NRJS-26ae6a3b09493bbcc87\\\",applicationID:\\\"538600205\\\"};\\n;NREUM.info={beacon:\\\"bam.eu01.nr-data.net\\\",errorBeacon:\\\"bam.eu01.nr-data.net\\\",licenseKey:\\\"NRJS-26ae6a3b09493bbcc87\\\",applicationID:\\\"538600205\\\",sa:1};\\n;/*! For license information please see nr-loader-spa-1.286.0.min.js.LICENSE.txt */\\n(()=\u003e{var e,t,r={8122:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{a:()=\u003ei});var n=r(944);function i(e,t){try{if(!e||\\\"object\\\"!=typeof e)return(0,n.R)(3);if(!t||\\\"object\\\"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])\u0026\u0026Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):\\\"object\\\"==typeof e[a]\u0026\u0026\\\"object\\\"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Vp:()=\u003ec,fn:()=\u003es,x1:()=\u003eu});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey\u0026\u0026!!t.errorBeacon\u0026\u0026!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(\\\"All info objects require an agent identifier!\\\");if(!a[e])throw new Error(\\\"Info for \\\".concat(e,\\\" was never set\\\"));return a[e]}function u(e,t){if(!e)throw new Error(\\\"All info objects require an agent identifier!\\\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.info=a[e])}},9417:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D0:()=\u003eh,gD:()=\u003eg,xN:()=\u003ep});var n=r(3333);const i=e=\u003e{if(!e||\\\"string\\\"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u=\\\"[data-nr-mask]\\\",d=()=\u003e{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:\\\"*\\\",block_selector:\\\"[data-nr-block]\\\",mask_input_options:{color:!1,date:!1,\\\"datetime-local\\\":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector=\\\"\\\".concat(t,\\\",\\\").concat(u):\\\"\\\"===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return\\\"nr-block\\\"},get ignore_class(){return\\\"nr-ignore\\\"},get mask_text_class(){return\\\"nr-mask\\\"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=\\\",\\\".concat(t):\\\"\\\"!==t\u0026\u0026(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t\u0026\u0026\\\"object\\\"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:[\\\"id\\\",\\\"className\\\",\\\"tagName\\\",\\\"type\\\"]}}},l={},f=\\\"All configuration objects require an agent identifier!\\\";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error(\\\"Configuration for \\\".concat(e,\\\" was never set\\\"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r\u0026\u0026(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split(\\\".\\\"),i=0;i\u003cn.length-1;i++)if(\\\"object\\\"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{a:()=\u003ec,o:()=\u003es});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error(\\\"All loader-config objects require an agent identifier!\\\");if(!a[e])throw new Error(\\\"LoaderConfig for \\\".concat(e,\\\" was never set\\\"));return a[e]}function c(e,t){if(!e)throw new Error(\\\"All loader-config objects require an agent identifier!\\\");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r\u0026\u0026(r.loader_config=a[e])}},3371:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{V:()=\u003ef,f:()=\u003el});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error(\\\"All runtime objects require an agent identifier!\\\");if(!d[e])throw new Error(\\\"Runtime for \\\".concat(e,\\\" was never set\\\"));return d[e]}function f(e,t){if(!e)throw new Error(\\\"All runtime objects require an agent identifier!\\\");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],\\\"harvestCount\\\")||Object.defineProperty(d[e],\\\"harvestCount\\\",{get:()=\u003e++s});const r=(0,i.nY)(e);r\u0026\u0026(r.runtime=d[e])}},9324:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{F3:()=\u003ei,Xs:()=\u003eo,Yq:()=\u003ea,xv:()=\u003en});const n=\\\"1.286.0\\\",i=\\\"PROD\\\",o=\\\"CDN\\\",a=\\\"^2.0.0-alpha.18\\\"},6154:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A4:()=\u003es,OF:()=\u003ed,RI:()=\u003ei,WN:()=\u003eh,bv:()=\u003eo,gm:()=\u003ea,lR:()=\u003ef,m:()=\u003eu,mw:()=\u003ec,sb:()=\u003el});var n=r(1863);const i=\\\"undefined\\\"!=typeof window\u0026\u0026!!window.document,o=\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self.navigator instanceof WorkerNavigator||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis.navigator instanceof WorkerNavigator),a=i?window:\\\"undefined\\\"!=typeof WorkerGlobalScope\u0026\u0026(\\\"undefined\\\"!=typeof self\u0026\u0026self instanceof WorkerGlobalScope\u0026\u0026self||\\\"undefined\\\"!=typeof globalThis\u0026\u0026globalThis instanceof WorkerGlobalScope\u0026\u0026globalThis),s=\\\"complete\\\"===a?.document?.readyState,c=Boolean(\\\"hidden\\\"===a?.document?.visibilityState),u=\\\"\\\"+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d\u0026\u0026\\\"undefined\\\"==typeof SharedWorker,f=(()=\u003e{const e=a.navigator?.userAgent?.match(/Firefox[/\\\\s](\\\\d+\\\\.\\\\d+)/);return Array.isArray(e)\u0026\u0026e.length\u003e=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Xv:()=\u003ea,gX:()=\u003ei,iW:()=\u003eo});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t\u003cn.length;t++){var r=n[t];if(\\\"*\\\"===r.hostname)return!1;if(s(r.hostname,e.hostname)\u0026\u0026c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e\u0026\u0026e.length)for(var t=0;t\u003ce.length;t++){let r=e[t];if(!r)continue;0===r.indexOf(\\\"http://\\\")?r=r.substring(7):0===r.indexOf(\\\"https://\\\")\u0026\u0026(r=r.substring(8));const i=r.indexOf(\\\"/\\\");let o,a;i\u003e0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a=\\\"\\\");let[s]=o.split(\\\":\\\");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length\u003et.length)\u0026\u0026t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf(\\\"/\\\")\u0026\u0026(e=e.substring(1)),0===t.indexOf(\\\"/\\\")\u0026\u0026(t=t.substring(1)),\\\"\\\"===e||e===t}},3241:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003eo});var n=r(6154);const i=\\\"newrelic\\\";function o(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Ak:()=\u003ec,Ze:()=\u003el,x3:()=\u003eu});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e\u0026\u0026s[e]\u0026\u0026(s[e].get(t)\u0026\u0026s[e].delete(t),h(e,t,!1),s[e].size\u0026\u0026f(e))}function d(e){if(!e)throw new Error(\\\"agentIdentifier required\\\");s[e]||(s[e]=new Map)}function l(e=\\\"\\\",t=\\\"feature\\\",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=\u003et.staged))\u0026\u0026(t.sort(((e,t)=\u003ee[1].priority-t[1].priority)),t.forEach((([t])=\u003e{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted\u0026\u0026o.backlog\u0026\u0026s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e\u0026\u0026t\u003ce.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=\u003e{Object.values(t||{}).forEach((t=\u003e{t[0]?.on\u0026\u0026t[0]?.context()instanceof a.y\u0026\u0026t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit(\\\"drain-\\\"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=\u003e{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{P:()=\u003ec,ee:()=\u003eu});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c=\\\"nr@context:\\\".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length\u0026\u0026(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i\u003cr.length;i++)r[i]===t\u0026\u0026r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o\u0026\u0026(o=!0);if(u.aborted\u0026\u0026!i)return;t\u0026\u0026o\u0026\u0026t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l\u003cd;l++)c[l].apply(a,r);var p=v()[s[e]];p\u0026\u0026p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||\\\"feature\\\",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=\u003e{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=\u003e{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t\u0026\u0026\\\"object\\\"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,\\\"aborted\\\",{get:()=\u003e{let e=f._aborted||!1;return e||(t\u0026\u0026(e=t.aborted),e)}}),f;function h(e){return e\u0026\u0026e instanceof a.y?e:e?(0,i.I)(e,c,(()=\u003enew a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,\\\"globalEE\\\"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{y:()=\u003en});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{d:()=\u003en,p:()=\u003ei});var n=r(7836).ee.get(\\\"handle\\\");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{i:()=\u003eo});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o=\\\"feature\\\"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=\u003eo,jT:()=\u003en,sp:()=\u003ei})},5607:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003en});const n=(0,r(9566).bz)()},9566:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{LA:()=\u003es,ZF:()=\u003ec,bz:()=\u003ea,el:()=\u003eu});var n=r(6154);const i=\\\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\\\";function o(e,t){return e?15\u0026e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e\u0026\u0026e.getRandomValues\u0026\u0026(t=e.getRandomValues(new Uint8Array(30))),i.split(\\\"\\\").map((e=\u003e\\\"x\\\"===e?o(t,r++).toString(16):\\\"y\\\"===e?(3\u0026o()|8).toString(16):e)).join(\\\"\\\")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t\u0026\u0026t.getRandomValues\u0026\u0026(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s\u003ce;s++)a.push(o(r,i++).toString(16));return a.join(\\\"\\\")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003ea,H3:()=\u003en,g:()=\u003eu,iL:()=\u003ec,tS:()=\u003es,uh:()=\u003ei,wk:()=\u003eo});const n=\\\"NRBA\\\",i=\\\"SESSION\\\",o=144e5,a=18e5,s={STARTED:\\\"session-started\\\",PAUSE:\\\"session-pause\\\",RESET:\\\"session-reset\\\",RESUME:\\\"session-resume\\\",UPDATE:\\\"session-update\\\"},c={SAME_TAB:\\\"same-tab\\\",CROSS_TAB:\\\"cross-tab\\\"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=\u003e{\\\"use strict\\\";function n(){return Math.floor(performance.now())}r.d(t,{t:()=\u003en})},7485:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{D:()=\u003ei});var n=r(6154);function i(e){if(0===(e||\\\"\\\").indexOf(\\\"data:\\\"))return{protocol:\\\"data\\\"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(\\\":\\\")),sameOrigin:t.protocol===n.gm?.location?.protocol\u0026\u0026t.host===n.gm?.location?.host};return r.port\u0026\u0026\\\"\\\"!==r.port||(\\\"http:\\\"===t.protocol\u0026\u0026(r.port=\\\"80\\\"),\\\"https:\\\"===t.protocol\u0026\u0026(r.port=\\\"443\\\")),r.pathname\u0026\u0026\\\"\\\"!==r.pathname?r.pathname.startsWith(\\\"/\\\")||(r.pathname=\\\"/\\\".concat(r.pathname)):r.pathname=\\\"/\\\",r}catch(e){return{}}}},944:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t){\\\"function\\\"==typeof console.debug\u0026\u0026console.debug(\\\"New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#\\\".concat(e),t)}r.d(t,{R:()=\u003en})},5701:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{B:()=\u003ea,t:()=\u003es});var n=r(7836),i=r(3241);const o=new Set,a={};function s(e,t){const r=n.ee.get(t);a[t]??={},e\u0026\u0026\\\"object\\\"==typeof e\u0026\u0026(o.has(t)||(r.emit(\\\"rumresp\\\",[e]),a[t]=e,o.add(t),(0,i.W)({agentIdentifier:t,loaded:!0,drained:!0,type:\\\"lifecycle\\\",name:\\\"load\\\",feature:void 0,data:e})))}},8990:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{I:()=\u003ei});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=\u003e{\\\"use strict\\\";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=\u003e{n\u0026\u0026void 0===i\u0026\u0026(e.apply(this,r),i=setTimeout((()=\u003e{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=\u003e{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=\u003e{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=\u003ei,s:()=\u003en})},3304:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A:()=\u003eo});var n=r(7836);const i=()=\u003e{const e=new WeakSet;return(t,r)=\u003e{if(\\\"object\\\"==typeof r\u0026\u0026null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??\\\"\\\"}catch(e){try{n.ee.emit(\\\"internal-error\\\",[e])}catch(e){}return\\\"\\\"}}},5289:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{GG:()=\u003eo,sB:()=\u003ea});var n=r(3878);function i(){return\\\"undefined\\\"==typeof document||\\\"complete\\\"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)(\\\"load\\\",e,t)}function a(e){if(i())return e();(0,n.DD)(\\\"DOMContentLoaded\\\",e)}},384:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{NT:()=\u003eo,US:()=\u003ed,Zm:()=\u003ea,bQ:()=\u003ec,dV:()=\u003es,nY:()=\u003eu,pV:()=\u003el});var n=r(6154),i=r(1863);const o={beacon:\\\"bam.nr-data.net\\\",errorBeacon:\\\"bam.nr-data.net\\\"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic\u0026\u0026(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{u:()=\u003ei});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)(\\\"visibilitychange\\\",(function(){if(t)return void(\\\"hidden\\\"===document.visibilityState\u0026\u0026e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{u:()=\u003ef});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u=\\\"addEventListener\\\",d=\\\"removeEventListener\\\",l=\\\"nr@wrapped:\\\".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get(\\\"events\\\")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],\\\"-\\\",p)}function p(e,t){return e[1]}return\\\"getPrototypeOf\\\"in Object\u0026\u0026(a.RI\u0026\u0026h(document,f),c\u0026\u0026h(c.prototype,f),h(a.gm,f)),t.on(u+\\\"-start\\\",(function(e,t){var n=e[1];if(null!==n\u0026\u0026(\\\"function\\\"==typeof n||\\\"object\\\"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if(\\\"function\\\"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,\\\"fn-\\\",null,e.name||\\\"anonymous\\\"):n}));this.wrapped=e[1]=i}})),t.on(d+\\\"-start\\\",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;\\\"object\\\"==typeof n\u0026\u0026!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n\u0026\u0026t(n,...r)}},3434:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Jt:()=\u003eo,YM:()=\u003ec});var n=r(7836),i=r(5607);const o=\\\"nr@original:\\\".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n=\\\"\\\");const a=\\\"-\\\"===n.charAt(0);for(let s=0;s\u003ct.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=\\\"\\\"),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty\u0026\u0026Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)\u0026\u0026(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d=\\\"function\\\"==typeof n?n(o,a):n||{}}catch(t){u([t,\\\"\\\",[o,a,s],d],e)}i(r+\\\"start\\\",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+\\\"err\\\",[o,a,e],d,c),e}finally{i(r+\\\"end\\\",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit(\\\"internal-error\\\",e)}catch(e){}}function d(e){return!(e\u0026\u0026\\\"function\\\"==typeof e\u0026\u0026e.apply\u0026\u0026!e[o])}},9414:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{J:()=\u003ec});var n=r(7836),i=r(2646),o=r(944),a=r(3434);const s=new Map;function c(e,t,r,c){if(\\\"object\\\"!=typeof t||!t||\\\"string\\\"!=typeof r||!r||\\\"function\\\"!=typeof t[r])return(0,o.R)(29);const u=function(e){return(e||n.ee).get(\\\"logger\\\")}(e),d=(0,a.YM)(u),l=new i.y(n.P);l.level=c.level,l.customAttributes=c.customAttributes;const f=t[r]?.[a.Jt]||t[r];return s.set(f,l),d.inPlace(t,[r],\\\"wrap-logger-\\\",(()=\u003es.get(f))),u}},9300:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.ajax},3333:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$v:()=\u003eu,TZ:()=\u003en,Zp:()=\u003ei,kd:()=\u003ec,mq:()=\u003es,nf:()=\u003ea,qN:()=\u003eo});const n=r(860).K7.genericEvents,i=[\\\"auxclick\\\",\\\"click\\\",\\\"copy\\\",\\\"keydown\\\",\\\"paste\\\",\\\"scrollend\\\"],o=[\\\"focus\\\",\\\"blur\\\"],a=4,s=1e3,c=[\\\"PageAction\\\",\\\"UserAction\\\",\\\"BrowserPerformance\\\"],u={MARKS:\\\"experimental.marks\\\",MEASURES:\\\"experimental.measures\\\",RESOURCES:\\\"experimental.resources\\\"}},6774:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.jserrors},993:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{A$:()=\u003eo,ET:()=\u003ea,TZ:()=\u003es,p_:()=\u003ei});var n=r(860);const i={ERROR:\\\"ERROR\\\",WARN:\\\"WARN\\\",INFO:\\\"INFO\\\",DEBUG:\\\"DEBUG\\\",TRACE:\\\"TRACE\\\"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a=\\\"log\\\",s=n.K7.logging},3785:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{R:()=\u003ec,b:()=\u003eu});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,[\\\"API/logging/\\\".concat(c.toLowerCase(),\\\"/called\\\")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return\\\"string\\\"==typeof e\u0026\u0026Object.values(s.p_).some((t=\u003et===e.toUpperCase().trim()))}},8154:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{z_:()=\u003eo,XG:()=\u003es,TZ:()=\u003en,rs:()=\u003ei,xV:()=\u003ea});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i=\\\"sm\\\",o=\\\"cm\\\",a=\\\"storeSupportabilityMetrics\\\",s=\\\"storeEventMetrics\\\"},6630:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewEvent},782:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{T:()=\u003en});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{BB:()=\u003ed,G4:()=\u003eo,Qb:()=\u003el,TZ:()=\u003ei,Ug:()=\u003ea,_s:()=\u003es,bc:()=\u003eu,yP:()=\u003ec});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:\\\"recordReplay\\\",PAUSE:\\\"pauseReplay\\\",REPLAY_RUNNING:\\\"replayRunning\\\",ERROR_DURING_REPLAY:\\\"errorDuringReplay\\\"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:\\\"Session was reset\\\",sm:\\\"Reset\\\"},IMPORT:{message:\\\"Recorder failed to import\\\",sm:\\\"Import\\\"},TOO_MANY:{message:\\\"429: Too Many Requests\\\",sm:\\\"Too-Many\\\"},TOO_BIG:{message:\\\"Payload was too large\\\",sm:\\\"Too-Big\\\"},CROSS_TAB:{message:\\\"Session Entity was set to OFF on another tab\\\",sm:\\\"Cross-Tab\\\"},ENTITLEMENTS:{message:\\\"Session Replay is not allowed and will not be started\\\",sm:\\\"Entitlement\\\"}},d=5e3,l={API:\\\"api\\\"}},5270:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{Aw:()=\u003ec,CT:()=\u003eu,SR:()=\u003es,rF:()=\u003ed});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO\u0026\u0026(0,o.V)(e)\u0026\u0026!0===(0,i.gD)(e,\\\"session_trace.enabled\\\")}function c(e){return!0===(0,i.gD)(e,\\\"session_replay.preload\\\")\u0026\u0026s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}function d(e,t){try{if(\\\"string\\\"==typeof t?.type){if(\\\"password\\\"===t.type.toLowerCase())return\\\"*\\\".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains(\\\"nr-unmask\\\"))return e}}catch(e){}return\\\"string\\\"==typeof e?e.replace(/[\\\\S]/g,\\\"*\\\"):\\\"*\\\".repeat(e?.length||0)}},3738:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{He:()=\u003ei,Kp:()=\u003es,Lc:()=\u003eu,Rz:()=\u003ed,TZ:()=\u003en,bD:()=\u003eo,d3:()=\u003ea,jx:()=\u003el,uP:()=\u003ec});const n=r(860).K7.sessionTrace,i=\\\"bstResource\\\",o=\\\"resource\\\",a=\\\"-start\\\",s=\\\"-end\\\",c=\\\"fn\\\"+a,u=\\\"fn\\\"+s,d=\\\"pushState\\\",l=1e3},3962:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{AM:()=\u003eo,O2:()=\u003ec,Qu:()=\u003eu,TZ:()=\u003es,ih:()=\u003ed,pP:()=\u003ea,tC:()=\u003ei});var n=r(860);const i=[\\\"click\\\",\\\"keydown\\\",\\\"submit\\\",\\\"popstate\\\"],o=\\\"api\\\",a=\\\"initialPageLoad\\\",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:\\\"\\\",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:\\\"in progress\\\",FIN:\\\"finished\\\",CAN:\\\"cancelled\\\"}},7378:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$p:()=\u003ex,BR:()=\u003eb,Kp:()=\u003eR,L3:()=\u003ey,Lc:()=\u003ec,NC:()=\u003eo,SG:()=\u003ed,TZ:()=\u003ei,U6:()=\u003ep,UT:()=\u003em,d3:()=\u003ew,dT:()=\u003ef,e5:()=\u003eA,gx:()=\u003ev,l9:()=\u003el,oW:()=\u003eh,op:()=\u003eg,rw:()=\u003eu,tH:()=\u003eT,uP:()=\u003es,wW:()=\u003eE,xq:()=\u003ea});var n=r(384);const i=r(860).K7.spa,o=[\\\"click\\\",\\\"submit\\\",\\\"keypress\\\",\\\"keydown\\\",\\\"keyup\\\",\\\"change\\\"],a=999,s=\\\"fn-start\\\",c=\\\"fn-end\\\",u=\\\"cb-start\\\",d=\\\"api-ixn-\\\",l=\\\"remaining\\\",f=\\\"interaction\\\",h=\\\"spaNode\\\",p=\\\"jsonpNode\\\",g=\\\"fetch-start\\\",m=\\\"fetch-done\\\",v=\\\"fetch-body-\\\",b=\\\"jsonp-end\\\",y=(0,n.dV)().o.ST,w=\\\"-start\\\",R=\\\"-end\\\",x=\\\"-body\\\",E=\\\"cb\\\"+R,A=\\\"jsTime\\\",T=\\\"fetch\\\"},4234:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{W:()=\u003eo});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{V:()=\u003eo});var n=r(9417),i=r(6154);const o=e=\u003ei.RI\u0026\u0026!0===(0,n.gD)(e,\\\"privacy.cookies_enabled\\\")},8969:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{j:()=\u003eI});var n=r(860),i=r(2555),o=r(9908),a=r(1687),s=r(5289),c=r(6154),u=r(944),d=r(8154),l=r(384),f=r(6344);const h=[\\\"setErrorHandler\\\",\\\"finished\\\",\\\"addToTrace\\\",\\\"addRelease\\\",\\\"recordCustomEvent\\\",\\\"addPageAction\\\",\\\"setCurrentRouteName\\\",\\\"setPageViewName\\\",\\\"setCustomAttribute\\\",\\\"interaction\\\",\\\"noticeError\\\",\\\"setUserId\\\",\\\"setApplicationVersion\\\",\\\"start\\\",f.G4.RECORD,f.G4.PAUSE,\\\"log\\\",\\\"wrapLogger\\\"],p=[\\\"setErrorHandler\\\",\\\"finished\\\",\\\"addToTrace\\\",\\\"addRelease\\\"];var g=r(1863),m=r(2614),v=r(993),b=r(3785),y=r(9414),w=r(3241),R=r(5701);function x(){const e=(0,l.pV)();h.forEach((t=\u003e{e[t]=(...r)=\u003efunction(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=\u003e{e\u0026\u0026e.runtime?e.exposed\u0026\u0026e[t]\u0026\u0026\\\"micro-agent\\\"!==e.runtime.loaderType\u0026\u0026n.push(e[t](...r)):(0,u.R)(38,t)})),n[0]}(t,...r)}))}const E={};var A=r(9417),T=r(5603),S=r(3371);const N=e=\u003e{const t=e.startsWith(\\\"http\\\");e+=\\\"/\\\",r.p=t?e:\\\"https://\\\"+e};var O=r(7836);const _=new Set;function I(e,t={},h,I){let{init:P,info:j,loader_config:C,runtime:k={},exposed:L=!0}=t;k.loaderType=h;const H=(0,l.pV)();j||(P=H.init,j=H.info,C=H.loader_config),(0,A.xN)(e.agentIdentifier,P||{}),(0,T.a)(e.agentIdentifier,C||{}),j.jsAttributes??={},c.bv\u0026\u0026(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const M=e.init,D=[j.beacon,j.errorBeacon];_.has(e.agentIdentifier)||(M.proxy.assets\u0026\u0026(N(M.proxy.assets),D.push(M.proxy.assets)),M.proxy.beacon\u0026\u0026D.push(M.proxy.beacon),x(),(0,l.US)(\\\"activatedFeatures\\\",R.B),e.runSoftNavOverSpa\u0026\u0026=!0===M.soft_navigations.enabled\u0026\u0026M.feature_flags.includes(\\\"soft_nav\\\")),k.denyList=[...M.ajax.deny_list||[],...M.ajax.block_internal?D:[]],k.ptid=e.agentIdentifier,(0,S.V)(e.agentIdentifier,k),_.has(e.agentIdentifier)||(e.ee=O.ee.get(e.agentIdentifier),e.exposed=L,function(e,t){t||(0,a.Ak)(e.agentIdentifier,\\\"api\\\");const l=e.ee.get(\\\"tracer\\\");E[e.agentIdentifier]=m.g.OFF,e.ee.on(f.G4.REPLAY_RUNNING,(t=\u003e{E[e.agentIdentifier]=t}));const h=\\\"api-\\\",x=h+\\\"ixn-\\\";function A(t,r,n,o){const a=e.info;return null===r?delete a.jsAttributes[t]:(0,i.x1)(e.agentIdentifier,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),N(h,n,!0,o||null===r?\\\"session\\\":void 0)(t,r)}function T(){}e.log=function(t,{customAttributes:r={},level:i=v.p_.INFO}={}){(0,o.p)(d.xV,[\\\"API/log/called\\\"],void 0,n.K7.metrics,e.ee),(0,b.R)(e.ee,t,r,i)},e.wrapLogger=(t,r,{customAttributes:i={},level:a=v.p_.INFO}={})=\u003e{(0,o.p)(d.xV,[\\\"API/wrapLogger/called\\\"],void 0,n.K7.metrics,e.ee),(0,y.J)(e.ee,t,r,{customAttributes:i,level:a})},p.forEach((t=\u003e{e[t]=N(h,t,!0,\\\"api\\\")})),e.addPageAction=N(h,\\\"addPageAction\\\",!0,n.K7.genericEvents),e.recordCustomEvent=N(h,\\\"recordCustomEvent\\\",!0,n.K7.genericEvents),e.setPageViewName=function(t,r){if(\\\"string\\\"==typeof t)return\\\"/\\\"!==t.charAt(0)\u0026\u0026(t=\\\"/\\\"+t),e.runtime.customTransaction=(r||\\\"http://custom.transaction\\\")+t,N(h,\\\"setPageViewName\\\",!0)()},e.setCustomAttribute=function(e,t,r=!1){if(\\\"string\\\"==typeof e){if([\\\"string\\\",\\\"number\\\",\\\"boolean\\\"].includes(typeof t)||null===t)return A(e,t,\\\"setCustomAttribute\\\",r);(0,u.R)(40,typeof t)}else(0,u.R)(39,typeof e)},e.setUserId=function(e){if(\\\"string\\\"==typeof e||null===e)return A(\\\"enduser.id\\\",e,\\\"setUserId\\\",!0);(0,u.R)(41,typeof e)},e.setApplicationVersion=function(e){if(\\\"string\\\"==typeof e||null===e)return A(\\\"application.version\\\",e,\\\"setApplicationVersion\\\",!1);(0,u.R)(42,typeof e)},e.start=()=\u003e{try{(0,o.p)(d.xV,[\\\"API/start/called\\\"],void 0,n.K7.metrics,e.ee),e.ee.emit(\\\"manual-start-all\\\")}catch(e){(0,u.R)(23,e)}},e[f.G4.RECORD]=function(){(0,o.p)(d.xV,[\\\"API/recordReplay/called\\\"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.RECORD,[],void 0,n.K7.sessionReplay,e.ee)},e[f.G4.PAUSE]=function(){(0,o.p)(d.xV,[\\\"API/pauseReplay/called\\\"],void 0,n.K7.metrics,e.ee),(0,o.p)(f.G4.PAUSE,[],void 0,n.K7.sessionReplay,e.ee)},e.interaction=function(e){return(new T).get(\\\"object\\\"==typeof e?e:{})};const S=T.prototype={createTracer:function(t,r){var i={},a=this,s=\\\"function\\\"==typeof r;return(0,o.p)(d.xV,[\\\"API/createTracer/called\\\"],void 0,n.K7.metrics,e.ee),e.runSoftNavOverSpa||(0,o.p)(x+\\\"tracer\\\",[(0,g.t)(),t,i],a,n.K7.spa,e.ee),function(){if(l.emit((s?\\\"\\\":\\\"no-\\\")+\\\"fn-start\\\",[(0,g.t)(),a,s],i),s)try{return r.apply(this,arguments)}catch(e){const t=\\\"string\\\"==typeof e?new Error(e):e;throw l.emit(\\\"fn-err\\\",[arguments,this,t],i),t}finally{l.emit(\\\"fn-end\\\",[(0,g.t)()],i)}}}};function N(t,r,i,a){return function(){return(0,o.p)(d.xV,[\\\"API/\\\"+r+\\\"/called\\\"],void 0,n.K7.metrics,e.ee),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:\\\"data\\\",name:\\\"api\\\",feature:t+r,data:{notSpa:i,bufferGroup:a}}),a\u0026\u0026(0,o.p)(t+r,[i?(0,g.t)():performance.now(),...arguments],i?null:this,a,e.ee),i?void 0:this}}function O(){r.e(478).then(r.bind(r,8778)).then((({setAsyncAPI:t})=\u003e{t(e),(0,a.Ze)(e.agentIdentifier,\\\"api\\\")})).catch((t=\u003e{(0,u.R)(27,t),e.ee.abort()}))}[\\\"actionText\\\",\\\"setName\\\",\\\"setAttribute\\\",\\\"save\\\",\\\"ignore\\\",\\\"onEnd\\\",\\\"getContext\\\",\\\"end\\\",\\\"get\\\"].forEach((t=\u003e{S[t]=N(x,t,void 0,e.runSoftNavOverSpa?n.K7.softNav:n.K7.spa)})),e.setCurrentRouteName=e.runSoftNavOverSpa?N(x,\\\"routeName\\\",void 0,n.K7.softNav):N(h,\\\"routeName\\\",!0,n.K7.spa),e.noticeError=function(t,r){\\\"string\\\"==typeof t\u0026\u0026(t=new Error(t)),(0,o.p)(d.xV,[\\\"API/noticeError/called\\\"],void 0,n.K7.metrics,e.ee),(0,o.p)(\\\"err\\\",[t,(0,g.t)(),!1,r,!!E[e.agentIdentifier]],void 0,n.K7.jserrors,e.ee)},c.RI?(0,s.GG)((()=\u003eO()),!0):O()}(e,I),(0,w.W)({agentIdentifier:e.agentIdentifier,drained:!!R.B?.[e.agentIdentifier],type:\\\"lifecycle\\\",name:\\\"initialize\\\",feature:void 0,data:e.config})),_.add(e.agentIdentifier)}},8374:(e,t,r)=\u003e{r.nc=(()=\u003e{try{return document?.currentScript?.nonce}catch(e){}return\\\"\\\"})()},860:(e,t,r)=\u003e{\\\"use strict\\\";r.d(t,{$J:()=\u003ed,K7:()=\u003ec,P3:()=\u003eu,XX:()=\u003ei,Yy:()=\u003es,df:()=\u003eo,qY:()=\u003en,v4:()=\u003ea});const n=\\\"events\\\",i=\\\"jserrors\\\",o=\\\"browser/blobs\\\",a=\\\"rum\\\",s=\\\"browser/logs\\\",c={ajax:\\\"ajax\\\",genericEvents:\\\"generic_events\\\",jserrors:i,logging:\\\"logging\\\",metrics:\\\"metrics\\\",pageAction:\\\"page_action\\\",pageViewEvent:\\\"page_view_event\\\",pageViewTiming:\\\"page_view_timing\\\",sessionReplay:\\\"session_replay\\\",sessionTrace:\\\"session_trace\\\",softNav:\\\"soft_navigations\\\",spa:\\\"spa\\\"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:a,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:o,[c.sessionReplay]:o,[c.logging]:s,[c.genericEvents]:\\\"ins\\\"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=\u003e{for(var r in t)i.o(t,r)\u0026\u0026!i.o(e,r)\u0026\u0026Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=\u003ePromise.all(Object.keys(i.f).reduce(((t,r)=\u003e(i.f[r](e,t),t)),[])),i.u=e=\u003e({212:\\\"nr-spa-compressor\\\",249:\\\"nr-spa-recorder\\\",478:\\\"nr-spa\\\"}[e]+\\\"-1.286.0.min.js\\\"),i.o=(e,t)=\u003eObject.prototype.hasOwnProperty.call(e,t),e={},t=\\\"NRBA-1.286.0.PROD:\\\",i.l=(r,n,o,a)=\u003e{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName(\\\"script\\\"),d=0;d\u003cu.length;d++){var l=u[d];if(l.getAttribute(\\\"src\\\")==r||l.getAttribute(\\\"data-webpack\\\")==t+o){s=l;break}}if(!s){c=!0;var f={478:\\\"sha512-xt9QypT23DNupLy9wXPzK6uGCHucLx9ieBiprVZwJD/HfkKcTY5t9xUrMvJ/ybOBfVDiFPL8R/YCJHdANxjV3g==\\\",249:\\\"sha512-KxJzV7dF4ry7RzxsxRBMJPnHjRdZUbseWowgGkDemMtubSveBZAlqlWb/489Lpd5K2u0Q2zTSBK599A9+u9jpA==\\\",212:\\\"sha512-ges3wTNuYgFINvgkoryTYKsHZWBqvLFD9qo1XJQWq5OYq+1DVXuGFs9cYogVoQEoCQxuaUdKAXcxF/sl3Ntbrg==\\\"};(s=document.createElement(\\\"script\\\")).charset=\\\"utf-8\\\",s.timeout=120,i.nc\u0026\u0026s.setAttribute(\\\"nonce\\\",i.nc),s.setAttribute(\\\"data-webpack\\\",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+\\\"/\\\")\u0026\u0026(s.crossOrigin=\\\"anonymous\\\"),f[a]\u0026\u0026(s.integrity=f[a])}e[r]=[n];var h=(t,n)=\u003e{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode\u0026\u0026s.parentNode.removeChild(s),i\u0026\u0026i.forEach((e=\u003ee(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:\\\"timeout\\\",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c\u0026\u0026document.head.appendChild(s)}},i.r=e=\u003e{\\\"undefined\\\"!=typeof Symbol\u0026\u0026Symbol.toStringTag\u0026\u0026Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},i.p=\\\"https://js-agent.newrelic.com/\\\",(()=\u003e{var e={38:0,788:0};i.f.j=(t,r)=\u003e{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=\u003en=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=\u003e{if(i.o(e,t)\u0026\u0026(0!==(n=e[t])\u0026\u0026(e[t]=void 0),n)){var o=r\u0026\u0026(\\\"load\\\"===r.type?\\\"missing\\\":r.type),a=r\u0026\u0026r.target\u0026\u0026r.target.src;s.message=\\\"Loading chunk \\\"+t+\\\" failed.\\\\n(\\\"+o+\\\": \\\"+a+\\\")\\\",s.name=\\\"ChunkLoadError\\\",s.type=o,s.request=a,n[1](s)}}),\\\"chunk-\\\"+t,t)}};var t=(t,r)=\u003e{var n,o,[a,s,c]=r,u=0;if(a.some((t=\u003e0!==e[t]))){for(n in s)i.o(s,n)\u0026\u0026(i.m[n]=s[n]);if(c)c(i)}for(t\u0026\u0026t(r);u\u003ca.length;u++)o=a[u],i.o(e,o)\u0026\u0026e[o]\u0026\u0026e[o][0](),e[o]=0},r=self[\\\"webpackChunk:NRBA-1.286.0.PROD\\\"]=self[\\\"webpackChunk:NRBA-1.286.0.PROD\\\"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=\u003e{\\\"use strict\\\";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if(this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(\\\"addPageAction\\\",e,t)}recordCustomEvent(e,t){return this.#e(\\\"recordCustomEvent\\\",e,t)}setPageViewName(e,t){return this.#e(\\\"setPageViewName\\\",e,t)}setCustomAttribute(e,t,r){return this.#e(\\\"setCustomAttribute\\\",e,t,r)}noticeError(e,t){return this.#e(\\\"noticeError\\\",e,t)}setUserId(e){return this.#e(\\\"setUserId\\\",e)}setApplicationVersion(e){return this.#e(\\\"setApplicationVersion\\\",e)}setErrorHandler(e){return this.#e(\\\"setErrorHandler\\\",e)}addRelease(e,t){return this.#e(\\\"addRelease\\\",e,t)}log(e,t){return this.#e(\\\"log\\\",e,t)}}class o extends n{#e(t,...r){if(this[t]!==o.prototype[t]\u0026\u0026this[t]!==n.prototype[t])return this[t](...r);(0,e.R)(35,t)}start(){return this.#e(\\\"start\\\")}finished(e){return this.#e(\\\"finished\\\",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(\\\"addToTrace\\\",e)}setCurrentRouteName(e){return this.#e(\\\"setCurrentRouteName\\\",e)}interaction(){return this.#e(\\\"interaction\\\")}wrapLogger(e,t,r){return this.#e(\\\"wrapLogger\\\",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=\u003e{t[r]=function(e,t){return!0===(0,s.gD)(t,\\\"\\\".concat(e,\\\".enabled\\\"))}(r,e)})),t}var d=i(8969);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart\u0026\u0026(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on(\\\"manual-start-all\\\",(0,v.J)((()=\u003e{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=\u003e{n=e}));const o=async()=\u003e{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit(\\\"internal-error\\\",[t]),this.featureName===a.K7.sessionReplay\u0026\u0026this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,\\\"aggregate\\\");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee\u0026\u0026this.ee.abort()}};p.RI?(0,h.GG)((()=\u003eo()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)\u0026\u0026!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),A=i(3878),T=i(782),S=i(1863);class N extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),p.RI\u0026\u0026((0,E.u)((()=\u003e(0,x.p)(\\\"docHidden\\\",[(0,S.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)(\\\"pagehide\\\",(()=\u003e(0,x.p)(\\\"winPagehide\\\",[(0,S.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(8154);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),p.RI\u0026\u0026document.addEventListener(\\\"securitypolicyviolation\\\",(e=\u003e{(0,x.p)(O.xV,[\\\"Generic/CSPViolation/Detected\\\"],void 0,this.featureName,this.ee)})),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name=\\\"UncaughtError\\\",this.message=\\\"string\\\"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t=\\\"Unhandled Promise Rejection: \\\";if(!e?.reason)return;if(H(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return C(e.reason)}const r=C(e.reason);return(r.message||\\\"\\\").startsWith(t)||(r.message=t+r.message),r}function L(e){if(e.error instanceof SyntaxError\u0026\u0026!/:\\\\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error\u0026\u0026!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on(\\\"internal-error\\\",((e,t)=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"ierr\\\",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.#r=e})),p.gm.addEventListener(\\\"unhandledrejection\\\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"err\\\",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener(\\\"error\\\",(e=\u003e{this.abortHandler\u0026\u0026(0,x.p)(\\\"err\\\",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U=\\\"nr@id\\\";function V(e){const t=typeof e;return!e||\\\"object\\\"!==t\u0026\u0026\\\"function\\\"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if(\\\"string\\\"==typeof e\u0026\u0026e.length)return e.length;if(\\\"object\\\"==typeof e){if(\\\"undefined\\\"!=typeof ArrayBuffer\u0026\u0026e instanceof ArrayBuffer\u0026\u0026e.byteLength)return e.byteLength;if(\\\"undefined\\\"!=typeof Blob\u0026\u0026e instanceof Blob\u0026\u0026e.size)return e.size;if(!(\\\"undefined\\\"!=typeof FormData\u0026\u0026e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=[\\\"open\\\",\\\"send\\\"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get(\\\"xhr\\\")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u=\\\"readystatechange\\\",d=[\\\"onload\\\",\\\"onerror\\\",\\\"onabort\\\",\\\"onloadstart\\\",\\\"onloadend\\\",\\\"onprogress\\\",\\\"ontimeout\\\"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit(\\\"new-xhr\\\",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState\u003e3\u0026\u0026!s.resolved\u0026\u0026(s.resolved=!0,n.emit(\\\"xhr-resolved\\\",[],e)),i.inPlace(e,d,\\\"fn-\\\",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(\\\"internal-error\\\",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,[\\\"onreadystatechange\\\"],\\\"fn-\\\",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,\\\"-xhr-\\\",y),n.on(\\\"send-xhr-start\\\",(function(e,t){h(e,t),function(e){l.push(e),a\u0026\u0026(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on(\\\"open-xhr-start\\\",h),a){var g=s\u0026\u0026s.resolve();if(!c\u0026\u0026!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(\\\"fn-end\\\",(function(e){e[0]\u0026\u0026e[0].type===u||b()}));function b(){for(var e=0;e\u003cl.length;e++)h(0,l[e]);l.length\u0026\u0026(l=[])}function y(e,t){return t}return n}var Y=\\\"fetch-\\\",J=Y+\\\"body-\\\",X=[\\\"arrayBuffer\\\",\\\"blob\\\",\\\"json\\\",\\\"text\\\",\\\"formData\\\"],Q=p.gm.Request,ee=p.gm.Response,te=\\\"prototype\\\";const re={};function ne(e){const t=function(e){return(e||B.ee).get(\\\"fetch\\\")}(e);if(!(Q\u0026\u0026ee\u0026\u0026p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];\\\"function\\\"==typeof i\u0026\u0026(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+\\\"before-start\\\",[r],o),o[B.P]\u0026\u0026o[B.P].dt\u0026\u0026(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+\\\"start\\\",[r,e],a),a.then((function(e){return t.emit(n+\\\"end\\\",[null,e],a),e}),(function(e){throw t.emit(n+\\\"end\\\",[e],a),e}))})}return re[t.debugId]=1,X.forEach((e=\u003e{r(Q[te],e,J),r(ee[te],e,J)})),r(p.gm,\\\"fetch\\\",Y),t.on(Y+\\\"end\\\",(function(e,r){var n=this;if(r){var i=r.headers.get(\\\"content-length\\\");null!==i\u0026\u0026(n.rxSize=i),t.emit(Y+\\\"done\\\",[null,r],n)}else t.emit(Y+\\\"done\\\",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||\\\"\\\").toString()||null,i=(t.agentID||\\\"\\\").toString()||null,o=(t.trustKey||\\\"\\\").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)\u0026\u0026this.useTraceContextHeadersForCors())\u0026\u0026(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin\u0026\u0026!this.excludeNewrelicHeader()||!e.sameOrigin\u0026\u0026this.isAllowedOrigin(e)\u0026\u0026this.useNewrelicHeaderForCors())\u0026\u0026(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return\\\"00-\\\"+t+\\\"-\\\"+e+\\\"-01\\\"}generateTraceContextStateHeader(e,t,r,n,i){return i+\\\"@nr=0-1-\\\"+r+\\\"-\\\"+n+\\\"-\\\"+e+\\\"----\\\"+t}generateTraceHeader(e,t,r,n,i,o){if(!(\\\"function\\\"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:\\\"Browser\\\",ac:n,ap:i,id:e,tr:t,ti:r}};return o\u0026\u0026n!==o\u0026\u0026(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()\u0026\u0026this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\")\u0026\u0026(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n\u003cr.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname\u0026\u0026e.protocol===i.protocol\u0026\u0026e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,\\\"distributed_tracing\\\");return!!e\u0026\u0026!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=[\\\"load\\\",\\\"error\\\",\\\"abort\\\",\\\"timeout\\\"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;const he=\\\"X-NewRelic-App-Data\\\";class pe extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=\u003e(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:\\\"xhr\\\",fetch:\\\"fetch\\\",beacon:\\\"beacon\\\"};p.gm?.performance?.getEntriesByType(\\\"resource\\\").forEach((t=\u003e{if(t.initiatorType in e\u0026\u00260!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler(\\\"xhr\\\",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener(\\\"load\\\",(function(r){E(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener(\\\"progress\\\",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid\u0026\u0026this.sameOrigin\u0026\u0026r.setRequestHeader(\\\"X-NewRelic-ID\\\",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader\u0026\u0026(r.setRequestHeader(\\\"newrelic\\\",i.newrelicHeader),o=!0),i.traceContextParentHeader\u0026\u0026(r.setRequestHeader(\\\"traceparent\\\",i.traceContextParentHeader),i.traceContextStateHeader\u0026\u0026r.setRequestHeader(\\\"tracestate\\\",i.traceContextStateHeader),o=!0),o\u0026\u0026(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n\u0026\u0026i){var a=G(i);a\u0026\u0026(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{\\\"abort\\\"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),(\\\"load\\\"!==e.type||o.called===o.totalCbs\u0026\u0026(o.onloadCalled||\\\"function\\\"!=typeof r.onload)\u0026\u0026\\\"function\\\"==typeof o.end)\u0026\u0026o.end(r)}catch(e){try{t.emit(\\\"internal-error\\\",[e])}catch(e){}}};for(var s=0;s\u003cde;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled\u0026\u0026\\\"function\\\"==typeof r.onload||\\\"function\\\"!=typeof this.end||this.end(r)}function d(e,t){var r=\\\"\\\"+V(e)+!!t;this.xhrGuids\u0026\u0026!this.xhrGuids[r]\u0026\u0026(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=\\\"\\\"+V(e)+!!t;this.xhrGuids\u0026\u0026this.xhrGuids[r]\u0026\u0026(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026t.emit(\\\"xhr-load-added\\\",[e[1],e[2]],r)}function g(e,r){r instanceof fe\u0026\u0026\\\"load\\\"===e[0]\u0026\u0026t.emit(\\\"xhr-load-removed\\\",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe\u0026\u0026(\\\"onload\\\"===r\u0026\u0026(this.onload=!0),(\\\"load\\\"===(e[0]\u0026\u0026e[0].type)||this.onload)\u0026\u0026(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart\u0026\u0026t.emit(\\\"xhr-cb-time\\\",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if(\\\"string\\\"==typeof e[0]?0===(t=e[0]).length\u0026\u0026p.RI\u0026\u0026(t=\\\"\\\"+p.gm.location.href):e[0]\u0026\u0026e[0].url?t=e[0].url:p.gm?.URL\u0026\u0026e[0]\u0026\u0026e[0]instanceof URL?t=e[0].href:\\\"function\\\"==typeof e[0].toString\u0026\u0026(t=e[0].toString()),\\\"string\\\"==typeof t\u0026\u00260!==t.length){t\u0026\u0026(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i\u0026\u0026(i.newrelicHeader||i.traceContextParentHeader))if(e[0]\u0026\u0026e[0].headers)s(e[0].headers,i)\u0026\u0026(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)\u0026\u0026(this.dt=i),e.length\u003e1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader\u0026\u0026(e.set(\\\"newrelic\\\",t.newrelicHeader),r=!0),t.traceContextParentHeader\u0026\u0026(e.set(\\\"traceparent\\\",t.traceContextParentHeader),t.traceContextStateHeader\u0026\u0026e.set(\\\"tracestate\\\",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length\u003e=1\u0026\u0026(this.target=e[0]),e.length\u003e=2\u0026\u0026(this.opts=e[1]);var r,n=this.opts||{},i=this.target;\\\"string\\\"==typeof i?r=i:\\\"object\\\"==typeof i\u0026\u0026i instanceof le?r=i.url:p.gm?.URL\u0026\u0026\\\"object\\\"==typeof i\u0026\u0026i instanceof URL\u0026\u0026(r=i.href),ge(this,r);var o=(\\\"\\\"+(i\u0026\u0026i instanceof le\u0026\u0026i.method||n.method||\\\"GET\\\")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,\\\"string\\\"==typeof this.rxSize\u0026\u0026this.rxSize.length\u003e0\u0026\u0026(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r(\\\"xhr\\\",[this.params,i,this.startTime,this.endTime,\\\"fetch\\\"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t\u003cde;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status\u0026\u0026(t.status=0):E(this,e),n.cbTime=this.cbTime,r(\\\"xhr\\\",[t,n,this.startTime,this.endTime,\\\"xhr\\\"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return\\\"json\\\"===r\u0026\u0026null!==t?t:\\\"arraybuffer\\\"===r||\\\"blob\\\"===r||\\\"json\\\"===r?G(e.response):\\\"text\\\"===r||\\\"\\\"===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n\u0026\u0026(e.metrics.rxSize=n),e.sameOrigin\u0026\u0026r.getAllResponseHeaders().indexOf(he)\u003e=0){var i=r.getResponseHeader(he);i\u0026\u0026((0,x.p)(O.rs,[\\\"Ajax/CrossApplicationTracing/Header/Seen\\\"],void 0,a.K7.metrics,t),e.params.cat=i.split(\\\", \\\").pop())}e.loadCaptureCalled=!0}t.on(\\\"new-xhr\\\",i),t.on(\\\"open-xhr-start\\\",o),t.on(\\\"open-xhr-end\\\",s),t.on(\\\"send-xhr-start\\\",c),t.on(\\\"xhr-cb-time\\\",u),t.on(\\\"xhr-load-added\\\",d),t.on(\\\"xhr-load-removed\\\",l),t.on(\\\"xhr-resolved\\\",f),t.on(\\\"addEventListener-end\\\",h),t.on(\\\"removeEventListener-end\\\",g),t.on(\\\"fn-end\\\",v),t.on(\\\"fetch-before-start\\\",b),t.on(\\\"fetch-start\\\",y),t.on(\\\"fn-start\\\",m),t.on(\\\"fetch-done\\\",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+\\\":\\\"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const me={},ve=[\\\"pushState\\\",\\\"replaceState\\\"];function be(e){const t=function(e){return(e||B.ee).get(\\\"history\\\")}(e);return!p.RI||me[t.debugId]++||(me[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,ve,\\\"-\\\")),t}var ye=i(3738);const{He:we,bD:Re,d3:xe,Kp:Ee,TZ:Ae,Lc:Te,uP:Se,Rz:Ne}=ye;class Oe extends b{static featureName=Ae;constructor(e,t=!0){super(e,Ae,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;be(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Se,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)(\\\"bst\\\",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Ne+xe,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Ne+Ee,(function(e){(0,x.p)(\\\"bstHist\\\",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=\u003e{const t=e.getEntries();(0,x.p)(we,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Ie extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem(\\\"\\\".concat(_e.H3,\\\"_\\\").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)\u0026\u0026this.ee.on(t.G4.RECORD,(()=\u003ethis.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(\\\"err\\\",(e=\u003e{this.replayRunning\u0026\u0026(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=\u003e{this.replayRunning=e}))}#s(e){return e\u0026\u0026(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL\u0026\u0026this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder\u0026\u0026this.recorder.parent.mode!==_e.g.FULL\u0026\u0026(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Pe=i(3962);class je extends b{static featureName=Pe.TZ;constructor(e,t=!0){if(super(e,Pe.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=be(this.ee);Pe.tC.forEach((e=\u003e{(0,A.sp)(e,(e=\u003e{a(e)}),!0)}));const n=()=\u003e(0,x.p)(\\\"newURL\\\",[(0,S.t)(),\\\"\\\"+window.location],void 0,this.featureName,this.ee);r.on(\\\"pushState-end\\\",n),r.on(\\\"replaceState-end\\\",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)(\\\"popstate\\\",(e=\u003e(0,x.p)(\\\"newURL\\\",[e.timeStamp,\\\"\\\"+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=\u003e{i||(i=!0,requestAnimationFrame((()=\u003e{(0,x.p)(\\\"newDom\\\",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=\u003e{(0,x.p)(\\\"newUIEvent\\\",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Ce=i(7378);const ke={},Le=[\\\"appendChild\\\",\\\"insertBefore\\\",\\\"replaceChild\\\"];function He(e){const t=function(e){return(e||B.ee).get(\\\"jsonp\\\")}(e);if(!p.RI||ke[t.debugId])return t;ke[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?\u0026](?:callback|cb)=([^\u0026#]+)/,i=/(.*)\\\\.([^.]+)/,o=/^(\\\\w+)(\\\\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,Le,\\\"dom-\\\"),t.on(\\\"dom-start\\\",(function(e){!function(e){if(!e||\\\"string\\\"!=typeof e.nodeName||\\\"script\\\"!==e.nodeName.toLowerCase())return;if(\\\"function\\\"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t\u0026\u0026t.length\u003e=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if(\\\"function\\\"!=typeof u.parent[u.key])return;var d={};function l(){t.emit(\\\"jsonp-end\\\",[],d),e.removeEventListener(\\\"load\\\",l,(0,A.jT)(!1)),e.removeEventListener(\\\"error\\\",f,(0,A.jT)(!1))}function f(){t.emit(\\\"jsonp-error\\\",[],d),t.emit(\\\"jsonp-end\\\",[],d),e.removeEventListener(\\\"load\\\",l,(0,A.jT)(!1)),e.removeEventListener(\\\"error\\\",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],\\\"cb-\\\",d),e.addEventListener(\\\"load\\\",l,(0,A.jT)(!1)),e.addEventListener(\\\"error\\\",f,(0,A.jT)(!1)),t.emit(\\\"new-jsonp\\\",[e.src],d)}(e[0])})),t}const Me={};function De(e){const t=function(e){return(e||B.ee).get(\\\"promise\\\")}(e);if(Me[t.debugId])return t;Me[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i\u0026\u0026function(){function e(r){var o=t.context(),a=n(r,\\\"executor-\\\",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,\\\"name\\\",{value:\\\"Promise\\\"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),[\\\"all\\\",\\\"race\\\"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=\u003e{this.resolve(e).then(a(\\\"all\\\"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit(\\\"propagate\\\",[null,!i],o,!1,!1),i=i||!e}}}})),[\\\"resolve\\\",\\\"reject\\\"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r\u0026\u0026t.emit(\\\"propagate\\\",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],\\\"cb-\\\",a,null,!1),e[1]=n(e[1],\\\"cb-\\\",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit(\\\"propagate\\\",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on(\\\"executor-start\\\",(function(e){e[0]=n(e[0],\\\"resolve-\\\",this,null,!1),e[1]=n(e[1],\\\"resolve-\\\",this,null,!1)})),t.on(\\\"executor-err\\\",(function(e,t,r){e[1](r)})),t.on(\\\"cb-end\\\",(function(e,r,n){t.emit(\\\"propagate\\\",[n,!0],this.nextPromise,!1,!1)})),t.on(\\\"propagate\\\",(function(e,r,n){this.getCtx\u0026\u0026!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r\u0026\u0026r.getCtx?r.getCtx():this})}))}(),t}const Ke={},Ue=\\\"setTimeout\\\",Ve=\\\"setInterval\\\",Ge=\\\"clearTimeout\\\",Fe=\\\"-start\\\",Be=[Ue,\\\"setImmediate\\\",Ve,Ge,\\\"clearImmediate\\\"];function We(e){const t=function(e){return(e||B.ee).get(\\\"timer\\\")}(e);if(Ke[t.debugId]++)return t;Ke[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Be.slice(0,2),Ue+\\\"-\\\"),r.inPlace(p.gm,Be.slice(2,3),Ve+\\\"-\\\"),r.inPlace(p.gm,Be.slice(3),Ge+\\\"-\\\"),t.on(Ve+Fe,(function(e,t,n){e[0]=r(e[0],\\\"fn-\\\",null,n)})),t.on(Ue+Fe,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],\\\"fn-\\\",this,n)})),t}const ze={};function qe(e){const t=function(e){return(e||B.ee).get(\\\"mutation\\\")}(e);if(!p.RI||ze[t.debugId])return t;ze[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n\u0026\u0026(window.MutationObserver=function(e){return this instanceof n?new n(r(e,\\\"fn-\\\")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:Ze,d3:Ye,Kp:Je,$p:Xe,wW:$e,e5:Qe,tH:et,uP:tt,rw:rt,Lc:nt}=Ce;class it extends b{static featureName=Ze;constructor(e,t=!0){if(super(e,Ze,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get(\\\"tracer\\\"),o=He(this.ee),a=De(this.ee),s=We(this.ee),c=Z(this.ee),u=this.ee.get(\\\"events\\\"),d=ne(this.ee),l=be(this.ee),f=qe(this.ee);function h(e,t){l.emit(\\\"newURL\\\",[\\\"\\\"+window.location,t])}function g(){n++,r=window.location.hash,this[tt]=(0,S.t)()}function m(){n--,window.location.hash!==r\u0026\u0026h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[tt],this[nt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(tt,g),a.on(rt,g),o.on(rt,g),this.ee.on(nt,m),a.on($e,m),o.on($e,m),this.ee.on(\\\"fn-err\\\",((...t)=\u003e{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)(\\\"function-err\\\",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([tt,nt,\\\"xhr-resolved\\\"],this.featureName),u.buffer([tt],this.featureName),s.buffer([\\\"setTimeout\\\"+Je,\\\"clearTimeout\\\"+Ye,tt],this.featureName),c.buffer([tt,\\\"new-xhr\\\",\\\"send-xhr\\\"+Ye],this.featureName),d.buffer([et+Ye,et+\\\"-done\\\",et+Xe+Ye,et+Xe+Je],this.featureName),l.buffer([\\\"newURL\\\"],this.featureName),f.buffer([tt],this.featureName),a.buffer([\\\"propagate\\\",rt,$e,\\\"executor-err\\\",\\\"resolve\\\"+Ye],this.featureName),i.buffer([tt,\\\"no-\\\"+tt],this.featureName),o.buffer([\\\"new-jsonp\\\",\\\"cb-start\\\",\\\"jsonp-error\\\",\\\"jsonp-end\\\"],this.featureName),v(d,et+Ye),v(d,et+\\\"-done\\\"),v(o,\\\"new-jsonp\\\"),v(o,\\\"jsonp-end\\\"),v(o,\\\"cb-start\\\"),l.on(\\\"pushState-end\\\",h),l.on(\\\"replaceState-end\\\",h),window.addEventListener(\\\"hashchange\\\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\\\"load\\\",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(\\\"popstate\\\",(function(){h(0,n\u003e1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var ot=i(3333);class at extends b{static featureName=ot.TZ;constructor(e,t=!0){super(e,ot.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI\u0026\u0026(e.init.user_actions.enabled\u0026\u0026(ot.Zp.forEach((e=\u003e(0,A.sp)(e,(e=\u003e(0,x.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee)),!0))),ot.qN.forEach((e=\u003e{const t=(0,v.s)((e=\u003e{(0,x.p)(\\\"ua\\\",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled\u0026\u0026p.gm.PerformanceObserver?.supportedEntryTypes.includes(\\\"resource\\\"))){new PerformanceObserver((e=\u003e{e.getEntries().forEach((e=\u003e{(0,x.p)(\\\"browserPerformance.resource\\\",[e],void 0,this.featureName,this.ee)}))})).observe({type:\\\"resource\\\",buffered:!0})}r.some((e=\u003ee))?this.importAggregator(e):this.deregisterDrain()}}var st=i(993),ct=i(3785),ut=i(9414);class dt extends b{static featureName=st.TZ;constructor(e,t=!0){super(e,st.TZ,t);const r=this.ee;(0,ut.J)(r,p.gm.console,\\\"log\\\",{level:\\\"info\\\"}),(0,ut.J)(r,p.gm.console,\\\"error\\\",{level:\\\"error\\\"}),(0,ut.J)(r,p.gm.console,\\\"warn\\\",{level:\\\"warn\\\"}),(0,ut.J)(r,p.gm.console,\\\"info\\\",{level:\\\"info\\\"}),(0,ut.J)(r,p.gm.console,\\\"debug\\\",{level:\\\"debug\\\"}),(0,ut.J)(r,p.gm.console,\\\"trace\\\",{level:\\\"trace\\\"}),this.ee.on(\\\"wrap-logger-end\\\",(function([e]){const{level:t,customAttributes:n}=this;(0,ct.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=\u003ee.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||\\\"agent\\\"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=\u003ea.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=\u003e{if(!t[r.featureName]\u0026\u0026r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa\u0026\u0026r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=\u003e!(e in this.features)));n.length\u003e0\u0026\u0026(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[pe,w,N,Oe,Ie,_,M,at,dt,je,it],loaderType:\\\"spa\\\"})})()})();\\n\",\"google\",\"testAutomationFlags\",{\"_647\":140,\"_648\":140,\"_649\":140,\"_650\":140,\"_651\":140,\"_652\":140,\"_653\":140,\"_654\":140,\"_655\":140,\"_146\":140,\"_656\":140,\"_657\":154,\"_658\":154},\"disableAds\",\"disableIirisAuth\",\"disableWelcomeAd\",\"disableBigskyAd\",\"disableIirisRecommend\",\"disableDcts\",\"disableWeatherWidget\",\"disableCashGrainWidget\",\"disableCommoditiesWidget\",\"disableCookieBanner\",\"overrideBrandStyling\",\"overrideThemeStyling\",\"configState\",{\"_171\":172,\"_169\":170,\"_661\":8,\"_662\":-7,\"_663\":140,\"_564\":664,\"_668\":669,\"_671\":672,\"_676\":677},\"uiBrand\",\"colors\",\"isMarketsDivision\",{\"_7\":665,\"_666\":667},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltba62518415cda0e2/652fe6ddbc479f8697ef691f/default-cubic.png\",\"contributor\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd407cb100c7b5f81/650f1838250230f99e1ddc78/Game_Developer_G_Logo_RGB.jpg\",\"media\",{\"_670\":154},\"brightcoveAccountId\",\"newsletterSignupPromo\",{\"_673\":674,\"_675\":-7},\"unbounceURL\",\"https://gamedeveloper.tradepub.com/c/pubRD.mpl?secure=1\u0026sr=pp\u0026_t=pp:\u0026qf=w_gamf01\u0026ch=gdwebbutton \",\"elnConfig\",\"proxyConfigs\",{\"_678\":140,\"_679\":154},\"proxyEnabled\",\"proxyRootPath\",\"brandConfig\",{\"_682\":180,\"_13\":14,\"_683\":14,\"_684\":10,\"_15\":16,\"_685\":686,\"_687\":688,\"_670\":154,\"_158\":697,\"_160\":161,\"_167\":703,\"_704\":705,\"_710\":711,\"_715\":716,\"_615\":640,\"_720\":721,\"_756\":757},\"irisEnvironment\",\"siteFullName\",\"siteUrl\",\"authentication\",{},\"unbounce\",{\"_689\":690,\"_692\":693,\"_694\":695,\"_180\":696},\"local\",{\"_176\":691},\"https://gd-resources.gamedeveloper.com/free/w_gamf01/prgm.cgi\",\"preview\",{\"_176\":691},\"staging\",{\"_176\":691},{\"_176\":691},{\"_689\":698,\"_692\":700,\"_694\":701,\"_180\":702},{\"_155\":699},\"8aaa0413-1bf0-4c5f-b2b7-20f59225831b-test\",{\"_155\":154},{\"_155\":156},{\"_155\":156},{\"_7\":8,\"_169\":170,\"_171\":172},\"socialUrls\",[706,707,709],{\"_205\":212,\"_176\":213},{\"_205\":215,\"_176\":708},\"https://www.facebook.com/GameDeveloperOfficial/\",{\"_205\":209,\"_176\":210},\"articleSocialShareToggle\",{\"_712\":159,\"_713\":159,\"_714\":159},\"print\",\"email\",\"reddit\",\"newsletterSignupPromoContent\",{\"_229\":717,\"_718\":719},\"Newsletter sign up title\",\"message\",\"Newsletter sign up message\",\"iirisRecommendation\",{\"_722\":723,\"_724\":725,\"_726\":727,\"_728\":729,\"_730\":731,\"_732\":733,\"_734\":154,\"_735\":736,\"_737\":738,\"_739\":740,\"_741\":742,\"_743\":744,\"_745\":304,\"_746\":154,\"_747\":748,\"_749\":744,\"_750\":729,\"_751\":733,\"_752\":753,\"_754\":755},\"id\",\"widget-1697807002233\",\"division\",\"it\",\"brandFamily\",\"entertainment\",\"entityTagBackground\",\"#000000\",\"dateFormat\",\"Mmm DD, YYYY\",\"showBy\",\"yes\",\"showTime\",\"borderRadius\",\"0\",\"imageWidth\",\"324\",\"imageHeight\",\"182\",\"dateTimeBgcolor\",\"#ff0000\",\"dateTimeFontColor\",\"#ffffff\",\"imagePosition\",\"dropShadow\",\"dateTimeFontsize\",\"12\",\"entityTagBorderColor\",\"borderColor\",\"showdate\",\"redirectMode\",\"new\",\"recipe\",\"related-items\",\"newrelic\",{\"_758\":759},\"guid\",\"MzkzNjM0OHxCUk9XU0VSfEFQUExJQ0FUSU9OfDUzODYwMDIwNQ\",\"routes/$topic._index\",{\"_762\":763,\"_1457\":1458,\"_1462\":1463,\"_1477\":1478,\"_205\":1487,\"_1488\":1487,\"_1489\":-7},\"template\",{\"_229\":425,\"_764\":765,\"_766\":154,\"_301\":162,\"_767\":768,\"_772\":773,\"_781\":782,\"_787\":788,\"_1287\":1288},\"categories\",[],\"categoryDesc\",\"breadcrumbs\",[769,771],{\"_176\":770,\"_229\":626},\"/\",{\"_229\":425,\"_176\":426},\"newsletterSignUpPromo\",{\"_229\":774,\"_718\":154,\"_775\":776,\"_777\":778,\"_301\":304,\"_779\":780},\"Daily news, dev blogs, and stories from Game Developer straight to your inbox\",\"newsletterId\",\"blt3618a0e49d9eaf7a\",\"buttonText\",\"Stay Updated\",\"mode\",\"dark\",\"pagination\",{\"_783\":784,\"_785\":786},\"totalCount\",81,\"currentPage\",1,\"contents\",[789,812,829,845,858,876,887,904,917,930,943,957,970,983,996,1009,1022,1037,1050,1063,1075,1088,1116,1130,1143,1157,1171,1184,1197,1210,1225,1238,1249,1262,1274],{\"_289\":290,\"_269\":790,\"_291\":793,\"_274\":797,\"_276\":797,\"_279\":798,\"_799\":800,\"_281\":154,\"_282\":801,\"_284\":154,\"_277\":802,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":806,\"_810\":811},{\"_153\":791,\"_272\":792},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfc0e82b48db06238/67e560777c08f093a9ebe592/bafkreibfnt2lkfxv4ndiqefrmzfjsfubvmtl3wfo5sxde2qwrb26jor3mm.jpg\",\"SAG-AFTRA members wearing union shirts and carrying signs form a picket line.\",[794],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"role\",\"Senior Editor\",\"SAG-AFTRA urges more non-struck game studios to sign interim agreement\",\"/audio/sag-aftra-urges-more-non-struck-game-studios-to-sign-interim-agreement\",\"linkAttrs\",{},\"Apr 1, 2025\",\"'It's an illusion to think that we don't impact each other, that's not how the industry works.'\",\"articleBodyJsonSummary\",\"normal\",\"paidGating\",{\"_807\":140,\"_808\":809},\"paidContent\",\"paidProductTaxonomy\",[],\"articleSize\",\"big\",{\"_289\":290,\"_269\":813,\"_291\":816,\"_274\":822,\"_276\":822,\"_279\":823,\"_799\":824,\"_281\":154,\"_282\":825,\"_284\":154,\"_277\":826,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":827,\"_810\":811},{\"_153\":814,\"_272\":815},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef81de861cb736a3/67eab13e4c457d02eae1fed8/hellbladeIIfeatured.png\",\"Senua faces off against an enemy in Senua's Saga: Hellblade II.\",[817],{\"_174\":818,\"_295\":819,\"_297\":820,\"_795\":821},\"Alessandro Fillari\",\"/author/alessandro-fillari\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd709c2f6ad0896cd/66df238c1ceec85b3ae644da/Game_Developer_G_Logo_RGB.webp\",\"Contributor\",\"How Ninja Theory created Hellblade II's unsettling soundscape\",\"/audio/how-ninja-theory-created-hellblade-ii-s-unsettling-soundscape\",{},\"Mar 31, 2025\",\"Principal sound designer Daniele Galante broke down the uses and challenges of producing binaural audio, and how it elevated the sequel's most intense moments.\",{\"_807\":140,\"_808\":828},[],{\"_289\":290,\"_269\":830,\"_291\":833,\"_274\":838,\"_276\":838,\"_279\":839,\"_799\":840,\"_281\":154,\"_282\":841,\"_284\":154,\"_277\":842,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":786,\"_805\":843,\"_810\":811},{\"_153\":831,\"_272\":832},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd1dea5c49ce16883/67e6bc260b53df28782a3288/thank_goodness_youre_here_flowers_and_mowing.jpg\",\"Player character mows the lawn behind colorful flower characters\",[834],{\"_174\":835,\"_295\":836,\"_297\":837,\"_795\":821},\"Joel Couture\",\"/author/joel-couture\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltef4298d364a9bfa1/6508832dca23d12f34840106/Joel_Couture.jpg\",\"'We write good stuff in the pub:' the comedy first approach to Thank Goodness You're Here\",\"/design/the-comedy-first-approach-to-thank-goodness-you-re-here\",{},\"Mar 28, 2025\",\"The duo behind Thank Goodness You're Here chat about the challenges that come with creating an entire city filled with silly people and funny things to do.\",{\"_807\":140,\"_808\":844},[],{\"_289\":290,\"_269\":846,\"_291\":849,\"_274\":851,\"_276\":851,\"_279\":852,\"_799\":853,\"_281\":154,\"_282\":854,\"_284\":154,\"_277\":855,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":786,\"_805\":856,\"_810\":811},{\"_153\":847,\"_272\":848},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt84204eabd115990e/67e1947bbc68d718ac20ed80/despolete_kicking_the_ball_far.jpg\",\"Kicking the ball far in despelote\",[850],{\"_174\":835,\"_295\":836,\"_297\":837,\"_795\":821},\"Exploring Quito, Ecuador (and soccer fever) in despelote\",\"/design/exploring-quito-ecuador-and-soccer-fever-in-despelote\",{},\"Mar 24, 2025\",\"Multiple IGF nominee despelote captures the look and feel of Ecuador in 2001, when they were nearing qualification for the World Cup.\",{\"_807\":140,\"_808\":857},[],{\"_289\":859,\"_269\":860,\"_291\":862,\"_274\":868,\"_276\":868,\"_279\":869,\"_799\":870,\"_281\":871,\"_282\":872,\"_284\":154,\"_277\":873,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":300,\"_805\":874,\"_810\":811},\"Video\",{\"_153\":861,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta25bb4702d28b5d9/67dc8612917f4fd8903179b9/ss_0277c27cc3a4c7ace2d33fe0c036bd35d60a1ad1.1920x1080.jpg\",[863],{\"_174\":864,\"_295\":865,\"_297\":866,\"_795\":867},\"Beth Elderkin\",\"/author/beth-elderkin\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blta4a6afc5bf4300eb/650f170cde47dca7a8f21ba2/source_small.jpeg\",\"Content Marketing Manager (GDC)\",\"'Consume Me' Wins Grand Prize, Nuovo Award at the 2025 IGF Awards\",\"/design/consume-me-wins-grand-prize-nuovo-award-at-the-2025-igf-awards\",{},\"/videos\",\"Mar 20, 2025\",\"Indie game Consume Me, developed by Jenny Jiao Hsia, AP Thomson, Jie En Lee, Violet W-P and Ken \\\"coda\\\" Snyder, won the Seumas McNally Grand Prize and the Nuovo Award at the 2025 Independent Games Festival on Wednesday. \",{\"_807\":140,\"_808\":875},[],{\"_289\":859,\"_269\":877,\"_291\":879,\"_274\":881,\"_276\":881,\"_279\":882,\"_799\":883,\"_281\":871,\"_282\":872,\"_284\":154,\"_277\":884,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":300,\"_805\":885,\"_810\":811},{\"_153\":878,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbee0ad3fb431af42/67dc650d24683e6c8a416863/Game_of_the_Year.jpg\",[880],{\"_174\":864,\"_295\":865,\"_297\":866,\"_795\":867},\"'Balatro' Plays Winning Hand at GDCA 2025, Receiving Game of the Year\",\"/design/-balatro-plays-winning-hand-at-gdca-2025-receiving-game-of-the-year\",{},\"No jokers here! Indie roguelike deckbuilding game Balatro from solo developer LocalThunk has taken the pot at the 25th annual Game Developers Choice Awards on Wednesday.\",{\"_807\":140,\"_808\":886},[],{\"_289\":290,\"_269\":888,\"_291\":891,\"_274\":897,\"_276\":897,\"_279\":898,\"_799\":899,\"_281\":154,\"_282\":900,\"_284\":154,\"_277\":901,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":902,\"_810\":811},{\"_153\":889,\"_272\":890},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt08f42fd534c0ea73/67d32d0c4a2016197b769b3c/zenless_soldier_lycaon.png\",\"Soldier 11 and Lycaon in Zenless Zone Zero.\",[892],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Justin Carter\",\"/author/justin-carter\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt33d97cf9dc327673/650f03deb8329c920e5af96f/Image_from_iOS.jpg\",\"Contributing Editor\",\"Zenless Zone Zero actors recast amid ongoing SAG-AFTRA strike\",\"/business/zenless-zone-zero-actors-recast-amid-ongoing-sag-aftra-strike\",{},\"Mar 13, 2025\",\"Voice actors Emeri Chase and Nicholas Thurkettle learned they were recast with Zenless Zone Zero's recent patch due to their absence during the SAG-AFTRA strike. \",{\"_807\":140,\"_808\":903},[],{\"_289\":290,\"_269\":905,\"_291\":908,\"_274\":910,\"_276\":910,\"_279\":911,\"_799\":912,\"_281\":154,\"_282\":913,\"_284\":154,\"_277\":914,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":915,\"_810\":811},{\"_153\":906,\"_272\":907},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt77eb9d93cccb15bf/67d1d928f8d065867828711c/dave_mallow.jpg\",\"Headshot of late voice actor Dave Mallow.\",[909],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Obituary: Voice actor Dave Mallow has passed away at age 76\",\"/business/obituary-voice-actor-dave-mallow-passed-away-at-age-76\",{},\"Mar 12, 2025\",\"Throughout his voice acting career, Mallow voiced characters in Power Rangers and Digimon, and in games like Street Fighter, Resistance 3, and Call of Duty.\",{\"_807\":140,\"_808\":916},[],{\"_289\":290,\"_269\":918,\"_291\":921,\"_274\":923,\"_276\":923,\"_279\":924,\"_799\":925,\"_281\":154,\"_282\":926,\"_284\":154,\"_277\":927,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":928,\"_810\":811},{\"_153\":919,\"_272\":920},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt567586cdf0985997/67cf2a9ea5dc9e043e185f20/castle_of_secrets.jpg\",\"Screenshot of 2025's Castle of Secrets.\",[922],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Indie dev Serene Questworks accused of replacing game's cast with AI voices\",\"/business/indie-dev-serene-questworks-accused-of-replacing-game-s-cast-with-ai-voices\",{},\"Mar 11, 2025\",\"Generative AI is becoming more prevalent in games, and not every developer is completely honest about their intentions with it. \",{\"_807\":140,\"_808\":929},[],{\"_289\":290,\"_269\":931,\"_291\":934,\"_274\":936,\"_276\":936,\"_279\":937,\"_799\":938,\"_281\":154,\"_282\":939,\"_284\":154,\"_277\":940,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":941,\"_810\":811},{\"_153\":932,\"_272\":933},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltebbcdfa2158b6c61/67b7aae3c3286e75fa9703ce/hades2wartimefeatured.jpg\",\"Two characters from Hades II pose with a bloody axe.\",[935],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"Supergiant denies recasting Hades II actor over interim SAG-AFTRA contract request\",\"/audio/supergiant-denies-recasting-hades-ii-actor-over-interim-sag-aftra-contract-request\",{},\"Feb 20, 2025\",\"Update: Marin has confirmed to Game Developer that they declined to continue working with Supergiant after the studio turned down a request to adopt an interim SAG-AFTRA agreement.\",{\"_807\":140,\"_808\":942},[],{\"_289\":290,\"_269\":944,\"_291\":947,\"_274\":950,\"_276\":950,\"_279\":951,\"_799\":952,\"_281\":154,\"_282\":953,\"_284\":154,\"_277\":954,\"_803\":154,\"_301\":804,\"_285\":421,\"_287\":422,\"_299\":786,\"_805\":955,\"_810\":811},{\"_153\":945,\"_272\":946},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt62a4e2950d6a23a1/67af3060c8bbae722009a38d/VGHF_Header.png\",\"The VGHF logo overlaid on a photograph of the VGHF collection\",[948],{\"_174\":294,\"_295\":296,\"_297\":298,\"_795\":949},\"News Editor\",\"Video Game History Foundation: We need more 'internal champions' within studio structures\",\"/production/video-game-history-foundation-we-need-more-internal-champions-within-studio-structures\",{},\"Feb 14, 2025\",\"'You need to be the curator of your own story.'\",{\"_807\":140,\"_808\":956},[],{\"_289\":290,\"_269\":958,\"_291\":961,\"_274\":963,\"_276\":963,\"_279\":964,\"_799\":965,\"_281\":154,\"_282\":966,\"_284\":154,\"_277\":967,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":968,\"_810\":811},{\"_153\":959,\"_272\":960},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt471f79137bcbf532/67a2524983bdcd18af53b93c/destiny_2_heresy.png\",\"Guardians vs. the Hive in Destiny 2: Heresy.\",[962],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Destiny 2 is the latest game impacted by SAG-AFTRA strike\",\"/business/destiny-2-is-the-latest-game-impacted-by-sag-aftra-strike\",{},\"Feb 4, 2025\",\"Voices down, Guardian.\",{\"_807\":140,\"_808\":969},[],{\"_289\":290,\"_269\":971,\"_291\":974,\"_274\":976,\"_276\":976,\"_279\":977,\"_799\":978,\"_281\":154,\"_282\":979,\"_284\":154,\"_277\":980,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":981,\"_810\":811},{\"_153\":972,\"_272\":973},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7f89586b4e45f7a8/67a09d5c2c8669bd4b4bc8b6/Winifred_Header.png\",\"Winifred Phillips collecting her Grammy award on-stage at the 2025 ceremony\",[975],{\"_174\":294,\"_295\":296,\"_297\":298,\"_795\":949},\"Wizardry: Proving Grounds of the Mad Overlord composer Winifred Phillips wins Grammy award\",\"/audio/wizardry-proving-grounds-of-the-mad-overlord-composer-winifred-phillips-wins-grammy-award\",{},\"Feb 3, 2025\",\"Phillips has previously worked on franchises including Little Big Planet, Assassin's Creed, and God of War.\",{\"_807\":140,\"_808\":982},[],{\"_289\":290,\"_269\":984,\"_291\":987,\"_274\":989,\"_276\":989,\"_279\":990,\"_799\":991,\"_281\":154,\"_282\":992,\"_284\":154,\"_277\":993,\"_803\":154,\"_301\":804,\"_285\":416,\"_287\":417,\"_299\":786,\"_805\":994,\"_810\":811},{\"_153\":985,\"_272\":986},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3fd8f86345b0c32e/67993f8b0e0e8e3fd16e7918/Untitled_design_copy_2.png\",\"Characters from Astro Bot and Black Myth: Wukong\",[988],{\"_174\":864,\"_295\":865,\"_297\":866,\"_795\":867},\"Astro Bot and Black Myth: Wukong take the lead in GDCA 2025 nominations\",\"/marketing/astro-bot-and-black-myth-wukong-take-the-lead-in-gdca-2025-nominations\",{},\"Jan 28, 2025\",\"The Game Developers Choice Awards, celebrating its 25th year, is the leading video game awards that are nominated by, voted on, and decided by video game developers within the industry.\",{\"_807\":140,\"_808\":995},[],{\"_289\":290,\"_269\":997,\"_291\":1000,\"_274\":1002,\"_276\":1002,\"_279\":1003,\"_799\":1004,\"_281\":154,\"_282\":1005,\"_284\":154,\"_277\":1006,\"_803\":154,\"_301\":804,\"_285\":421,\"_287\":422,\"_299\":786,\"_805\":1007,\"_810\":811},{\"_153\":998,\"_272\":999},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt51f9928558da2331/6790efc6e0e9b268bb3f040b/Astro_Bot_Header.png\",\"Three screenshots from Astro Bot placed side-by-side\",[1001],{\"_174\":294,\"_295\":296,\"_297\":298,\"_795\":949},\"Astro Bot wins big at the 2025 New York Game Awards\",\"/production/astro-bot-wins-big-at-the-2025-new-york-game-awards\",{},\"Jan 22, 2025\",\"Another massive win for the little bot.\",{\"_807\":140,\"_808\":1008},[],{\"_289\":290,\"_269\":1010,\"_291\":1013,\"_274\":1015,\"_276\":1015,\"_279\":1016,\"_799\":1017,\"_281\":154,\"_282\":1018,\"_284\":154,\"_277\":1019,\"_803\":154,\"_301\":804,\"_285\":374,\"_287\":375,\"_299\":786,\"_805\":1020,\"_810\":811},{\"_153\":1011,\"_272\":1012},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltfaa906f7e996fe1b/6788188ce8ea5b4dd353f1dc/consume_me_game.png\",\"Screenshot from 2024's Consume Me.\",[1014],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Jenny Jiao Hsia's Consume Me leads the list of 2025 IGF Awards finalists\",\"/art/jenny-jiao-hsia-s-consume-me-leads-2025-s-igf-awards-finalists\",{},\"Jan 15, 2025\",\"2025's IGF Awards nominees include Balatro, Indika, and UFO 50 in categories like Excellence in Design and Narrative.\",{\"_807\":140,\"_808\":1021},[],{\"_289\":290,\"_269\":1023,\"_291\":1026,\"_274\":1030,\"_276\":1030,\"_279\":1031,\"_799\":1032,\"_281\":154,\"_282\":1033,\"_284\":154,\"_277\":1034,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1035,\"_810\":811},{\"_153\":1024,\"_272\":1025},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltaf492274bbdd3c61/67801177ae59380a103f0a73/Avatar_Frontiers_of_Pandora.jpg\",\"Sweeping environmental details of Pandora\",[1027],{\"_174\":1028,\"_295\":1029,\"_297\":820,\"_795\":154},\"Sylvain Livenais\",\"/author/sylvain-livenais\",\"Deep Dive: Sound design for the living world in Avatar: Frontiers of Pandora\",\"/audio/deep-dive-sound-design-for-the-living-world-in-avatar-frontiers-of-pandora\",{},\"Jan 6, 2025\",\"Creating a rich soundscape for the exotic life of Avatar: Frontiers of Pandora.\",{\"_807\":140,\"_808\":1036},[],{\"_289\":290,\"_269\":1038,\"_291\":1041,\"_274\":1043,\"_276\":1043,\"_279\":1044,\"_799\":1045,\"_281\":154,\"_282\":1046,\"_284\":154,\"_277\":1047,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":786,\"_805\":1048,\"_810\":811},{\"_153\":1039,\"_272\":1040},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt0cf104abf5409937/67645190c5e375038d55ebb5/Game_Developer_Bryant_Francis_Best_Games_2024.png\",\"A promo image for Bryant's top 10 game of the year list featuring four games.\",[1042],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"Game Developer 2024 Wrap-Up: Bryant Francis' top 10 games of the year\",\"/design/game-developer-2024-wrap-up-bryant-francis-top-10-games-of-the-year\",{},\"Dec 23, 2024\",\"In a year of great (and sometimes terrible) change, there were still incredible games.\",{\"_807\":140,\"_808\":1049},[],{\"_289\":290,\"_269\":1051,\"_291\":1054,\"_274\":1056,\"_276\":1056,\"_279\":1057,\"_799\":1058,\"_281\":154,\"_282\":1059,\"_284\":154,\"_277\":1060,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1061,\"_810\":811},{\"_153\":1052,\"_272\":1053},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9cf9b79911613593/6761d87fabb68b4a74c2879f/ss_5a7c5b26417d19a88cbe7bca9bcab64abd149eba.jpg\",\"Three Call of Duty: Black Ops 6: Zombies playable characters strike a pose.\",[1055],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"Activision quietly recast Black Ops 6 Zombies actors during SAG-AFTRA strike\",\"/audio/black-ops-6-zombies-characters-recast-after-original-actors-withdrew-during-strike\",{},\"Dec 18, 2024\",\"Pre-release versions of Call of Duty: Black Ops 6 Zombies cutscenes contain different voiceover performances than those heard in the final game.\",{\"_807\":140,\"_808\":1062},[],{\"_289\":290,\"_269\":1064,\"_291\":1067,\"_274\":1069,\"_276\":1069,\"_279\":1070,\"_799\":1071,\"_281\":154,\"_282\":1059,\"_284\":154,\"_277\":1072,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1073,\"_810\":811},{\"_153\":1065,\"_272\":1066},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf75afc4ec65a2a59/6763198ecb79e84562233d06/sonic_adventure_2.png\",\"Sonic and Shadow the Hedgehog in Sonic Adventure 2.\",[1068],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Crush 40 singer sues Sega over Sonic Adventure 2's 'Live and Learn' theme song\",\"/business/crush-40-singer-sues-sega-over-sonic-adventure-2-s-live-and-learn-theme-song\",{},\"Frontman Johnny Gioeli claims Sega has spent 23 years using the hit song 'Live \u0026 Learn' in dozens of media outside Sonic Adventure 2 without properly compensating him for it.\",{\"_807\":140,\"_808\":1074},[],{\"_289\":290,\"_269\":1076,\"_291\":1079,\"_274\":1081,\"_276\":1081,\"_279\":1082,\"_799\":1083,\"_281\":154,\"_282\":1084,\"_284\":154,\"_277\":1085,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1086,\"_810\":811},{\"_153\":1077,\"_272\":1078},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt806a244cbf9e14ed/674d9875ae0a374c0ea86e71/League_of_Legends_Header.png\",\"Banner art for Riot Games titles Valorant, Wild Rift, and League of Legends.\",[1080],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"League of Legends skins won't get custom VO while SAG-AFTRA strikes Formosa Interactive\",\"/business/riot-games-league-of-legends-vo-formosa-interactive\",{},\"Dec 16, 2024\",\"'We know this isn’t ideal...But this approach lets us respect the ongoing strike while continuing to deliver new content.'\",{\"_807\":140,\"_808\":1087},[],{\"_289\":290,\"_269\":1089,\"_291\":1091,\"_274\":1109,\"_276\":1109,\"_279\":1110,\"_799\":1111,\"_281\":154,\"_282\":1112,\"_284\":154,\"_277\":1113,\"_803\":154,\"_301\":804,\"_285\":421,\"_287\":422,\"_299\":786,\"_805\":1114,\"_810\":811},{\"_153\":1090,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc65a6c2903d51499/673ce42a198dc8431a7c963a/Game_Developer_Magazine_Cover_January_2011.png\",[1092,1097,1100,1103,1106],{\"_174\":1093,\"_295\":1094,\"_297\":1095,\"_795\":1096},\"Marc Flury\",\"/author/marc-flury-2\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7ba9dbc892212f97/65088cd9049c432dfd5b662b/Marc_Flury.png\",\"Blogger\",{\"_174\":1098,\"_295\":1099,\"_297\":820,\"_795\":154},\"Kasson Crooker\",\"/author/kasson-crooker\",{\"_174\":1101,\"_295\":1102,\"_297\":820,\"_795\":154},\" Matt Boch\",\"/author/matt-boch\",{\"_174\":1104,\"_295\":1105,\"_297\":820,\"_795\":154},\"Dean Tate\",\"/author/dean-tate\",{\"_174\":1107,\"_295\":1108,\"_297\":820,\"_795\":154},\"Ryan Challinor\",\"/author/ryan-challinor\",\"Classic Postmortem: Harmonix's Dance Central (2010)\",\"/production/postmortem-harmonix-s-dance-central-2010-\",{},\"Nov 21, 2024\",\"This Dance Central postmortem was first published in Game Developer Magazine in January 2011. \",{\"_807\":140,\"_808\":1115},[],{\"_289\":290,\"_269\":1117,\"_291\":1119,\"_274\":1123,\"_276\":1123,\"_279\":1124,\"_799\":1125,\"_281\":154,\"_282\":1126,\"_284\":154,\"_277\":1127,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1128,\"_810\":811},{\"_153\":1118,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltf525b41c67c3e7f5/673e52c60f3226cb6479b0b2/gdfb_fullsize_test.png\",[1120],{\"_174\":1121,\"_295\":1122,\"_297\":820,\"_795\":154},\"Ilya Viktorov\",\"/author/ilya-viktorov\",\"How to record a giant mech: Recording sound design with War Robots\",\"/audio/how-to-record-a-giant-mech-recording-sound-design-with-war-robots\",{},\"Nov 20, 2024\",\"We explain the sound recording and design process based on our years of experience with War Robots: processes that work and fails to avoid! \",{\"_807\":140,\"_808\":1129},[],{\"_289\":290,\"_269\":1131,\"_291\":1134,\"_274\":1136,\"_276\":1136,\"_279\":1137,\"_799\":1138,\"_281\":154,\"_282\":1139,\"_284\":154,\"_277\":1140,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1141,\"_810\":811},{\"_153\":1132,\"_272\":1133},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltbae550081f6dc06f/67094b79bd349e32cd5c3713/metaphor.jpg\",\"Key art for 2024's Metaphor ReFantazio.\",[1135],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"SAG-AFTRA's newest agreement secures protections for video game dub actors\",\"/business/sag-aftra-s-newest-agreement-secures-protections-for-video-game-dub-actors\",{},\"Nov 15, 2024\",\"Under the new Localization Agreement, localization actors for non-U.S. made games have AI protections and larger voice print and session options.\",{\"_807\":140,\"_808\":1142},[],{\"_289\":290,\"_269\":1144,\"_291\":1146,\"_274\":1150,\"_276\":1150,\"_279\":1151,\"_799\":1152,\"_281\":154,\"_282\":1153,\"_284\":154,\"_277\":1154,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1155,\"_810\":811},{\"_153\":1145,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt7eada1366ade2416/6734de4921914346f5dc7c6d/Tactical_Breach_Wizards.jpg\",[1147],{\"_174\":1148,\"_295\":1149,\"_297\":820,\"_795\":154},\"Robert Arzola\",\"/author/-title\",\"Reflections on my score for Tactical Breach Wizards\",\"/audio/reflections-on-my-score-for-tactical-breach-wizards\",{},\"Nov 13, 2024\",\"Here's an inside look at the creative process, inspirations, experiences, and challenges behind the score for Tactical Breach Wizards.\",{\"_807\":140,\"_808\":1156},[],{\"_289\":290,\"_269\":1158,\"_291\":1160,\"_274\":1164,\"_276\":1164,\"_279\":1165,\"_799\":1166,\"_281\":154,\"_282\":1167,\"_284\":154,\"_277\":1168,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":786,\"_805\":1169,\"_810\":811},{\"_153\":1159,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf8a1a742cc4a912/673236419d70b8d5ad06deaa/AdobeStock_615906569.jpeg\",[1161],{\"_174\":1162,\"_295\":1163,\"_297\":820,\"_795\":154},\"Maxim Kiselev\",\"/author/maxim-kiselev\",\"Must-have tools and libraries for indie game developers in 2024\",\"/design/must-have-tools-and-libraries-for-indie-game-developers-in-2024\",{},\"Nov 11, 2024\",\"Thanks to the constant development of technology and an ever-growing set of powerful tools, indie developers can create games that rival those made by big studios. If you're an indie developer looking to take your project to the next level, here's your essential toolkit for 2024.\\n\",{\"_807\":140,\"_808\":1170},[],{\"_289\":290,\"_269\":1172,\"_291\":1175,\"_274\":1177,\"_276\":1177,\"_279\":1178,\"_799\":1179,\"_281\":154,\"_282\":1180,\"_284\":154,\"_277\":1181,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1182,\"_810\":811},{\"_153\":1173,\"_272\":1174},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt38d671590c3b2249/6723c7f22ab52dee6dad78d0/nintendomusicfeatured.jpg\",\"Key art for Nintendo Music. It shows portraits of different characters like Mario, Link, Isabella, and more.\",[1176],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"Nintendo doesn't credit composers on new Nintendo Music app\",\"/audio/why-doesn-t-nintendo-music-credit-composers-\",{},\"Oct 31, 2024\",\"If you want to know who composed a given Nintendo track, your answer is in another castle.\",{\"_807\":140,\"_808\":1183},[],{\"_289\":290,\"_269\":1185,\"_291\":1188,\"_274\":1190,\"_276\":1190,\"_279\":1191,\"_799\":1192,\"_281\":154,\"_282\":1193,\"_284\":154,\"_277\":1194,\"_803\":154,\"_301\":804,\"_285\":421,\"_287\":422,\"_299\":786,\"_805\":1195,\"_810\":811},{\"_153\":1186,\"_272\":1187},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltdf88b0b723b6e558/6720c0ae9ba0e9c083834f94/Ethovox_Header.png\",\"The SAG-AFTRA and Ethovox logos\",[1189],{\"_174\":294,\"_295\":296,\"_297\":298,\"_795\":949},\"SAG-AFTRA signs agreement with AI-powered voice company Ethovox\",\"/production/sag-aftra-signs-agreement-with-ai-powered-voice-company-ethovox\",{},\"Oct 29, 2024\",\"The union said the deal will ensure performers are 'protected and empowered in the AI age.'\",{\"_807\":140,\"_808\":1196},[],{\"_289\":290,\"_269\":1198,\"_291\":1201,\"_274\":1203,\"_276\":1203,\"_279\":1204,\"_799\":1205,\"_281\":154,\"_282\":1206,\"_284\":154,\"_277\":1207,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1208,\"_810\":811},{\"_153\":1199,\"_272\":1200},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8b2e78f94ff3dbdb/66db18463549a40e0db64659/sag_aftra_strike_image.jpg\",\"Graphic for SAG-AFTRA and the video game voice actor strike.\",[1202],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"SAG-AFTRA returns to negotiating table with major gaming studios\",\"/business/sag-aftra-returns-to-negotiating-table-with-major-studios-with-over-120-games-already-signed-to-interim-contract\",{},\"Oct 23, 2024\",\"'Humane protections for actors against A.I. exploitation are not an unreasonable ask: and the success of these contracts shows that most companies agree.'\",{\"_807\":140,\"_808\":1209},[],{\"_289\":290,\"_269\":1211,\"_291\":1213,\"_274\":1218,\"_276\":1218,\"_279\":1219,\"_799\":1220,\"_281\":154,\"_282\":1221,\"_284\":154,\"_277\":1222,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1223,\"_810\":811},{\"_153\":1212,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte65858a66d3abf8c/671664f18a06ad7c81e066f0/4_Dial-Up-the-Diegetics_Winifred-Phillips.webp\",[1214],{\"_174\":1215,\"_295\":1216,\"_297\":1217,\"_795\":1096},\"Winifred Phillips\",\"/author/winifred-phillips\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt3c0c2159ecd4af5a/65087ece5cb326441b9a2630/Winifred_Phillips.jpg\",\"GDC 2024 Dial Up the Diegetics: Science and Technology\",\"/audio/gdc-2024-dial-up-the-diegetics-science-and-technology\",{},\"Oct 22, 2024\",\"This article explores how electronic and technical sounds can be used as sound sources for musical composition. Article based on the 2024 GDC lecture given by video game composer Winifred Phillips (latest: Wizardry: Proving Grounds of the Mad Overlord)\",{\"_807\":140,\"_808\":1224},[],{\"_289\":290,\"_269\":1226,\"_291\":1229,\"_274\":1231,\"_276\":1231,\"_279\":1232,\"_799\":1233,\"_281\":154,\"_282\":1234,\"_284\":154,\"_277\":1235,\"_803\":154,\"_301\":804,\"_285\":425,\"_287\":426,\"_299\":786,\"_805\":1236,\"_810\":811},{\"_153\":1227,\"_272\":1228},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc094399b83c653e1/670ec1f37eeb84e1c6247d59/nobuo_uematsu.jpg\",\"Headshot of game composer Nobuo Uematsu.\",[1230],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"Update: Game composer Nobuo Uematsu will 'cut back' on making game music post-Fantasian release\",\"/audio/game-composer-nobuo-uematsu-will-retire-after-fantasian-s-console-launch\",{},\"Oct 15, 2024\",\"Update: Uematsu clarified that Fantasian will not be his final game as a composer, but he will step back from making whole soundtracks for games going forward.\",{\"_807\":140,\"_808\":1237},[],{\"_289\":290,\"_269\":1239,\"_291\":1241,\"_274\":1243,\"_276\":1243,\"_279\":1244,\"_799\":1245,\"_281\":154,\"_282\":1234,\"_284\":154,\"_277\":1246,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1247,\"_810\":811},{\"_153\":1199,\"_272\":1240},\"Graphic for the current video game voice actor strike.\",[1242],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"SAG-AFTRA performers and game devs to reignite negotiations next week\",\"/business/sag-aftra-performers-and-game-devs-to-reignite-negotiations-next-week\",{},\"The actors' union will reenter discussions with major studios like Formosa, Disney, and WB Games starting October 23.\",{\"_807\":140,\"_808\":1248},[],{\"_289\":290,\"_269\":1250,\"_291\":1253,\"_274\":1255,\"_276\":1255,\"_279\":1256,\"_799\":1257,\"_281\":154,\"_282\":1258,\"_284\":154,\"_277\":1259,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1260,\"_810\":811},{\"_153\":1251,\"_272\":1252},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt8e0e4880f730fb62/67069fbe8c966d1cc3b40ac8/washingtonstatefeatured.jpg\",\"A sign saying \\\"Welcome to Washington the Evergreen State.\\\"\",[1254],{\"_174\":317,\"_295\":318,\"_297\":319,\"_795\":796},\"What Washington State is doing to juice local game development\",\"/business/what-washington-state-is-doing-to-juice-local-game-development\",{},\"Oct 9, 2024\",\"The Washington State government's Department of Commerce wants to the state's 'creative economy' humming along.\",{\"_807\":140,\"_808\":1261},[],{\"_289\":290,\"_269\":1263,\"_291\":1265,\"_274\":1267,\"_276\":1267,\"_279\":1268,\"_799\":1269,\"_281\":154,\"_282\":1270,\"_284\":154,\"_277\":1271,\"_803\":154,\"_301\":804,\"_285\":313,\"_287\":314,\"_299\":786,\"_805\":1272,\"_810\":811},{\"_153\":1264,\"_272\":154},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc4d1a4dd1b506233/66fe1a923185fd59f9b4d23b/ss_05e8a60f7c9a80409b43be5d0a0d27e94baf9cda.jpg\",[1266],{\"_174\":835,\"_295\":836,\"_297\":837,\"_795\":821},\"Starstruck: Hands of Time is a rhythm game that lets you use your old guitar peripherals\",\"/design/starstruck-hands-of-time-is-a-rhythm-game-that-lets-you-use-your-old-guitar-peripherals\",{},\"Oct 3, 2024\",\"Game director Max Ponoroff tells us how he was inspired by Mister Rogers' Neighborhood and a strange urge to wreck his own creations. \",{\"_807\":140,\"_808\":1273},[],{\"_289\":290,\"_269\":1275,\"_291\":1278,\"_274\":1280,\"_276\":1280,\"_279\":1281,\"_799\":1282,\"_281\":154,\"_282\":1283,\"_284\":154,\"_277\":1284,\"_803\":154,\"_301\":804,\"_285\":286,\"_287\":288,\"_299\":786,\"_805\":1285,\"_810\":811},{\"_153\":1276,\"_272\":1277},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blte873c404854aa44e/650f054da7f4814cf0c24339/league.jpg\",\"Characters from Riot Games' League of Legends.\",[1279],{\"_174\":893,\"_295\":894,\"_297\":895,\"_795\":896},\"SAG-AFTRA pulls League of Legends into video game strike over VO studio's conduct\",\"/business/sag-aftra-pulls-league-of-legends-into-video-game-strike-over-vo-studio-s-conduct\",{},\"Sep 24, 2024\",\"Formosa Interactive, an audio outsource studio that's worked on League of Legends, has been accused of trying to bypass rules of the ongoing voice actors' strike.\",{\"_807\":140,\"_808\":1286},[],\"sidebarModules\",[1289,1333,1341,1377],{\"_205\":1290,\"_1291\":1292,\"_1293\":1294,\"_1330\":1331},\"module_content_cards\",\"uid\",\"blt1fc59bb4e562c242\",\"data\",{\"_1295\":159,\"_229\":1296,\"_1297\":1298,\"_301\":1299,\"_787\":1300,\"_1322\":1323,\"_1324\":1323,\"_1325\":-7,\"_1326\":1327,\"_1328\":1329},\"isDynamicContent\",\"Latest News\",\"moduleLabel\",\"New Switch 2 Info\",\"column\",[1301,1310,1314],{\"_205\":1302,\"_1293\":1303},\"contentPreview\",{\"_289\":290,\"_301\":302,\"_269\":1304,\"_274\":275,\"_276\":275,\"_279\":280,\"_281\":280,\"_799\":1305,\"_282\":283,\"_284\":154,\"_285\":286,\"_287\":288,\"_291\":1306,\"_299\":300,\"_805\":1308},{\"_153\":271,\"_272\":273},{},[1307],{\"_174\":294,\"_295\":296,\"_297\":298},{\"_807\":140,\"_808\":1309},[],{\"_205\":1311,\"_1293\":1312},\"ad\",{\"_1313\":101},\"pos\",{\"_205\":1302,\"_1293\":1315},{\"_289\":290,\"_301\":302,\"_269\":1316,\"_274\":309,\"_276\":309,\"_279\":311,\"_281\":311,\"_799\":1317,\"_282\":312,\"_284\":154,\"_285\":313,\"_287\":314,\"_291\":1318,\"_299\":320,\"_805\":1320},{\"_153\":307,\"_272\":308},{},[1319],{\"_174\":317,\"_295\":318,\"_297\":319},{\"_807\":140,\"_808\":1321},[],\"dateDisplay\",\"show\",\"contributorDisplay\",\"displayAd\",\"settingOption\",\"dynamic\",\"moduleLocation\",\"sidebar\",\"adConfig\",{\"_1332\":159},\"nativeAdOption\",{\"_205\":1334,\"_1291\":1335,\"_1293\":1336},\"module_newsletter_promo\",\"blt5927fa665b4acf51\",{\"_229\":1337,\"_718\":1338,\"_775\":1335,\"_777\":778,\"_301\":1339,\"_779\":780,\"_1340\":140,\"_1328\":1329},\"Get daily news, dev blogs, and stories from Game Developer straight to your inbox\",\"Subscribe to Game Developer Newsletters to stay caught up with the latest news, design insights, marketing tips, and more\",\"horizontal\",\"isOnHomepage\",{\"_205\":1290,\"_1291\":1342,\"_1293\":1343,\"_1330\":1376},\"blt829b30bf540d67ab\",{\"_1295\":159,\"_229\":1344,\"_1297\":1345,\"_301\":1299,\"_787\":1346,\"_1322\":1323,\"_1324\":1323,\"_1325\":-7,\"_1326\":1327,\"_1328\":1329},\"Trending\",\"Trending Stories\",[1347,1355,1367],{\"_205\":1302,\"_1293\":1348},{\"_289\":290,\"_301\":302,\"_269\":1349,\"_274\":309,\"_276\":309,\"_279\":311,\"_281\":311,\"_799\":1350,\"_282\":312,\"_284\":154,\"_285\":313,\"_287\":314,\"_291\":1351,\"_299\":320,\"_805\":1353},{\"_153\":307,\"_272\":308},{},[1352],{\"_174\":317,\"_295\":318,\"_297\":319},{\"_807\":140,\"_808\":1354},[],{\"_205\":1302,\"_1293\":1356},{\"_289\":290,\"_301\":302,\"_269\":1357,\"_274\":1360,\"_276\":1360,\"_279\":260,\"_281\":260,\"_799\":1361,\"_282\":312,\"_284\":154,\"_285\":434,\"_287\":435,\"_291\":1362,\"_299\":1364,\"_805\":1365},{\"_153\":1358,\"_272\":1359},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt96842368ef633cc8/67edc0a58764f99e4f3612f4/switctch2camera.png\",\"A Nintendo Switch 2 with the Nintendo Switch 2 Camera.\",\"Nintendo Switch 2 shows Nintendo's strategy for an online social future\",{},[1363],{\"_174\":317,\"_295\":318,\"_297\":319},6,{\"_807\":140,\"_808\":1366},[],{\"_205\":1302,\"_1293\":1368},{\"_289\":290,\"_301\":302,\"_269\":1369,\"_274\":797,\"_276\":797,\"_279\":798,\"_281\":798,\"_799\":1370,\"_282\":801,\"_284\":154,\"_285\":425,\"_287\":426,\"_291\":1371,\"_299\":1373,\"_805\":1374},{\"_153\":791,\"_272\":792},{},[1372],{\"_174\":317,\"_295\":318,\"_297\":319},8,{\"_807\":140,\"_808\":1375},[],{\"_1332\":140},{\"_205\":1290,\"_1291\":1378,\"_1293\":1379,\"_1330\":1456},\"blt8c92597b7c5c40d7\",{\"_1295\":159,\"_229\":1380,\"_1297\":154,\"_301\":1381,\"_787\":1382,\"_1322\":1455,\"_1324\":1323,\"_1325\":-7,\"_1326\":1327,\"_1328\":1329},\"Top GDC25 Reads\",\"default\",[1383,1400,1414,1422,1430,1442],{\"_205\":1302,\"_1293\":1384},{\"_289\":290,\"_301\":1385,\"_269\":1386,\"_274\":1389,\"_276\":1389,\"_279\":1390,\"_281\":1390,\"_799\":1391,\"_282\":801,\"_284\":154,\"_285\":286,\"_287\":288,\"_291\":1392,\"_299\":1397,\"_805\":1398},\"card-horizontal\",{\"_153\":1387,\"_272\":1388},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt9b34daefc4ffcebd/67ec780ad6b1167fce322c11/half_life_alyx.jpg\",\"First person screen of Alyx holding her hands up from Half Life Alyx\",\"Behind the headlines at Valve's rocky start\",\"/business/behind-the-headlines-at-valve-s-rocky-start\",{},[1393],{\"_174\":1394,\"_295\":1395,\"_297\":1396},\"Laura Gray\",\"/author/laura-gray\",\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltd076df51f5d34b28/67d9f1f91bd61a50effe64d7/Profile.jpg\",5,{\"_807\":140,\"_808\":1399},[],{\"_205\":1302,\"_1293\":1401},{\"_289\":290,\"_301\":1385,\"_269\":1402,\"_274\":1405,\"_276\":1405,\"_279\":1406,\"_281\":1406,\"_799\":1407,\"_282\":801,\"_284\":154,\"_285\":313,\"_287\":314,\"_291\":1408,\"_299\":378,\"_805\":1412},{\"_153\":1403,\"_272\":1404},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/bltc89306170d9b4108/67ec6ffc61fddeedc25994ca/dredge_moody_near_sunset.jpg\",\"A fishing boat at sunset in the creepy world of Dredge\",\"Dredge wasn't originally going to be a narrative game, but then it became one of 2023's best\",\"/design/dredge-wasn-t-originally-going-to-be-a-narrative-game-but-then-it-became-one-of-2023-s-best\",{},[1409],{\"_174\":1410,\"_295\":1411,\"_297\":820},\"Aron Garst\",\"/author/aron-garst\",{\"_807\":140,\"_808\":1413},[],{\"_205\":1302,\"_1293\":1415},{\"_289\":290,\"_301\":1385,\"_269\":1416,\"_274\":797,\"_276\":797,\"_279\":798,\"_281\":798,\"_799\":1417,\"_282\":801,\"_284\":154,\"_285\":425,\"_287\":426,\"_291\":1418,\"_299\":1373,\"_805\":1420},{\"_153\":791,\"_272\":792},{},[1419],{\"_174\":317,\"_295\":318,\"_297\":319},{\"_807\":140,\"_808\":1421},[],{\"_205\":1302,\"_1293\":1423},{\"_289\":290,\"_301\":1385,\"_269\":1424,\"_274\":822,\"_276\":822,\"_279\":823,\"_281\":823,\"_799\":1425,\"_282\":825,\"_284\":154,\"_285\":425,\"_287\":426,\"_291\":1426,\"_299\":1364,\"_805\":1428},{\"_153\":814,\"_272\":815},{},[1427],{\"_174\":818,\"_295\":819,\"_297\":820},{\"_807\":140,\"_808\":1429},[],{\"_205\":1302,\"_1293\":1431},{\"_289\":290,\"_301\":1385,\"_269\":1432,\"_274\":1435,\"_276\":1435,\"_279\":1436,\"_281\":1436,\"_799\":1437,\"_282\":825,\"_284\":154,\"_285\":416,\"_287\":417,\"_291\":1438,\"_299\":1397,\"_805\":1440},{\"_153\":1433,\"_272\":1434},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt78ae7994c238df95/67eaf4aee56140820dddec13/store_home_share.jpg\",\"the Steam logo on a background of game cover images\",\"Want to know the best way to gain attention on Steam? Add a demo.\",\"/marketing/want-to-know-the-best-way-to-gain-attention-on-steam-add-a-demo-\",{},[1439],{\"_174\":1410,\"_295\":1411,\"_297\":820},{\"_807\":140,\"_808\":1441},[],{\"_205\":1302,\"_1293\":1443},{\"_289\":290,\"_301\":1385,\"_269\":1444,\"_274\":1447,\"_276\":1448,\"_279\":1449,\"_281\":1449,\"_799\":1450,\"_282\":825,\"_284\":154,\"_285\":421,\"_287\":422,\"_291\":1451,\"_299\":378,\"_805\":1453},{\"_153\":1445,\"_272\":1446},\"https://eu-images.contentstack.com/v3/assets/blt740a130ae3c5d529/blt48621f55217914fd/67eaa30e4fe16967865ebae6/eggypartyfeatured.png\",\"A player character from Net Ease.\",\"The key to Eggy Party's UGC success lies in recommendation system iteration\",\"The key to Eggy Party's UGC success lies in recommendation system iteration \",\"/production/the-key-to-eggy-party-s-ugc-success-lies-in-recommendation-system-iteration\",{},[1452],{\"_174\":1410,\"_295\":1411,\"_297\":820},{\"_807\":140,\"_808\":1454},[],\"hide\",{\"_1332\":140},\"metadata\",{\"_1291\":1459,\"_1460\":1461},\"bltd62cbbe07916d4d0\",\"aid\",\"351172\",\"schema\",[1464],{\"_1465\":1466,\"_1467\":1468,\"_1469\":1470},\"@context\",\"https://schema.org\",\"@type\",\"BreadcrumbList\",\"itemListElement\",[1471,1475],{\"_1467\":1472,\"_1473\":786,\"_174\":626,\"_1474\":10},\"ListItem\",\"position\",\"item\",{\"_1467\":1472,\"_1473\":300,\"_174\":425,\"_1474\":1476},\"https://www.gamedeveloper.com/audio\",\"seo\",{\"_1479\":1476,\"_1480\":1481,\"_1482\":1483,\"_1484\":140,\"_1485\":1486,\"_13\":14},\"canonicalUrl\",\"metaDescription\",\"Explore the latest news and expert commentary on Audio, brought to you by the editors of Game Developer\",\"metaTitle\",\"Audio recent news | Game Developer\",\"noIndex\",\"imageUrl\",\"https://www.gamedeveloper.com/assets/gamedeveloper-CAvl2PCb.ico\",\"topic\",\"pageName\",\"weatherWidgetConfig\",\"actionData\",\"errors\"]\n");</script><!--$?--><template id="B:1"></template><!--/$--></div><script>$RC=function(b,c,e){c=document.getElementById(c);c.parentNode.removeChild(c);var a=document.getElementById(b);if(a){b=a.previousSibling;if(e)b.data="$!",a.setAttribute("data-dgst",e);else{e=b.parentNode;a=b.nextSibling;var f=0;do{if(a&&8===a.nodeType){var d=a.data;if("/$"===d)if(0===f)break;else f--;else"$"!==d&&"$?"!==d&&"$!"!==d||f++}d=a.nextSibling;e.removeChild(a);a=d}while(a);for(;c.firstChild;)e.insertBefore(c.firstChild,a);b.data="$"}b._reactRetry&&b._reactRetry()}};$RC("B:0","S:0")</script><div hidden id="S:1"><script>window.__reactRouterContext.streamController.close();</script></div><script>$RC("B:1","S:1")</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10