[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:game-dev\u002Fgame-loop-fundamentals":4,"config":125},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":40,"samples":41},"game-dev","Oyun Geliştirme","","game-loop-fundamentals","Game Loop Fundamentals","tr",75,600,[14,15,16],"junior","mid","senior",[18,21,24,25,28,31,34,37],{"key":19,"name":20,"count":11},"game-ai-pathfinding","Game Ai Pathfinding",{"key":22,"name":23,"count":11},"game-input-audio","Game Input Audio",{"key":8,"name":9,"count":11},{"key":26,"name":27,"count":11},"game-networking-multiplayer","Game Networking Multiplayer",{"key":29,"name":30,"count":11},"game-performance-optimization","Game Performance Optimization",{"key":32,"name":33,"count":11},"game-physics-collision","Game Physics Collision",{"key":35,"name":36,"count":11},"game-rendering-pipeline","Game Rendering Pipeline",{"key":38,"name":39,"count":11},"game-state-management","Game State Management",[],[42,60,73,86,99,112],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":51,"explanation":59},"019f6b28-1722-7c97-a1a9-f4a1386b4115",1,"Bir gerçek zamanlı oyunda game loop'un temel amacı nedir?",[47,50,53,56],{"key":48,"text":49},"a","Oyun başlarken tüm varlıkları belleğe tek seferde yüklemek",{"key":51,"text":52},"b","Girdiyi işlemek, oyun durumunu güncellemek ve çıktıyı çizmek",{"key":54,"text":55},"c","Oyunun kaynak dosyalarını her çalıştırmadan hemen önce derlemek",{"key":57,"text":58},"d","Oyuncunun kayıtlı ilerlemesini kalıcı depolamaya yazmak","Game loop, oyun aktif olduğu sürece çalışan; girdiyi işleyen, simülasyon durumunu ilerleten ve kareleri çizen merkezi kontrol yapısıdır.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":57,"explanation":72},"019f6b28-1723-756b-a53f-d85ea212d508","Tipik bir game loop'ta 'update' aşaması 'render' aşamasından nasıl ayrılır?",[64,66,68,70],{"key":48,"text":65},"Update ekran piksellerini çizerken render mantığı ilerletir",{"key":51,"text":67},"Update ve render her zaman aynı tek saat tikinde çalışır",{"key":54,"text":69},"Update yalnızca başlangıçta çalışırken render her karede çalışır",{"key":57,"text":71},"Update simülasyon durumunu ilerletir; render o durumu çizer","Update (simülasyon) ile render (çizim) ayrımı, ikisi tek bir thread'de çalışsa bile game loop'un temel yapısal fikridir.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":48,"explanation":85},"019f6b28-1723-7cdc-b6b6-cbb2cf21c8b5","Bir game loop'ta 'delta time' neyi ifade eder?",[77,79,81,83],{"key":48,"text":78},"Önceki kareden bu yana geçen gerçek zaman",{"key":51,"text":80},"Mevcut karede çizilen nesne sayısı",{"key":54,"text":82},"Oyunun şu anki toplam bellek kullanımı",{"key":57,"text":84},"Bir nesnenin oyun başından bu yana kat ettiği mesafe","Delta time, önceki kare ile mevcut kare arasında geçen süredir (genellikle saniye veya milisaniye cinsinden) ve kare başına değişimleri ölçeklemek için kullanılır.",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":54,"explanation":98},"019f6b28-1724-767c-b50e-a7da95d52f91","Önceki kare 1000ms zaman damgasında bitti, mevcut kare 1016ms zaman damgasında bitti. Bu kare için delta time nedir?",[90,92,94,96],{"key":48,"text":91},"1000ms",{"key":51,"text":93},"1016ms",{"key":54,"text":95},"16ms",{"key":57,"text":97},"0ms","Delta time, ardışık kare zaman damgaları arasındaki farktır: 1016ms - 1000ms = 16ms.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":51,"explanation":111},"019f6b28-1724-7d9d-874a-545289247bdd","Game loop bağlamında 'frame budget' ne anlama gelir?",[103,105,107,109],{"key":48,"text":104},"Oyunun kullanabileceği maksimum disk alanı",{"key":51,"text":106},"Update ve render için ayrılan süre",{"key":54,"text":108},"Bir oyunun yayınlanabilmesi için gereken kare sayısı",{"key":57,"text":110},"Bir oturum boyunca yapılan toplam draw call sayısı","Frame budget, hedef kare hızını korumak için (ör. 60fps için ~16.6ms) tüm update ve render işlerinin tamamlanması gereken kare başına zaman penceresidir.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":48,"explanation":124},"019f6b28-1725-744b-a7de-932579b1b487","Bir oyun saniyede 60 kare hedefliyorsa, her kare için yaklaşık ne kadar süre (frame budget) vardır?",[116,118,120,122],{"key":48,"text":117},"Yaklaşık 16.6ms",{"key":51,"text":119},"Yaklaşık 33.3ms",{"key":54,"text":121},"Yaklaşık 100ms",{"key":57,"text":123},"Yaklaşık 1ms","1000ms \u002F 60 kare ≈ 16.6ms, bu da 60fps için frame budget'tır.",{"fields":126,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[127,152,173,190,214,227,246,265,287,294,300,305],{"key":128,"name_tr":129,"name_en":129,"sort":44,"specializations":130},"backend","Backend",[131,134,137,140,143,146,149],{"key":132,"name":133,"field":128},"general","Genel",{"key":135,"name":136,"field":128},"go","Go",{"key":138,"name":139,"field":128},"python","Python",{"key":141,"name":142,"field":128},"java","Java",{"key":144,"name":145,"field":128},"csharp","C#\u002F.NET",{"key":147,"name":148,"field":128},"nodejs","Node.js",{"key":150,"name":151,"field":128},"php","PHP",{"key":153,"name_tr":154,"name_en":154,"sort":155,"specializations":156},"frontend","Frontend",2,[157,158,161,164,167,170],{"key":132,"name":133,"field":153},{"key":159,"name":160,"field":153},"javascript","JavaScript",{"key":162,"name":163,"field":153},"typescript","TypeScript",{"key":165,"name":166,"field":153},"react","React",{"key":168,"name":169,"field":153},"vue","Vue",{"key":171,"name":172,"field":153},"angular","Angular",{"key":174,"name_tr":175,"name_en":175,"sort":176,"specializations":177},"fullstack","Fullstack",3,[178,179,180,181,182,183,184,185,186,187,188,189],{"key":132,"name":133,"field":174},{"key":135,"name":136,"field":128},{"key":138,"name":139,"field":128},{"key":141,"name":142,"field":128},{"key":144,"name":145,"field":128},{"key":147,"name":148,"field":128},{"key":150,"name":151,"field":128},{"key":159,"name":160,"field":153},{"key":162,"name":163,"field":153},{"key":165,"name":166,"field":153},{"key":168,"name":169,"field":153},{"key":171,"name":172,"field":153},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":132,"name":133,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":132,"name":133,"field":215},{"key":138,"name":139,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":132,"name":133,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":132,"name":133,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":132,"name":133,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[293],{"key":132,"name":133,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":132,"name":133,"field":295},{"key":5,"name_tr":6,"name_en":301,"sort":302,"specializations":303},"Game Development",11,[304],{"key":132,"name":133,"field":5},{"key":306,"name_tr":307,"name_en":307,"sort":308,"specializations":309},"ml-engineer","ML Engineer",12,[310],{"key":132,"name":133,"field":306},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[10,318],"en",[320,321],"google","github",21750,true]