{"id":1712,"date":"2020-03-24T21:25:11","date_gmt":"2020-03-24T21:25:11","guid":{"rendered":"https:\/\/www.yazilimperver.com\/?p=1712"},"modified":"2020-03-24T21:25:11","modified_gmt":"2020-03-24T21:25:11","slug":"godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi","status":"publish","type":"post","link":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/","title":{"rendered":"Godot Y\u0131lan Klonu 1 &#8211; Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131"},"content":{"rendered":"<p>Arkada\u015flar merhaba, bir s\u00fcredir C++, QT derken oyun projelerimizden pek bahsetmiyorduk ama art\u0131k bunu bitirmenin zaman\u0131 geldi. Daha \u00f6nce konsol y\u0131lan oyunu ile ba\u015flay\u0131p daha sonra \u00e7oklu oyuncu i\u00e7in soket k\u00fct\u00fcphanesini olu\u015fturduktan sonra pek bu konuya e\u011filmemi\u015ftik. Bu yaz\u0131 ile in\u015fallah art\u0131k bunu de\u011fi\u015ftirece\u011fiz.<\/p>\n<p>Bu yaz\u0131 ile birlikte <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/godotengine.org\/\">Godot oyun motorunu<\/a><\/strong><\/span> kullanarak, bir y\u0131lan klonu geli\u015ftirip, buna, \u00e7oklu oyuncu kabiliyetleri katmaya \u00e7al\u0131\u015faca\u011f\u0131z. \u015eimdi kafan\u0131zda emin iki (en az) soru belirdi. Birincisi Godot nedir? Ne i\u015fe yarar? Burada buna \u00e7ok girmeyece\u011fim ama hat\u0131rlatma mahiyetinde a\u015fa\u011f\u0131daki yaz\u0131ya bir g\u00f6z atman\u0131z\u0131 rica ediyor olaca\u011f\u0131m. Godot ile ilgili belki ileride bir iki yaz\u0131m daha olabilir.<\/p>\n<p><strong><span style=\"color: #008000;\"><a style=\"color: #008000;\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2019\/11\/02\/begumun-sayilarla-macerasi\/\">Beg\u00fcm&#8217;\u00fcn Say\u0131larla Maceras\u0131<\/a><\/span><\/strong><\/p>\n<p>\u00d6ncelikle bu yaz\u0131lar\u0131m\u0131n format\u0131n\u0131, di\u011fer yaz\u0131lar\u0131mdan biraz daha farkl\u0131, g\u00fcnl\u00fckvari yapmay\u0131 planl\u0131yorum. Bu ba\u011flamda \u00e7ok uzun olmayan ama neler yapt\u0131\u011f\u0131m\u0131z\u0131 anlatan k\u0131sa yaz\u0131lar olmas\u0131na \u00f6zen g\u00f6sterece\u011fim. Bu tarz ilerlemeye ili\u015fkin yaz\u0131lar\u0131n, bu tarz oyun motorlar\u0131n\u0131 kullanmay\u0131 planlayan veya yeni ba\u015flayan dostlar i\u00e7in faydal\u0131 olaca\u011f\u0131na inan\u0131yorum. Bu yaz\u0131larda, Godota ili\u015fkin ya da oyun geli\u015ftirmeye ili\u015fkin bahse de\u011fer konular\u0131 sizlere aktaraca\u011f\u0131m.<\/p>\n<p>Gelelim bu yaz\u0131m\u0131z\u0131n i\u00e7eri\u011fine. Bu yaz\u0131m\u0131zda, Godot ile projeye ba\u015flarken, nas\u0131l bir dizin yap\u0131s\u0131 olu\u015fturaca\u011f\u0131m\u0131za ve GitHub \u00fczerinden olu\u015fturdu\u011fumuz sayfaya g\u00f6z ataca\u011f\u0131z.<\/p>\n<p>\u00d6ncelikli olarak, \u00e7ok k\u00fc\u00e7\u00fck olmayan herhangi bir yaz\u0131l\u0131m projesi i\u00e7in dizin yap\u0131s\u0131n\u0131n \u00e7ok \u00f6nemli oldu\u011funu art\u0131k fark etmi\u015fsinizdir. Hele ki, proje b\u00fcy\u00fcmeye ba\u015flad\u0131\u011f\u0131nda, kodlar\u0131n, dosyalar\u0131n aras\u0131nda kaybolmak istemiyorsan\u0131z, dizin yap\u0131s\u0131n\u0131n da sizlere b\u00fcy\u00fck faydas\u0131 olacakt\u0131r. Asl\u0131nda ben bunu bir anlamda, s\u0131n\u0131f, fonksiyon ya da de\u011fi\u015fken isimlendirmeye benzetirim. Nas\u0131l do\u011fru bir \u015fekilde isimlendirilmi\u015f s\u0131n\u0131f, fonksiyon ve de\u011fi\u015fken size sayfa sayfa dok\u00fcmanda daha fazla bilgi verirse ayn\u0131s\u0131 dizin isimlendirmeleri i\u00e7in de ge\u00e7erlidir. Benzer durum Godot i\u00e7in de ge\u00e7erli. Godot projeleri de, \u00e7ok h\u0131zl\u0131 bir \u015fekilde b\u00fcy\u00fcy\u00fcp kontrolden \u00e7\u0131kabilir, bu sebeple, do\u011fru bir dizin yap\u0131s\u0131 \u00e7ok \u00f6nemli.<\/p>\n<p><a href=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1758\" src=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-300x200.jpg\" alt=\"\" width=\"600\" height=\"400\" srcset=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-300x200.jpg 300w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-768x512.jpg 768w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-500x333.jpg 500w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-150x100.jpg 150w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-400x266.jpg 400w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-800x533.jpg 800w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350-200x133.jpg 200w, https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2020\/03\/Getty-465412159_maze_1350.jpg 1024w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/a><\/p>\n<p>Burada anlatacaklar\u0131m, a\u00e7\u0131k\u00e7as\u0131 k\u0131rk y\u0131ll\u0131k bir godot geli\u015ftiricisinin tecr\u00fcbeleri de\u011fil ama \u015fu zamana kadar edindiklerim \u0131\u015f\u0131\u011f\u0131nda bir araya getirdiklerimi temsil etmeke. Zaten bu oyun tamamlanmas\u0131na do\u011fru muhtemelen bir tak\u0131m de\u011fi\u015fiklikler de g\u00f6sterecektir.<\/p>\n<p>\u015eimdi bu dizin yap\u0131s\u0131 ile ilgili en \u00f6ne \u00e7\u0131kan d\u00fc\u015f\u00fcncelerim \u015fu \u015fekilde:<\/p>\n<ul>\n<li>Her \u015feyde oldu\u011fu gibi, bence en \u00f6nemli konu <strong>basitlik<\/strong>. \u0130simlendirmelerden, hiyerar\u015fiye kadar, basit, ak\u0131lda kal\u0131r bir yap\u0131 olmas\u0131 \u00e7ok \u00f6nemli,<\/li>\n<li>Bu dizin yap\u0131s\u0131 projenin <strong>genel mimarisini<\/strong> de bir noktada <strong>yans\u0131tmal\u0131<\/strong>,<\/li>\n<li>\u00d6zellikle <strong>betikleri<\/strong> ve kullanaca\u011f\u0131n\u0131z <strong>i\u00e7erikleri<\/strong> birbirlerinden ayr\u0131 yerlerde tutman\u0131z iyi olacakt\u0131r,<\/li>\n<li>Dizinlerinizi \u00f6zellikle olu\u015fturaca\u011f\u0131n\u0131z <strong>sahneleri baz alarak<\/strong> olu\u015fturman\u0131z ileride faydan\u0131za olacakt\u0131rr.<\/li>\n<\/ul>\n<p>Yukar\u0131da bahsetti\u011fim kalemler \u0131\u015f\u0131\u011f\u0131nda, a\u015fa\u011f\u0131daki gibi bir dizin yap\u0131s\u0131 olu\u015fturdum. Bu yap\u0131y\u0131 Godot ile geli\u015ftirece\u011finiz oyunlar i\u00e7in bir baz olarak alabilirsiniz. Hatta daha da iyile\u015ftirip bizimle payla\u015fabilirsiniz. \u015eimdi bunlara ve kullan\u0131mlar\u0131na h\u0131zl\u0131ca bakal\u0131m:<\/p>\n<ul>\n<li>.<span style=\"color: #0000ff;\"><strong>import<\/strong><\/span>: Bu dizin, Godot projesi i\u00e7erisindeki dosyalara ili\u015fkin godotun tuttu\u011fu verileri i\u00e7erir. <span style=\"color: #008000;\"><strong><a style=\"color: #008000;\" href=\"https:\/\/docs.godotengine.org\/uk\/latest\/getting_started\/workflow\/assets\/import_process.html\">Bu adreste<\/a> <\/strong><\/span>daha detayl\u0131 bilgileri g\u00f6rebilirsiniz.<\/li>\n<li>\u00a0<span style=\"color: #0000ff;\"><strong>android<\/strong><\/span>: Projenin android platformuna \u00f6zg\u00fc dosyalar\u0131n\u0131 koyaca\u011f\u0131m\u0131z dizin.\n<ul>\n<li><span style=\"color: #0000ff;\"><strong>binary<\/strong><\/span>: Olu\u015fturdu\u011fumuz APK&#8217;lar\u0131 koyaca\u011f\u0131m\u0131z dizin,<\/li>\n<li><span style=\"color: #0000ff;\"><strong>keys<\/strong><\/span>: Olu\u015fturdu\u011fumu APK anahtarlar\u0131n\u0131 koyaca\u011f\u0131m\u0131z dizin,<\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #0000ff;\"><strong>windows<\/strong><\/span>: Projenin windows platformuna \u00f6zg\u00fc dosyalar\u0131 koyaca\u011f\u0131m\u0131z dizin.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>assets<\/strong><\/span>: Projeye ili\u015fkin varl\u0131klar\u0131 bu dizin alt\u0131nda toplayaca\u011f\u0131z.\n<ul>\n<li><span style=\"color: #0000ff;\"><strong>fonts<\/strong><\/span>: Projede kullanaca\u011f\u0131m\u0131z fontlar\u0131 tutaca\u011f\u0131m\u0131z dizin,<\/li>\n<li><span style=\"color: #0000ff;\"><strong>images<\/strong><\/span>: Projede kullanaca\u011f\u0131m\u0131z her t\u00fcrl\u00fc resim ve dokular\u0131 tutaca\u011f\u0131m\u0131z dizin,<\/li>\n<li><span style=\"color: #0000ff;\"><strong>sounds<\/strong><\/span>: Projede kullanaca\u011f\u0131m\u0131z her t\u00fcrl\u00fc ses dosyas\u0131n\u0131 tutaca\u011f\u0131m\u0131z dizin,<\/li>\n<\/ul>\n<\/li>\n<li><span style=\"color: #0000ff;\"><strong>docs<\/strong><\/span>: Projeye ili\u015fkin yard\u0131mc\u0131 dosyalar\u0131 bunun alt\u0131nda tutaca\u011f\u0131z. Ben burada genel olarak tasar\u0131m, gereksinim, beyin haritalar\u0131 ve \u00e7izim benzeri dosyalar\u0131 tutmay\u0131 tercih ediyorum.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>rawAssets<\/strong><\/span>: Projede kulland\u0131\u011f\u0131m\u0131z varl\u0131klar\u0131n orjinal hallerini tutmak i\u00e7in kulland\u0131\u011f\u0131m dizin. Burada genelde resim dosyalar\u0131 i\u00e7in vekt\u00f6rel formattaki resimleri koyar\u0131m.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>scenes<\/strong><\/span>: En \u00f6nemli dizin bence bu. Ben godota ili\u015fkin sahneleri ve bu sahnelerin birbirleri i\u00e7erisinde kullan\u0131m durumlar\u0131na g\u00f6re konu\u015fland\u0131r\u0131lmas\u0131n\u0131 bu dizin yap\u0131s\u0131na g\u00f6re ger\u00e7ekle\u015ftirmeyi \u00f6neriyorum. Sahnelerde kullanaca\u011f\u0131m\u0131z betikleri ise burada tutmamay\u0131 tercih ediyorum.<\/li>\n<li><span style=\"color: #0000ff;\"><strong>scripts<\/strong><\/span>: Bir di\u011fer \u00f6nemli dizin de bu dizin. Betikleri, sahne dosyalar\u0131 yan\u0131nda tutmamay\u0131 tercih ediyorum. Buradaki dizin yap\u0131s\u0131 da sahnelere benzese de baz\u0131r farkl\u0131l\u0131klar i\u00e7erebilir. \u00d6rne\u011fin ortak kullan\u0131lan betikleri ayr\u0131 bir dizinde saklamak gibi.<\/li>\n<\/ul>\n<p>Dedi\u011fim gibi bu dizin yap\u0131s\u0131 benim \u015fimdilik takip etti\u011fim bir yap\u0131. \u0130leride belki sahne dosyalar\u0131 ile betik dosyalar\u0131n\u0131 yan yana koyabiliriz ama ben \u015fimdilik bu \u015fekilde ilerleyece\u011fim. Son bir not, Godot normalde b\u00fct\u00fcn dosya ve dizinleri etiketliyor. Burada \u00f6zellikle etiketlenmesini istemedi\u011finiz dosyalar\u0131 bir dizine koyup (mesela yukar\u0131daki &#8220;rawAssets&#8221;) i\u00e7erisine, .gdignore, dosyas\u0131 olu\u015fturursan\u0131z. Godot bu dizini i\u015flemez ve bu sayede i\u00e7eri alma s\u00fcresini d\u00fc\u015f\u00fcrebilirsiniz.<\/p>\n<p>Yukar\u0131daki dizinin ete kemi\u011fe b\u00fcr\u00fcnm\u00fc\u015f haline a\u015fa\u011f\u0131daki sayfadan ula\u015fabilirsiniz. Bu sayfadaki dizinlerin i\u00e7erisindeki bo\u015f dosyalar da, dizinlerin git taraf\u0131ndan y\u00f6netilebilmesi i\u00e7in (bildi\u011finiz gibi git \u00fczerinbden bo\u015f dizinlerin s\u00fcr\u00fcm takibini yapam\u0131yorsunuz)<\/p>\n<p><a href=\"https:\/\/github.com\/yazilimperver\/BegumSnakeRider\"><span style=\"color: #339966;\"><strong>https:\/\/github.com\/yazilimperver\/BegumSnakeRider\u00a0<\/strong><\/span><\/a><\/p>\n<p>Son bir not daha. Yukar\u0131daki sayfada, git hub \u00fczerindeb, hem t\u00fcrk\u00e7e hem ingilizce nas\u0131l beni oku yap\u0131labilece\u011fini de g\u00f6rebilirsiniz. Evet ilk yaz\u0131m\u0131z\u0131n sonuna geldik bir sonraki yaz\u0131 da g\u00f6r\u00fc\u015fmek \u00fczere.<\/p>","protected":false},"excerpt":{"rendered":"<p>Arkada\u015flar merhaba, bir s\u00fcredir C++, QT derken oyun projelerimizden pek bahsetmiyorduk ama art\u0131k bunu bitirmenin zaman\u0131 geldi. Daha \u00f6nce konsol y\u0131lan oyunu ile ba\u015flay\u0131p daha sonra \u00e7oklu oyuncu i\u00e7in soket k\u00fct\u00fcphanesini olu\u015fturduktan sonra pek bu konuya e\u011filmemi\u015ftik. Bu yaz\u0131 ile in\u015fallah art\u0131k bunu de\u011fi\u015ftirece\u011fiz. Bu yaz\u0131 ile birlikte Godot oyun motorunu kullanarak, bir y\u0131lan klonu&#8230; <a class=\"more-link\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\">Continue reading <span class=\"meta-nav\">&#8594;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":1518,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[25],"tags":[694,140,52,697,622,696,213,695],"class_list":["post-1712","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-oyun-gelistirme","tag-folder","tag-game","tag-game-development","tag-git-hub","tag-godot","tag-post-series","tag-snake","tag-structure"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131 - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[:tr]Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"og:description\" content=\"Arkada\u015flar merhaba, bir s\u00fcredir C++, QT derken oyun projelerimizden pek bahsetmiyorduk ama art\u0131k bunu bitirmenin zaman\u0131 geldi. Daha \u00f6nce konsol y\u0131lan oyunu ile ba\u015flay\u0131p daha sonra \u00e7oklu oyuncu i\u00e7in soket k\u00fct\u00fcphanesini olu\u015fturduktan sonra pek bu konuya e\u011filmemi\u015ftik. Bu yaz\u0131 ile in\u015fallah art\u0131k bunu de\u011fi\u015ftirece\u011fiz. Bu yaz\u0131 ile birlikte Godot oyun motorunu kullanarak, bir y\u0131lan klonu... Continue reading &#8594;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\" \/>\n<meta property=\"og:site_name\" content=\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-24T21:25:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/11\/logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"68\" \/>\n\t<meta property=\"og:image:height\" content=\"67\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"yaz\u0131l\u0131mperver\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"yaz\u0131l\u0131mperver\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\"},\"author\":{\"name\":\"yaz\u0131l\u0131mperver\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"headline\":\"Godot Y\u0131lan Klonu 1 &#8211; Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131\",\"datePublished\":\"2020-03-24T21:25:11+00:00\",\"dateModified\":\"2020-03-24T21:25:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\"},\"wordCount\":1149,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"keywords\":[\"folder\",\"game\",\"Game Development\",\"git hub\",\"godot\",\"post series\",\"Snake\",\"structure\"],\"articleSection\":[\"Oyun Geli\u015ftirme\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\",\"url\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\",\"name\":\"[:tr]Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#website\"},\"datePublished\":\"2020-03-24T21:25:11+00:00\",\"dateModified\":\"2020-03-24T21:25:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Ana sayfa\",\"item\":\"https:\/\/www.yazilimperver.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Godot Y\u0131lan Klonu 1 &#8211; Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.yazilimperver.com\/#website\",\"url\":\"https:\/\/www.yazilimperver.com\/\",\"name\":\"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131\",\"description\":\"Payla\u015fmak g\u00fczeldir.\",\"publisher\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.yazilimperver.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb\",\"name\":\"yaz\u0131l\u0131mperver\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"contentUrl\":\"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png\",\"caption\":\"yaz\u0131l\u0131mperver\"},\"logo\":{\"@id\":\"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[:tr]Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","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:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/","og_locale":"tr_TR","og_type":"article","og_title":"[:tr]Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","og_description":"Arkada\u015flar merhaba, bir s\u00fcredir C++, QT derken oyun projelerimizden pek bahsetmiyorduk ama art\u0131k bunu bitirmenin zaman\u0131 geldi. Daha \u00f6nce konsol y\u0131lan oyunu ile ba\u015flay\u0131p daha sonra \u00e7oklu oyuncu i\u00e7in soket k\u00fct\u00fcphanesini olu\u015fturduktan sonra pek bu konuya e\u011filmemi\u015ftik. Bu yaz\u0131 ile in\u015fallah art\u0131k bunu de\u011fi\u015ftirece\u011fiz. Bu yaz\u0131 ile birlikte Godot oyun motorunu kullanarak, bir y\u0131lan klonu... Continue reading &#8594;","og_url":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/","og_site_name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","article_published_time":"2020-03-24T21:25:11+00:00","og_image":[{"width":68,"height":67,"url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2019\/11\/logo.jpg","type":"image\/jpeg"}],"author":"yaz\u0131l\u0131mperver","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"yaz\u0131l\u0131mperver","Tahmini okuma s\u00fcresi":"6 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#article","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/"},"author":{"name":"yaz\u0131l\u0131mperver","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"headline":"Godot Y\u0131lan Klonu 1 &#8211; Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131","datePublished":"2020-03-24T21:25:11+00:00","dateModified":"2020-03-24T21:25:11+00:00","mainEntityOfPage":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/"},"wordCount":1149,"commentCount":0,"publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"keywords":["folder","game","Game Development","git hub","godot","post series","Snake","structure"],"articleSection":["Oyun Geli\u015ftirme"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/","url":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/","name":"[:tr]Godot Y\u0131lan Klonu 1 - Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131[:] - Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/www.yazilimperver.com\/#website"},"datePublished":"2020-03-24T21:25:11+00:00","dateModified":"2020-03-24T21:25:11+00:00","breadcrumb":{"@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.yazilimperver.com\/index.php\/2020\/03\/24\/godot-yilan-klonu-1-dizin-yapisi-ve-git-sayfasi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Ana sayfa","item":"https:\/\/www.yazilimperver.com\/"},{"@type":"ListItem","position":2,"name":"Godot Y\u0131lan Klonu 1 &#8211; Dizin Yap\u0131s\u0131 ve Git Sayfas\u0131"}]},{"@type":"WebSite","@id":"https:\/\/www.yazilimperver.com\/#website","url":"https:\/\/www.yazilimperver.com\/","name":"Yaz\u0131l\u0131mperver&#039;in D\u00fcnyas\u0131","description":"Payla\u015fmak g\u00fczeldir.","publisher":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.yazilimperver.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/6497f6de4df6ba469748b861a2b3fcdb","name":"yaz\u0131l\u0131mperver","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/","url":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","contentUrl":"https:\/\/www.yazilimperver.com\/wp-content\/uploads\/2018\/04\/OnlyIcon-1-114x114.png","caption":"yaz\u0131l\u0131mperver"},"logo":{"@id":"https:\/\/www.yazilimperver.com\/#\/schema\/person\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1712","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/comments?post=1712"}],"version-history":[{"count":11,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1712\/revisions"}],"predecessor-version":[{"id":1759,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/posts\/1712\/revisions\/1759"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media\/1518"}],"wp:attachment":[{"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/media?parent=1712"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/categories?post=1712"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yazilimperver.com\/index.php\/wp-json\/wp\/v2\/tags?post=1712"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}