[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:en: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","Game Development","","game-loop-fundamentals","Game Loop Fundamentals","en",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,"What is the primary purpose of a game loop in a real-time game?",[47,50,53,56],{"key":48,"text":49},"a","To load all game assets into memory a single time at launch",{"key":51,"text":52},"b","To process input, update game state, and render output",{"key":54,"text":55},"c","To compile the game's source files immediately before each run",{"key":57,"text":58},"d","To write the player's saved progress to persistent storage","A game loop is the central control structure that keeps running while the game is active, continuously handling input, advancing simulation state, and drawing frames.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":57,"explanation":72},"019f6b28-1723-756b-a53f-d85ea212d508","In a typical game loop, what distinguishes the 'update' phase from the 'render' phase?",[64,66,68,70],{"key":48,"text":65},"Update phase draws screen pixels while render phase advances logic",{"key":51,"text":67},"Update and render always execute on one identical clock tick",{"key":54,"text":69},"Update runs only at startup while render executes every frame",{"key":57,"text":71},"Update advances simulation state; render draws that state","Separating update (simulation) from render (drawing) is a core structural idea in game loops, even when both run in a single thread.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":48,"explanation":85},"019f6b28-1723-7cdc-b6b6-cbb2cf21c8b5","What does 'delta time' represent in a game loop?",[77,79,81,83],{"key":48,"text":78},"The real time elapsed since the previous frame",{"key":51,"text":80},"The number of objects rendered in the current frame",{"key":54,"text":82},"The total memory used by the game right now",{"key":57,"text":84},"The distance an object moved since the game started","Delta time is the elapsed time between the previous and current frame, typically in seconds or milliseconds, used to scale per-frame changes.",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":54,"explanation":98},"019f6b28-1724-767c-b50e-a7da95d52f91","The previous frame finished at timestamp 1000ms and the current frame finished at timestamp 1016ms. What is the delta time for this frame?",[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 is simply the difference between consecutive frame timestamps: 1016ms - 1000ms = 16ms.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":51,"explanation":111},"019f6b28-1724-7d9d-874a-545289247bdd","What is meant by 'frame budget' in the context of a game loop?",[103,105,107,109],{"key":48,"text":104},"The maximum disk space the game may use",{"key":51,"text":106},"The time budget to finish update and render",{"key":54,"text":108},"The number of frames required before a game can ship",{"key":57,"text":110},"The total draw calls issued during a session","Frame budget is the time window per frame (e.g. ~16.6ms for 60fps) within which all update and render work must finish to maintain the target frame rate.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":48,"explanation":124},"019f6b28-1725-744b-a7de-932579b1b487","If a game targets 60 frames per second, approximately how much time (frame budget) is available for each frame?",[116,118,120,122],{"key":48,"text":117},"About 16.6ms",{"key":51,"text":119},"About 33.3ms",{"key":54,"text":121},"About 100ms",{"key":57,"text":123},"About 1ms","1000ms \u002F 60 frames ≈ 16.6ms per frame, which is the frame budget for 60fps.",{"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":301,"name_en":6,"sort":302,"specializations":303},"Oyun Geliştirme",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},[318,10],"tr",[320,321],"google","github",21750,true]