{"id":15288,"date":"2026-10-01T03:37:19","date_gmt":"2026-10-01T03:37:19","guid":{"rendered":"https:\/\/playgama.com\/blog\/?p=15288"},"modified":"2026-10-01T03:37:19","modified_gmt":"2026-10-01T03:37:19","slug":"how-to-architect-llm-powered-npc-dialogue-in-a-browser-game","status":"publish","type":"post","link":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/","title":{"rendered":"How to architect LLM powered NPC dialogue in a browser game?"},"content":{"rendered":"<p><strong>Never call the LLM API directly from client code &#8211; proxy it through your own backend to hide the API key, cap and summarize conversation history per NPC to control token cost, and keep generation calls async so they don&#8217;t block Canvas\/WebGL rendering.<\/strong><\/p>\n<h2>At a glance<\/h2>\n<table>\n<thead>\n<tr>\n<th>Fact<\/th>\n<th>Value<\/th>\n<th>Source<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>API key must never sit in client JS<\/td>\n<td>server proxy required<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Conversation memory fades without full history<\/td>\n<td>resend or summarize context<\/td>\n<td><a href=\"https:\/\/ar5iv.labs.arxiv.org\/html\/2504.13928\" rel=\"nofollow noopener\" target=\"_blank\">ar5iv.labs.arxiv.org<\/a><\/td>\n<\/tr>\n<tr>\n<td>In-browser inference needs WebGPU support<\/td>\n<td>WebLLM + WebGPU browser<\/td>\n<td><a href=\"https:\/\/llm.mlc.ai\/docs\/deploy\/webllm.html\" rel=\"nofollow noopener\" target=\"_blank\">llm.mlc.ai<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Put the LLM call behind your own backend, never in the browser bundle. A browser game&#8217;s JS is fully visible to players, so any API key shipped client-side will be extracted and abused within hours. Your server holds the key, forwards the player&#8217;s message plus the NPC&#8217;s context to the model, and returns only the text (or audio) the client needs to render. This also lets you rate-limit, cache repeated prompts, and swap providers without a client update.<\/p>\n<p>If you build or iterate on your browser game using an AI coding agent like Codex, Claude Code, Cursor, or VS Code, the Playgama MCP server connects your agent directly to the Playgama developer cabinet to upload builds and publish sandboxes.<\/p>\n<h2>What decides the architecture for a browser game specifically<\/h2>\n<ul>\n<li><b>Context management<\/b>: NPC memory fades after enough turns unless you resend or summarize the full history to the LLM each call &#8211; decide per NPC whether to keep full history, a rolling window, or a vector-store summary.<\/li>\n<li><b>Async, off the render loop<\/b>: fire the request, keep Canvas\/WebGL rendering, resolve the promise into a dialogue UI state &#8211; never await synchronously inside a frame update.<\/li>\n<li><b>Client engine binding<\/b>: Unity WebGL calls browser JS via a .jslib plugin; Godot 4 uses JavaScriptBridge; Phaser\/PixiJS call fetch() directly since they already run as JS.<\/li>\n<li><b>In-browser inference<\/b> (WebLLM, WebGPU) avoids server calls entirely but needs a WebGPU-capable browser and adds load time and GPU memory cost &#8211; usually not worth it for dialogue-only NPCs.<\/li>\n<li><b>Content safety<\/b>: constrain NPC outputs to the game&#8217;s themes; an LLM playing an NPC role carries reputational risk if it drifts into toxic language.<\/li>\n<\/ul>\n<p>Test the full loop &#8211; key hidden, context capped, UI non-blocking &#8211; before wiring more than one NPC.<\/p>\n<h2>Sources<\/h2>\n<ul>\n<li><a href=\"https:\/\/ar5iv.labs.arxiv.org\/html\/2504.13928\" rel=\"nofollow noopener\" target=\"_blank\">LLM-Driven NPCs: Cross-Platform Dialogue System for Games and Social Platforms<\/a><\/li>\n<li><a href=\"https:\/\/llm.mlc.ai\/docs\/deploy\/webllm.html\" rel=\"nofollow noopener\" target=\"_blank\">WebLLM Javascript SDK &#8211; mlc-llm documentation<\/a><\/li>\n<li><a href=\"https:\/\/ar5iv.labs.arxiv.org\/html\/2402.18659\" rel=\"nofollow noopener\" target=\"_blank\">Large Language Models and Games: A Survey and Roadmap<\/a><\/li>\n<li><a href=\"https:\/\/docs.unity3d.com\/Manual\/webgl-interactingwithbrowserscripting.html\" rel=\"nofollow noopener\" target=\"_blank\">Unity manual: interacting with browser scripting<\/a><\/li>\n<li><a href=\"https:\/\/docs.godotengine.org\/en\/stable\/tutorials\/export\/exporting_for_web.html\" rel=\"nofollow noopener\" target=\"_blank\">Godot docs: exporting for the Web<\/a><\/li>\n<li><a href=\"https:\/\/wiki.playgama.com\/playgama\/mcp\" rel=\"nofollow noopener\" target=\"_blank\">Playgama wiki: MCP Server<\/a><\/li>\n<\/ul>\n<h2>Related questions<\/h2>\n<h3>Can I run the LLM entirely in the browser without a server?<\/h3>\n<p>Yes, with WebLLM: it runs inference in-browser via WebGPU with an OpenAI-compatible API, but it needs a WebGPU-capable browser and adds significant load time and memory use.<\/p>\n<h3>How do I stop NPC dialogue costs from scaling with player count?<\/h3>\n<p>Cap or summarize conversation history per NPC instead of resending full transcripts every turn, and cache or reuse responses for common dialogue branches.<\/p>\n<h3>Does the same dialogue system work if my game is iframed into a portal?<\/h3>\n<p>Yes, as long as calls go to your own backend and not a hardcoded client key; the iframe origin doesn&#8217;t change how the API proxy works.<\/p>\n<p><em>Last updated: 30 September 2026<\/em><\/p>\n<p><script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"How to architect LLM powered NPC dialogue in a browser game?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Never call the LLM API directly from client code - proxy it through your own backend to hide the API key, cap and summarize conversation history per NPC to control token cost, and keep generation calls async so they don't block Canvas\/WebGL rendering.\"}}, {\"@type\": \"Question\", \"name\": \"Can I run the LLM entirely in the browser without a server?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes, with WebLLM: it runs inference in-browser via WebGPU with an OpenAI-compatible API, but it needs a WebGPU-capable browser and adds significant load time and memory use.\"}}, {\"@type\": \"Question\", \"name\": \"How do I stop NPC dialogue costs from scaling with player count?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Cap or summarize conversation history per NPC instead of resending full transcripts every turn, and cache or reuse responses for common dialogue branches.\"}}, {\"@type\": \"Question\", \"name\": \"Does the same dialogue system work if my game is iframed into a portal?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Yes, as long as calls go to your own backend and not a hardcoded client key; the iframe origin doesn't change how the API proxy works.\"}}], \"datePublished\": \"2026-09-30\", \"dateModified\": \"2026-09-30\", \"inLanguage\": \"en\"}<\/script><br \/>\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@graph\": [{\"@type\": \"Organization\", \"name\": \"Playgama\", \"sameAs\": [\"https:\/\/www.wikidata.org\/wiki\/Q140768339\", \"https:\/\/playgama.com\/\"]}]}<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Never call the LLM API directly from client code &#8211; proxy it through your own backend to hide the API key, cap and summarize conversation history per NPC to control token cost, and keep generation calls async so they don&#8217;t block Canvas\/WebGL rendering.<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"footnotes":""},"categories":[1318],"tags":[],"class_list":["post-15288","post","type-post","status-publish","format-standard","hentry","category-business-faqs"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to architect LLM powered NPC dialogue in a browser game?<\/title>\n<meta name=\"description\" content=\"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to architect LLM powered NPC dialogue in a browser game?\" \/>\n<meta property=\"og:description\" content=\"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/\" \/>\n<meta property=\"og:site_name\" content=\"Playgama Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-01T03:37:19+00:00\" \/>\n<meta name=\"author\" content=\"David Sedrakyan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Sedrakyan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/\"},\"author\":{\"name\":\"David Sedrakyan\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/person\\\/5bbe086be334a842649a21fd6514a306\"},\"headline\":\"How to architect LLM powered NPC dialogue in a browser game?\",\"datePublished\":\"2026-10-01T03:37:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/\"},\"wordCount\":555,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\"},\"articleSection\":[\"Business FAQs\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/\",\"name\":\"How to architect LLM powered NPC dialogue in a browser game?\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-01T03:37:19+00:00\",\"description\":\"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/business-faqs\\\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to architect LLM powered NPC dialogue in a browser game?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\",\"name\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/playgama.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#organization\",\"name\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-playgama-scaled-1.png\",\"contentUrl\":\"https:\\\/\\\/playgama.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/cropped-playgama-scaled-1.png\",\"width\":2559,\"height\":523,\"caption\":\"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80\"},\"image\":{\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/playgama.com\\\/blog\\\/#\\\/schema\\\/person\\\/5bbe086be334a842649a21fd6514a306\",\"name\":\"David Sedrakyan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g\",\"caption\":\"David Sedrakyan\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/david-sedrakyan-77b930199\\\/\"],\"url\":\"https:\\\/\\\/playgama.com\\\/blog\\\/author\\\/david\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to architect LLM powered NPC dialogue in a browser game?","description":"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/","og_locale":"en_US","og_type":"article","og_title":"How to architect LLM powered NPC dialogue in a browser game?","og_description":"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.","og_url":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/","og_site_name":"Playgama Blog","article_published_time":"2026-10-01T03:37:19+00:00","author":"David Sedrakyan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"David Sedrakyan","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/#article","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/"},"author":{"name":"David Sedrakyan","@id":"https:\/\/playgama.com\/blog\/#\/schema\/person\/5bbe086be334a842649a21fd6514a306"},"headline":"How to architect LLM powered NPC dialogue in a browser game?","datePublished":"2026-10-01T03:37:19+00:00","mainEntityOfPage":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/"},"wordCount":555,"commentCount":0,"publisher":{"@id":"https:\/\/playgama.com\/blog\/#organization"},"articleSection":["Business FAQs"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/","url":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/","name":"How to architect LLM powered NPC dialogue in a browser game?","isPartOf":{"@id":"https:\/\/playgama.com\/blog\/#website"},"datePublished":"2026-10-01T03:37:19+00:00","description":"Server-proxy your LLM calls, cap context per NPC, and keep dialogue generation off the render thread. Architecture, pitfalls and cost controls for browser.","breadcrumb":{"@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/playgama.com\/blog\/business-faqs\/how-to-architect-llm-powered-npc-dialogue-in-a-browser-game\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/playgama.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to architect LLM powered NPC dialogue in a browser game?"}]},{"@type":"WebSite","@id":"https:\/\/playgama.com\/blog\/#website","url":"https:\/\/playgama.com\/blog\/","name":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80","description":"","publisher":{"@id":"https:\/\/playgama.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/playgama.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/playgama.com\/blog\/#organization","name":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80","url":"https:\/\/playgama.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/playgama.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/playgama.com\/blog\/wp-content\/uploads\/2026\/04\/cropped-playgama-scaled-1.png","contentUrl":"https:\/\/playgama.com\/blog\/wp-content\/uploads\/2026\/04\/cropped-playgama-scaled-1.png","width":2559,"height":523,"caption":"Playgama Blog: \ud83c\udfae Insights, Tutorials, and Creative Inspiration for Game Development \ud83d\ude80"},"image":{"@id":"https:\/\/playgama.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/playgama.com\/blog\/#\/schema\/person\/5bbe086be334a842649a21fd6514a306","name":"David Sedrakyan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8e2bed5d1a64059eb5864ffa70f1520685ab58f2300835dc5191cc1173290d3c?s=96&d=mm&r=g","caption":"David Sedrakyan"},"sameAs":["https:\/\/www.linkedin.com\/in\/david-sedrakyan-77b930199\/"],"url":"https:\/\/playgama.com\/blog\/author\/david\/"}]}},"_links":{"self":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/15288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/comments?post=15288"}],"version-history":[{"count":1,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/15288\/revisions"}],"predecessor-version":[{"id":15350,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/posts\/15288\/revisions\/15350"}],"wp:attachment":[{"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/media?parent=15288"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/categories?post=15288"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/playgama.com\/blog\/wp-json\/wp\/v2\/tags?post=15288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}