1:"$Sreact.fragment" 2:I[407,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js"],"ScrollProgress"] 3:I[84044,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js"],"Navigation"] 4:I[39756,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"default"] 5:I[58298,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js","/_next/static/chunks/4aee8ad9a1702bd4.js"],"default"] 6:I[37457,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"default"] 7:I[22016,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js"],""] 8:I[58234,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js"],"Footer"] a:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"OutletBoundary"] b:"$Sreact.suspense" d:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"ViewportBoundary"] f:I[97367,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"MetadataBoundary"] 11:I[68027,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"default"] :HL["/_next/static/chunks/057127b9f96c93d2.css","style"] :HL["/_next/static/media/0c89a48fa5027cee-s.p.4564287c.woff2","font",{"crossOrigin":"","type":"font/woff2"}] :HL["/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2","font",{"crossOrigin":"","type":"font/woff2"}] 0:{"P":null,"b":"MVqSVhm4Bqmmy1ZQoCIl9","c":["","blog","game-art-optimization-quality-without-compromise"],"q":"","i":false,"f":[[["",{"children":["blog",{"children":[["slug","game-art-optimization-quality-without-compromise","d"],{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/chunks/057127b9f96c93d2.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","script","script-0",{"src":"/_next/static/chunks/23c8bba8f5cc5395.js","async":true,"nonce":"$undefined"}],["$","script","script-1",{"src":"/_next/static/chunks/f96a0f45c0445e01.js","async":true,"nonce":"$undefined"}],["$","script","script-2",{"src":"/_next/static/chunks/23a200f2eabec04f.js","async":true,"nonce":"$undefined"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"className":"inter_55d1c9e7-module__kg5hvG__variable space_grotesk_a5caa684-module__Tm4D0a__variable","children":["$","body",null,{"suppressHydrationWarning":true,"children":[["$","$L2",null,{}],["$","$L3",null,{}],["$","div",null,{"className":"min-h-screen flex flex-col","children":["$","$L4",null,{"parallelRouterKey":"children","error":"$5","errorStyles":[],"errorScripts":[["$","script","script-0",{"src":"/_next/static/chunks/4aee8ad9a1702bd4.js","async":true}]],"template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","div",null,{"className":"fixed inset-0 z-50 flex items-center justify-center bg-bg-primary","children":["$","div",null,{"className":"text-center max-w-md px-6","children":[["$","div",null,{"className":"mb-8","children":[["$","h1",null,{"className":"font-display text-9xl md:text-[120px] font-black text-accent-primary leading-none mb-4","children":"404"}],["$","div",null,{"className":"h-px w-12 bg-accent-primary/40 mx-auto"}]]}],["$","h2",null,{"className":"text-2xl md:text-3xl font-bold text-fg-primary mb-4","children":"Page Not Found"}],["$","p",null,{"className":"text-fg-secondary font-light mb-8 leading-relaxed","children":"The page you're looking for doesn't exist. Let's get you back on track."}],["$","div",null,{"className":"flex items-center gap-3 justify-center","children":[["$","$L7",null,{"href":"/","className":"px-6 py-3 rounded-lg bg-accent-primary hover:bg-accent-primary/90 text-bg-primary font-semibold transition-all duration-300 hover:shadow-lg hover:shadow-accent-primary/40","children":"Go Home"}],["$","$L7",null,{"href":"/contact","className":"px-6 py-3 rounded-lg border border-accent-primary/50 text-accent-primary hover:bg-accent-primary/10 font-semibold transition-all duration-300","children":"Contact Me"}]]}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}],["$","$L8",null,{}]]}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L6",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":["$L9",[["$","script","script-0",{"src":"/_next/static/chunks/7f524f6f1d7fa58d.js","async":true,"nonce":"$undefined"}]],["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,false]},null,false,false]},null,false,false]},[["$","div","l",{"className":"min-h-screen flex items-center justify-center","children":["$","div",null,{"className":"flex flex-col items-center gap-4","children":[["$","div",null,{"className":"w-12 h-12 border-2 border-accent-cyan border-t-transparent rounded-full animate-spin"}],["$","p",null,{"className":"text-fg-secondary","children":"Loading..."}]]}]}],[],[]],false,false],["$","$1","h",{"children":[null,["$","$Ld",null,{"children":"$Le"}],["$","div",null,{"hidden":true,"children":["$","$Lf",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L10"}]}]}],["$","meta",null,{"name":"next-size-adjust","content":""}]]}],false]],"m":"$undefined","G":["$11",[]],"S":true} 12:I[11586,["/_next/static/chunks/23c8bba8f5cc5395.js","/_next/static/chunks/f96a0f45c0445e01.js","/_next/static/chunks/23a200f2eabec04f.js","/_next/static/chunks/7f524f6f1d7fa58d.js"],"BlogPost"] 9:["$","$L12",null,{"post":{"id":"2","slug":"game-art-optimization-quality-without-compromise","title":"Game Art Optimization: Quality Without Compromise","excerpt":"Discover techniques to optimize game assets without sacrificing visual quality. Perfect for indie developers and studios.","category":"Game Development","date":"2026-02-24","readTime":6,"tags":["Optimization","Game Art","Performance","Pipeline"],"body":[{"heading":"The Real Cost of Unoptimized Assets","content":"Performance in games is not just a technical concern — it is a design principle. Every unoptimized mesh, every oversized texture, every redundant draw call contributes to frame drops that pull players out of the experience. In mobile and web contexts, the stakes are even higher. Understanding optimization is not about cutting corners; it is about delivering the maximum visual impact within a fixed computational budget."},{"heading":"Polygon Budget and LOD Strategy","content":"Every game has a polygon budget — an implicit cap on geometry complexity the target hardware can handle at the desired frame rate. High-priority assets like player characters earn more of that budget. Background props earn less. Level of Detail (LOD) systems intelligently swap high-poly meshes for simpler versions as the camera distance increases. Designing your LOD chain from the beginning, rather than retroactively creating lower-poly versions, saves significant production time."},{"heading":"Texture Atlasing and Channel Packing","content":"Each unique texture applied to a mesh triggers a draw call. Atlasing — combining multiple textures onto a single sheet — drastically reduces draw call counts for complex scenes. Channel packing goes further: greyscale maps like roughness, metallic, and ambient occlusion can be stored in the R, G, and B channels of a single texture, cutting texture memory usage by two-thirds. These techniques are standard practice in AAA pipelines and accessible to any team willing to invest in proper asset pipeline tooling."},{"heading":"Normal Maps: The High-Poly Illusion","content":"Normal mapping is the foundational technique for delivering high-poly surface detail on low-poly geometry. By baking the lighting normals from a dense sculpt onto a flat texture, you capture the visual complexity of millions of polygons in a mesh that renders in milliseconds. Understanding the relationship between your high-poly sculpt, low-poly game mesh, and the baking process is fundamental knowledge for any game artist operating at a professional level."}]}}] e:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1, maximum-scale=5"}],["$","meta","2",{"name":"color-scheme","content":"dark"}]] 13:I[27201,["/_next/static/chunks/ff1a16fafef87110.js","/_next/static/chunks/d2be314c3ece3fbe.js"],"IconMark"] c:null 10:[["$","title","0",{"children":"Game Art Optimization: Quality Without Compromise - Protik Ahmed"}],["$","meta","1",{"name":"description","content":"Discover techniques to optimize game assets without sacrificing visual quality. Perfect for indie developers and studios."}],["$","meta","2",{"property":"og:title","content":"Game Art Optimization: Quality Without Compromise"}],["$","meta","3",{"property":"og:description","content":"Discover techniques to optimize game assets without sacrificing visual quality. Perfect for indie developers and studios."}],["$","meta","4",{"property":"og:type","content":"article"}],["$","meta","5",{"name":"twitter:card","content":"summary"}],["$","meta","6",{"name":"twitter:title","content":"Game Art Optimization: Quality Without Compromise"}],["$","meta","7",{"name":"twitter:description","content":"Discover techniques to optimize game assets without sacrificing visual quality. Perfect for indie developers and studios."}],["$","link","8",{"rel":"icon","href":"/protik.png"}],["$","$L13","9",{}]]