PageSourceSearch

https://www.gbstudio.dev/de/assets/js/c4f5d8e4.08a922a5.js

js gbstudio.dev collected 2026-10-02 05:37:07 UTC 16,566 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkgb_studio_docs=self.webpackChunkgb_studio_docs||[]).push([[4195],{5162:(e,s,n)=>{n.d(s,{Z:()=>a});n(7294);var t=n(512);const r={gbscentral:"gbscentral_IX3o",fade:"fade_WP_U",site:"site_JruN",magazine:"magazine_aaiz",button:"button_jMkZ"};var i=n(4996),o=n(5893);function a(){return(0,o.jsx)("section",{className:r.gbscentral,children:(0,o.jsx)("div",{className:r.fade,children:(0,o.jsx)("div",{className:"container",children:(0,o.jsxs)("div",{className:"row",children:[(0,o.jsxs)("div",{className:(0,t.Z)(r.site,"col col--6"),children:[(0,o.jsxs)("h3",{children:["Tutorials, Reviews and",(0,o.jsx)("br",{}),"All Things ",(0,o.jsx)("span",{className:"no-wrap",children:"GB Studio"}),"!"]}),(0,o.jsx)("a",{className:r.logo,href:"https://gbstudiocentral.com/",children:(0,o.jsx)("img",{src:(0,i.Z)("/img/home/gbscentral_logo.png"),alt:"GB Studio Central"})}),(0,o.jsx)("a",{className:r.button,href:"https://gbstudiocentral.com/",children:"GB Studio Central"})]}),(0,o.jsxs)("div",{className:(0,t.Z)(r.magazine,"col col--6"),children:[(0,o.jsxs)("h3",{children:["Now Available in",(0,o.jsx)("br",{}),"Magazine Form!"]}),(0,o.jsx)("a",{className:r.logo,href:"https://magazine.gbstudiocentral.com",children:(0,o.jsx)("img",{src:(0,i.Z)("/img/home/gbsmagazine.png"),alt:"GB Studio Magazine"})}),(0,o.jsx)("a",{className:r.button,href:"https://magazine.gbstudiocentral.com",children:"Subscribe"})]})]})})})})}},7121:(e,s,n)=>{n.d(s,{Z:()=>o});n(7294);const t={itch:"itch_lT0T",button:"button_HZ7N",buttonWhite:"buttonWhite_GjN1",gradient:"gradient_MzCw"};var r=n(4996),i=n(5893);function o(){return(0,i.jsx)("section",{className:t.itch,children:(0,i.jsx)("div",{className:"container",children:(0,i.jsxs)("div",{className:"row",children:[(0,i.jsxs)("div",{className:"col col--6",children:[(0,i.jsxs)("h3",{children:["Over 1000 Games Made With"," ",(0,i.jsx)("span",{className:"no-wrap",children:"GB Studio"})]}),(0,i.jsxs)("p",{children:["From ",(0,i.jsx)("strong",{children:"weekend hackathons"})," and"," ",(0,i.jsx)("strong",{children:"parents teaching"})," their kids to code, to"," ",(0,i.jsx)("strong",{children:"professional games"})," with"," ",(0,i.jsx)("strong",{children:"physical releases"}),", join a community of thousands of people who are making their dream games a reality!"]}),(0,i.jsxs)("p",{children:["Even"," ",(0,i.jsx)("a",{href:"https://gbstudiocentral.com/news/mcdonalds-celebrates-grimaces-birthday-with-a-gb-studio-game/",children:"McDonalds"})," ","and"," ",(0,i.jsx)("a",{href:"https://gbstudiocentral.com/news/nike-promotes-an-air-jordan-release-with-cosmic-climb/",children:"Nike"})," ","have made their own games!"]}),(0,i.jsx)("a",{className:t.button,href:"https://itch.io/games/made-with-gb-studio",children:"Play on Itch.io"}),(0,i.jsx)("a",{className:t.buttonWhite,href:"https://chrismaltby.itch.io/gb-studio",children:"Make Your Game"})]}),(0,i.jsx)("div",{className:"col col--6",children:(0,i.jsx)("div",{className:t.gradient,children:(0,i.jsx)("img",{src:(0,r.Z)("/img/home/madewith.jpg"),alt:"Made With GB Studio"})})})]})})})}},4704:(e,s,n)=>{n.d(s,{e:()=>o});n(7294);var t=n(512);const r={social:"social_aI7h",socialContent:"socialContent_AhLP"};var i=n(5893);const o=()=>(0,i.jsx)("section",{className:(0,t.Z)("home--social",r.social),children:(0,i.jsx)("div",{className:"container",children:(0,i.jsxs)("div",{className:r.socialContent,children:[(0,i.jsxs)("div",{className:r.socialIcons,children:[(0,i.jsx)("a",{href:"https://discord.gg/bxerKnc",children:(0,i.jsx)("svg",{width:"24",height:"24",xmlns:"http://www.w3.org/2000/svg",fillRule:"evenodd",clipRule:"evenodd",viewBox:"0 0 24 24",children:(0,i.jsx)("path",{d:"M19.54 0c1.356 0 2.46 1.104 2.46 2.472v21.528l-2.58-2.28-1.452-1.344-1.536-1.428.636 2.22h-13.608c-1.356 0-2.46-1.104-2.46-2.472v-16.224c0-1.368 1.104-2.472 2.46-2.472h16.08zm-4.632 15.672c2.652-.084 3.672-1.824 3.672-1.824 0-3.864-1.728-6.996-1.728-6.996-1.728-1.296-3.372-1.26-3.372-1.26l-.168.192c2.04.624 2.988 1.524 2.988 1.524-1.248-.684-2.472-1.02-3.612-1.152-.864-.096-1.692-.072-2.424.024l-.204.024c-.42.036-1.44.192-2.724.756-.444.204-.708.348-.708.348s.996-.948 3.156-1.572l-.12-.144s-1.644-.036-3.372 1.26c0 0-1.728 3.132-1.728 6.996 0 0 1.008 1.74 3.66 1.824 0 0 .444-.54.804-.996-1.524-.456-2.1-1.416-2.1-1.416l.336.204.048.036.047.027.014.006.047.027c.3.168.6.3.876.408.492.192 1.08.384 1.764.516.9.168 1.956.228 3.108.012.564-.096 1.14-.264 1.74-.516.42-.156.888-.384 1.38-.708 0 0-.6.984-2.172 1.428.36.456.792.972.792.972zm-5.58-5.604c-.684 0-1.224.6-1.224 1.332 0 .732.552 1.332 1.224 1.332.684 0 1.224-.6 1.224-1.332.012-.732-.54-1.332-1.224-1.332zm4.38 0c-.684 0-1.224.6-1.224 1.332 0 .732.552 1.332 1.224 1.332.684 0 1.224-.6 1.224-1.332 0-.732-.54-1.332-1.224-1.332z"})})}),(0,i.jsx)("a",{href:"https://www.reddit.com/r/gbstudio",children:(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",children:(0,i.jsx)("path",{d:"M14.238 15.348c.085.084.085.221 0 .306-.465.462-1.194.687-2.231.687l-.008-.002-.008.002c-1.036 0-1.766-.225-2.231-.688-.085-.084-.085-.221 0-.305.084-.084.222-.084.307 0 .379.377 1.008.561 1.924.561l.008.002.008-.002c.915 0 1.544-.184 1.924-.561.085-.084.223-.084.307 0zm-3.44-2.418c0-.507-.414-.919-.922-.919-.509 0-.923.412-.923.919 0 .506.414.918.923.918.508.001.922-.411.922-.918zm13.202-.93c0 6.627-5.373 12-12 12s-12-5.373-12-12 5.373-12 12-12 12 5.373 12 12zm-5-.129c0-.851-.695-1.543-1.55-1.543-.417 0-.795.167-1.074.435-1.056-.695-2.485-1.137-4.066-1.194l.865-2.724 2.343.549-.003.034c0 .696.569 1.262 1.268 1.262.699 0 1.267-.566 1.267-1.262s-.568-1.262-1.267-1.262c-.537 0-.994.335-1.179.804l-2.525-.592c-.11-.027-.223.037-.257.145l-.965 3.038c-1.656.02-3.155.466-4.258 1.181-.277-.255-.644-.415-1.05-.415-.854.001-1.549.693-1.549 1.544 0 .566.311 1.056.768 1.325-.03.164-.05.331-.05.5 0 2.281 2.805 4.137 6.253 4.137s6.253-1.856 6.253-4.137c0-.16-.017-.317-.044-.472.486-.261.82-.766.82-1.353zm-4.872.141c-.509 0-.922.412-.922.919 0 .506.414.918.922.918s.922-.412.922-.918c0-.507-.413-.919-.922-.919z"})})}),(0,i.jsx)("a",{href:"https://www.patreon.com/gbstudiodev",children:(0,i.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",children:(0,i.jsx)("path",{d:"M22.9132 7.21C22.909 4.14558 20.5224 
11.63404 17.7222 0.727831C14.2449 -0.397493 9.65869 -0.234383 6.33828 1.33227C2.31387 3.23136 1.04966 7.39133 1.00254 11.5402C0.963878 14.9513 1.30432 23.9354 6.37183 23.9994C10.1371 24.0472 10.6978 19.1954 12.44 16.8588C13.6795 15.1964 15.2755 14.7268 17.2402 14.2406C20.6168 13.4048 22.9181 10.74 22.9132 7.21Z"})})})]}),(0,i.jsxs)("div",{children:["Chat with the community on our"," ",(0,i.jsx)("a",{href:"https://discord.gg/bxerKnc",children:"Discord channel"})," and"," ",(0,i.jsx)("a",{href:"https://www.reddit.com/r/gbstudio",children:"Reddit"}),". You can support development at"," ",(0,i.jsx)("a",{href:"https://www.patreon.com/gbstudiodev",children:"Patreon"}),"."]})]})})})},9208:(e,s,n)=>{n.r(s),n.d(s,{default:()=>A});var t=n(7294),r=n(512),i=n(3692),o=n(2263),a=n(8862);const c={features:"features_t9lD",featureSvg:"featureSvg_GfXr",cardFullHeight:"cardFullHeight_hKia",cardImage:"cardImage_Kmhq"};var l=n(6249),h=n(5644),d=(n(4886),n(2389)),m=n(4996),g=n(5893);const u=[{title:"Easy to Use",macImg:"/img/home/screenshot_mac_1_v4_thumb.png",winImg:"/img/home/screenshot_win_1_v4_thumb.png",description:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("p",{children:[(0,g.jsx)("strong",{children:"Drag and drop"})," game creator with simple, no programming knowledge required, ",(0,g.jsx)("strong",{children:"visual scripting"}),"."]}),(0,g.jsxs)("p",{children:["If your game starts to get complex there's even a built in"," ",(0,g.jsx)("strong",{children:"debugger"}),"."]})]})},{title:"Multiple Game Types",macImg:"/img/home/screenshot_mac_2_v4_thumb.png",winImg:"/img/home/screenshot_win_2_v4_thumb.png",description:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("p",{children:["Make ",(0,g.jsx)("strong",{children:"top down"})," games, ",(0,g.jsx)("strong",{children:"platform"})," games,"," ",(0,g.jsx)("strong",{children:"shooters"})," and more!"]}),(0,g.jsxs)("p",{children:["You can mix types in a single game and even"," ",(0,g.jsx)("strong",{children:"write your own"})," by extending the engine."]})]})},{title:"Write Music",macImg:"/img/home/screenshot_mac_3_v4_thumb.png",winImg:"/img/home/screenshot_win_3_v4_thumb.png",description:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("p",{children:["Inbuilt editor makes writing music easy. With both"," ",(0,g.jsx)("strong",{children:"piano roll"})," and ",(0,g.jsx)("strong",{children:"tracker"})," modes."]}),(0,g.jsxs)("p",{children:["Also supports using external apps like"," ",(0,g.jsx)("a",{href:"https://nickfa.ro/wiki/hUGETracker",children:"hUGETracker"}),"."]})]})},{title:"Build ROMs",macImg:"/img/home/screenshot_mac_4_v4_thumb.png",winImg:"/img/home/screenshot_win_4_v4_thumb.png",description:(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)("p",{children:["Create ",(0,g.jsx)("strong",{children:"real ROM files"})," and play on any GB emulator."," "]}),(0,g.jsxs)("p",{children:[(0,g.jsx)("b",{children:"Export for web"})," with great mobile controls, upload to"," ",(0,g.jsx)("a",{href:"https://itch.io/games/made-with-gb-studio",children:"Itch.io"})," and share your game with the world."]})]})}];function p(e){let{winImg:s,macImg:n,title:t,description:i,onOpen:o,imgPlatform:a}=e;return(0,g.jsx)("div",{className:(0,r.Z)("col col--3 margin-bottom--md"),children:(0,g.jsxs)("div",{className:(0,r.Z)("card",c.cardFullHeight),children:["unknown"!==a&&(0,g.jsx)("div",{className:c.cardImage,children:(0,g.jsx)("img",{src:(0,m.Z)("mac"===a?n:s),alt:t,onClick:o})}),(0,g.jsx)("div",{className:"card__header",children:(0,g.jsx)("h3",{children:t})}),(0,g.jsx)("div",{className:"card__body",children:i})]})})}function x(){const[e,s]=t.useState(-1),n=(0,d.Z)(),r=[{src:(0,m.Z)("/img/home/screenshot_mac_1_v4.png")},{src:(0,m.Z)("/img/home/screenshot_mac_2_v4.png")},{src:(0,m.Z)("/img/home/screenshot_mac_3_v4.png")},{src:(0,m.Z)("/img/home/screenshot_mac_4_v4.png")}],i=[{src:(0,m.Z)("/img/home/screenshot_win_1_v4.png")},{src:(0,m.Z)("/img/home/screenshot_win_2_v4.png")},{src:(0,m.Z)("/img/home/screenshot_win_3_v4.png")},{src:(0,m.Z)("/img/home/screenshot_win_4_v4.png")}];let o="unknown";if(n){const e=navigator?.userAgentData?.platform||navigator?.platform||"unknown";o=e.indexOf("iP")>-1||e.toLowerCase().indexOf("mac")>-1?"mac":"win"}return(0,g.jsxs)("section",{className:c.features,children:[(0,g.jsx)("div",{className:"container",children:(0,g.jsx)("div",{className:"row",children:u.map(((e,n)=>(0,g.jsx)(p,{...e,onOpen:()=>s(n),imgPlatform:o},n)))})}),"unknown"!==o&&(0,g.jsx)(l.ZP,{open:e>=0,index:e,close:()=>s(-1),slides:"mac"===o?r:i,plugins:[h.Z]})]})}var j=n(9477),w=n(9270),v=n(5029),_=n(7011),b=n(2001),f=n(9637),y=n(105),N=n(9965);let Z=!0;try{var k=document.createElement("canvas");Z=!!window.WebGLRenderingContext&&(k.getContext("webgl")||k.getContext("experimental-webgl"))}catch(E){Z=!1}y.Z.install({THREE:j});const M=e=>Math.max(0,Math.min(1,e));function C(e){let{pos:s=new j.Vector3,look:n=new j.Vector3,lookAt:t,destPosition:r}=e;return(0,w.C)(((e,i)=>{s.set(r[0],r[1],r[2]),n.set(t[0],t[1],t[2]),e.camera.position.lerp(s,.05),e.camera.updateProjectionMatrix(),e.camera.lookAt(n)}))}function I(e){const s=e.colorMode,n=e.isCelebrating,r=e.onCelebratingComplete,i=(0,t.useRef)(),o=(0,t.useRef)(!1),a=(0,t.useRef)(null),c=(0,t.useRef)(0),l=(0,t.useRef)(new j.Vector3),h=(0,t.useRef)(new j.Vector3(1,1,1));(0,w.C)((e=>{if(i.current&&(n!==o.current&&(o.current=n,n&&(c.current=i.current.rotation.z,l.current.copy(i.current.position),h.current.copy(i.current.scale),a.current=e.clock.getElapsedTime())),n)){const s=e.clock.getElapsedTime()-a.current;if(s>=1.1)return i.current.rotation.z=c.current,i.current.position.copy(l.current),i.current.scale.copy(h.current),a.current=null,void r();const n=s/1.1,t=(e=>e<.5?4*e*e*e:1-Math.pow(-2*e+2,3)/2)(n),o=Math.sin(n*Math.PI),d=2*Math.PI;i.current.rotation.z=c.current+-d*t;const m=.9,g=.18,u=.18;i.current.position.z=l.current.z-m*o,i.current.position.y=l.current.y+Math.sin(n*Math.PI)*u*.5;const p=1-g*o;i.current.scale.set(h.current.x*p,h.current.y*p,h.current.z*p)}}));const d=(0,m.Z)("/img/hero/logo_420b.obj"),u=(0,m.Z)("dark"===s?"/img/hero/app_icon_dark.jpg":"/img/hero/app_icon.jpg"),p=(0,m.Z)("/img/hero/normals_420_512.png"),x=(0,m.Z)("/img/hero/roughness_420.png"),v=(0,m.Z)("/img/hero/glow3.png"),y=(0,m.Z)("/img/hero/gameplay-loop_small.mp4"),N=(0,w.F)(_.L,d),Z=(0,w.F)(b.d,u),k=(0,w.F)(b.d,p),M=(0,w.F)(b.d,x),C=(0,w.F)(b.d,v);
1Z.colorSpace=j.SRGBColorSpace;const[I]=(0,t.useState)((()=>{const e=document.createElement("video");return e.src=y,e.crossOrigin="Anonymous",e.loop=!0,e.muted=!0,e.playsInline=!0,e.play(),e})),z=(0,t.useMemo)((()=>{let e;return N.traverse((s=>{if("Mesh"===s.type){e=s.geometry}})),e}),[N]);return(0,g.jsxs)("group",{ref:i,...e,children:[(0,g.jsxs)("group",{rotation:[.5*Math.PI,0,0],children:[(0,g.jsx)("mesh",{geometry:z,scale:1,children:(0,g.jsx)("meshStandardMaterial",{map:Z,normalMap:k,roughnessMap:M,roughness:.7,normalScale:.3})}),(0,g.jsxs)("mesh",{rotation:[.5*-Math.PI,0,0],position:[0,.55,-.26],children:[(0,g.jsx)("planeGeometry",{args:[2.05,1.8449999999999998]}),(0,g.jsx)("meshStandardMaterial",{roughness:.2,depthTest:!1,depthWrite:!1,children:(0,g.jsx)("videoTexture",{attach:"map",args:[I]})})]})]}),(0,g.jsx)(f.V,{position:[-1.4,.57,.56],follow:!0,lockX:!1,lockY:!1,lockZ:!1,children:(0,g.jsxs)("mesh",{children:[(0,g.jsx)("planeGeometry",{args:[.6,.6]}),(0,g.jsx)("meshBasicMaterial",{map:C,polygonOffset:!0,polygonOffsetFactor:-500,depthTest:!1,depthWrite:!1,blending:j.CustomBlending,blendSrc:j.SrcAlphaFactor,blendDst:j.OneFactor})]})})]})}const z=[-3,-2,9],S=e=>{let{colorMode:s}=e;const[n,r]=(0,t.useState)(z),[i,o]=(0,t.useState)(!1),a=(0,t.useCallback)((()=>{i||o(!0)}),[i]),c=(0,t.useCallback)((()=>{o(!1)}),[]),l=(0,t.useCallback)((e=>{if(i)return;const s=.3+-1.3*M(e.touches[0].pageX/window.innerWidth);r([10*Math.sin(s),8*M(e.touches[0].pageY/window.innerHeight)-2,10*Math.cos(s)])}),[i]);(0,t.useEffect)((()=>{const e=e=>{if(i)return;if(e.pageX>=window.innerWidth-50)return void r(z);const s=.6+-1.3*M(e.pageX/window.innerWidth);r([10*Math.sin(s),8*M(e.pageY/window.innerHeight)-2,10*Math.cos(s)])};return window.addEventListener("mousemove",e),()=>{window.removeEventListener("mousemove",e)}}),[i]);const h=(0,g.jsx)(N.Z,{sources:{light:(0,m.Z)("/img/hero/fallback.png"),dark:(0,m.Z)("/img/hero/fallback-dark.png")}});return Z?(0,g.jsx)(t.Suspense,{fallback:h,r3f:!0,children:(0,g.jsxs)(v.Xz,{camera:{fov:32,near:.1,far:1e3,position:z},onTouchMove:l,onPointerDown:a,children:[(0,g.jsx)("ambientLight",{intensity:.9}),(0,g.jsx)("pointLight",{position:[-5,2,-10],intensity:1.2,decay:.01}),(0,g.jsx)("pointLight",{position:[3,2.2,3],intensity:4,decay:1e-6}),(0,g.jsx)(I,{colorMode:s,isCelebrating:i,onCelebratingComplete:c}),(0,g.jsx)(C,{destPosition:n,lookAt:[0,-.1,0]})]})}):h},F={heroBanner:"heroBanner_qdFl",heroLeft:"heroLeft_IUfu",heroRight:"heroRight_Ap2e",hero3D:"hero3D_fw0p",buttons:"buttons_AeoN",heroContent:"heroContent_mKPX"};var G=n(4704),P=n(2949),R=n(5162),B=n(7121);function W(){const{siteConfig:e}=(0,o.Z)(),{colorMode:s}=(0,P.I)();return(0,g.jsx)("header",{className:(0,r.Z)("hero hero--primary",F.heroBanner),children:(0,g.jsx)("div",{className:"container",children:(0,g.jsxs)("div",{className:(0,r.Z)(F.heroContent),children:[(0,g.jsxs)("div",{className:(0,r.Z)(F.heroLeft),children:[(0,g.jsxs)("p",{className:"hero__subtitle",children:["A ",(0,g.jsx)("strong",{children:"quick"})," and ",(0,g.jsx)("strong",{children:"easy"})," to use"," ",(0,g.jsx)("strong",{children:"drag and drop"})," retro ",(0,g.jsx)("strong",{children:"game creator"})," ","for your favourite handheld video game system."]}),(0,g.jsx)("p",{children:"Available on Windows, Mac and Linux."}),(0,g.jsx)("div",{className:F.buttons,children:(0,g.jsx)(i.Z,{className:"button button--secondary button--lg",to:"https://chrismaltby.itch.io/gb-studio",children:"Download on Itch.io"})})]}),(0,g.jsx)("div",{className:(0,r.Z)(F.heroRight),children:(0,g.jsx)("div",{className:(0,r.Z)(F.hero3D),children:(0,g.jsx)(S,{colorMode:s})})})]})})})}function A(){const{siteConfig:e}=(0,o.Z)();return(0,g.jsxs)(a.Z,{description:e.tagline,children:[(0,g.jsx)(W,{}),(0,g.jsx)(G.e,{}),(0,g.jsx)("main",{children:(0,g.jsx)(x,{})}),(0,g.jsx)(R.Z,{}),(0,g.jsx)(B.Z,{})]})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.