is presently its sole maintainer,
You can support him:
Recap and set the stage for the day
Blackboard: Sort Key for Rendering
Blackboard: Treating Z purely semantically
handmade_world_mode.cpp: Disable the GroundBuffer, run the game and demo the situation with rendering entities on stairwells
Blackboard: On rendering entities on stairwells
Unexpectedly hit an InvalidCodePath
Debugger: Realise that we never reset SortEntryAt
handmade_render_group: Introduce ClearRenderValues
Run the game and watch the last frame time
handmade_render_group.cpp: Consider how best to generate the SortKey
handmade_render_group.h: Add b32 Upright to render_transform
"Move this out to its own thang" (!quote 344)
handmade_render_group.cpp: Use Upright in the SortKey computation
handmade_world_mode.cpp: Set the GroupBuffer to not be Upright
Run the game and note that we don't leave a hole for the stairwells
Try getting the stairwell thing working a little bit
Run the game and note some rendering problems
handmade_world_mode.cpp: Give the GroundBuffer some Z
Run the game and find that the topmost GroundChunk now occludes everything, as expected
handmade_world_mode.cpp: Get FadeTopStart to happen again
Run the game and see that everything seems to be rendering properly
Note that we're drawing the entire screen many times
win32_handmade.cpp: Drop down the resolution to 960x540
handmade_render_group.h: Separate the transform data into object_transform and camera_transform
handmade_render_group.h: Introduce DefaultUprightTransform and DefaultFlatTransform
handmade_render_group.cpp and handmade_debug.cpp: Propagate these changes
Run the game and find that everything is exactly the same
abnercoimbre Q: Brace yourself
Connor_Rentz Q: What is your preferred sorting method?
LaresYamoir Q: Hi Casey. I'm currently working on an OpenGL framework for games. Wanted to ask whether I can use the code up to Day 023 (Live Code Editing), with the intend of making a commercial game eventually with it. Might be important to note that I'm also streaming, so the code might be visible sometimes when I stream framework development
gimpycpu Q: I know you said you really like discriminated unions, but how do you deal with managing the big case switch they may cause? That is usually handled by the OOP model by delegating to the object
Demo: Switch statement vs dispatch
ChronalDragon Q: Obviously we lost some performance over the last couple streams. Are you planning to try to optimize it back down, or just leave the software renderer as is and move into GPU rendering?
elxenoaizd Q: A lot of the times when you develop something, you write it in the simplest way that just works, then you polish it to something good and more finished (e.g. what you did with dsound). For someone catching up, do you think it's good enough to just study and focus on that better version, or is there a value in writing that initial version ourselves?
SnowyCrystalz Q: Hey Casey! I just found your series and was amazed that you are creating an entire game without using an external library like SDL (from what your episode one said, at least). I really wanted to watch your progress through the series but I have no Idea where to start in the 200+ episodes since I already am working on an SDL OpenGL game. What is your suggestion?
quartertron Q: I can't remember if you discussed this when it first cropped up but, when you are halfway up the stairs and blending the trees, you get a darker area where they overlap. What's the "fix" for that?
Blackboard: On the need for compositing in order to fade
coxpuncher Q: Is std::qsort worth using compared to rolling your own?
NoRaD91 Q: How do / would you deal with collisions between multiple entities in terms of collision resolution, not detection, like deciding how to resolve conflicts between multiple moving things? I kinda hit a wall there not seeing solutions that aren't very ugly (especially movement-order dependency)
Robrobby Q: You said the scaling value is not used, but the camera transforms everything. What is the difference?
karn1948 Q: What keyboard are you using these days? I know you're a connoisseur, so I'd love to hear a recommendation
Culver_Fly Q: How would a front-to-back renderer actually work? Would it test every pixel before writing to it?
Mr4thDimention Q: Does multiple dispatch come up for you much (as in n types with n^2 branches)? How do you handle it when it does?
NoRaD91 Q: Would you rather have an explicit fall-through statement with implicit break, instead of standard switch-statements? Seems much cleaner to me, or am I missing something?
quartertron Q: That's what I was afraid of but thought maybe you had some trick like a messed up precomputed alpha
ttbjm Q: I know we just got over the holiday break, but will there be a break in Handmade Hero when The Witness launches? If it's a possibility, it might be better to ask the community if they want that
Robrobby Q: Are you productive / feel good at programming no matter how many hours you work per week?
Close up shop and glimpse into the future