[video output=day026 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Introduction to Game Architecture" vod_platform=youtube id=rPJfadFSCyQ annotator=theinternetftw] [0:00][First day of Programming the Actual Game] [2:56][We'll know how everything happens above the platform layer] [6:05][Software Architecture] [6:50][...vs. Real Architecture] [9:40][Taking the metaphor literally: UML as Blueprint] [11:00][The problem with that] [13:17][An alternative view: Software Designer as Urban Planner] [15:15][The freedom of software: malleable architecture] [17:25][Software Design: How the city works] [20:35][The Art of Defining Boundaries] [21:36][Why you want boundaries] [25:41][Metrics for Architecture] [34:12][Game Architecture] [34:55][What we've done] [38:07][What's to come] [39:05][Principles] [42:28][Input->Update->Render] [44:54][Coupling and the Cache] [48:54][Resources: Load vs Stream] [55:58][Immediate mode vs. Retained mode] [1:03:00][Is Immediate Mode/Retained Mode like IoC (inversion of control) / Dependency Injection \[n.b. No it's not -ed\]] [1:03:14][Is it okay that we're using a fixed time step when users might not make 30fps?] [1:04:20][Game won't run at a fixed timestep: we'll take in t as a param] [1:05:05][Are you going to work with Virtual File Systems to store resources?] [1:05:34][On rendering while updating: What about when the render of something at the top of update() would've changed if we'd known about something that's at the bottom?] [1:06:25][Update dependencies are a general problem that should be solved by the architect] [1:07:25][What happens when you need to render in a different order than you update?] [1:08:14][Explain the variable, demands Naysayer88] [1:09:16][How do you handle update/render at different frame rates?] [1:10:00][When you say do update/render together, do you mean do it per entity?] [1:10:35][Are we planning on networking?] [1:11:00][How are you going to handle shaders?] [1:11:11][What language are you using primarily? Where can we view old streams?] [1:12:10][Would a memory mapped virtual filesystem be a bad move?] [1:13:39][Will handmade use loading or streaming?] [1:13:52][Can you go over how streaming fits in to the GUAR?] [1:15:09][Will combining update and render limit multithreading?] [1:16:47][Treatise on threading] [1:20:43][Since the eye can only see at 70fps \[citation needed -ed\], should we set a max fps?] [1:21:28][How will we handle vsync?] [1:22:08][Couldn't you store groups together to win some on a split update / render?] [1:23:25][Async job system?] [1:24:20][Whennn willl youuu worrrkkk onnn theee gammmeeee?!?!?!?!?!11!!] [1:24:53][Will we make a physics engine?] [1:25:17][Is it okay to post a js/html5 port on my github?] [1:26:54][Thanks / Next time on... / Holiday Hours][:speech] [/video]