Are you over 18 and want to see adult content?
More Annotations
Все сериалы, мультфильмы и аниме онлайн смотреть бесплатно на serialmego.com
Are you over 18 and want to see adult content?
Last uploaded images « JuicyGif.com
Are you over 18 and want to see adult content?
Apimac | Intuitive apps for Mac, iPhone and iPad
Are you over 18 and want to see adult content?
Oświetlenie, lampy, wewnętrzne, zewnętrzne domu, LED Szczecin - Tomix
Are you over 18 and want to see adult content?
10Pines | Software Development Services - Argentina
Are you over 18 and want to see adult content?
A complete backup of daynatay.blogspot.com
Are you over 18 and want to see adult content?
大学生のための長期インターンシップ募集と会社説明会と短期インターンの就活情報サイト | キャリアインターン
Are you over 18 and want to see adult content?
Интернет-магазин граффити, маркеры, аэрозольная краска для граффити, граффити маркет
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of paradoxicalcommandments.com
Are you over 18 and want to see adult content?
A complete backup of twrolla.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of r-global-inc.com
Are you over 18 and want to see adult content?
A complete backup of santyelpaspy.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of europeanfilmgateway.eu
Are you over 18 and want to see adult content?
A complete backup of ruangbelajarbahasainggris.com
Are you over 18 and want to see adult content?
Text
HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is) HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. EXPERIMENTING WITH VOXELIZED COLLISION 5:15 Collision tasks: 2. Upgrade to support simultaneous motion. 🗩. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
PIXEL ART GAMES AND NSIGHT SHADER ANALYSIS 2:29:12 gigasightmedia handmade_hero: This shader can only address artifacting within the texture, but cannot address sub-pixel occlusion artifacting (i.e. the shimmer is still present on exterior edge pixels) 🗪. 2:30:23 Brian Q: It was surprising to see how much latency was on division. Square root seems to have a similar latency,but
PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it.BRAINS AND APRONS
1:00:57 Remove "TODO (casey): There are risks to allowing the simulation region to be determined by the camera, because of the way we use "brains" where logical entity collections can be split by a simulation boundary" from UpdateAndRenderWorld () 1:01:23 Re-enable PlaceSnake () in CreateDungeon (), and make it add a brain and bodysegments.
ADDING FONT METADATA TO THE ASSET BUILDER 36:34 Building the font tables. 38:58 Writing the asset font information into the asset file. 38:58 Writing the asset font information into the asset file. 38:58 Writing the asset font information into the asset file. 41:41 Faking the horizontal advance using the width of the current character.HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: THE BASICS OF PLATFORM API DESIGN 23:52 Separate platform files (e.g. linux_handmade.cpp) as the entry point. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translationunit.
BASIC LINEAR BITMAP BLENDING 1:00:35 Implementing the floating point version of linear blend. 1:06:55 Drawing the herohead at the location of the player. 1:06:55 Drawing the herohead at the location of the player. 1:06:55 Drawing the herohead at the location of the player. 1:07:23 Q&A. PERSPECTIVE PROJECTION 33:43 Implement the equation. 33:43 Implement the equation. 45:04 Take a look in-game and double-check everything. 45:04 Take a look in-game and double-check everything. 45:04 Take a look in-game and double-check everything. 47:35 Moment of realisation: Our offset is still happening in pixels. PLATFORM-INDEPENDENT USER INPUT 7:29 Extending GameUpdateAndRender () to take input. 8:33 Pulling structs into a header file for readability. 8:33 Pulling structs into a header file for readability. 8:33 Pulling structs into a header file for readability. 9:48 On iterating towards an API and avoiding premature design. 9:48 On iterating towards an API and avoidingpremature
MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. GAMEPAD AND KEYBOARD INPUT Well, don't despair. It's really quite simple, we just need to unwrap a few things and break it down line by line. #define X_INPUT_GET_STATE (name) DWORD WINAPI name (DWORD dwUserIndex, XINPUT_STATE *pState) In C (as well as C++ and Objective C), the first step of the compilation process is a code transformation pass by the preprocessor. As weHANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is) HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. EXPERIMENTING WITH VOXELIZED COLLISION 5:15 Collision tasks: 2. Upgrade to support simultaneous motion. 🗩. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
PIXEL ART GAMES AND NSIGHT SHADER ANALYSIS 2:29:12 gigasightmedia handmade_hero: This shader can only address artifacting within the texture, but cannot address sub-pixel occlusion artifacting (i.e. the shimmer is still present on exterior edge pixels) 🗪. 2:30:23 Brian Q: It was surprising to see how much latency was on division. Square root seems to have a similar latency,but
PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. ADDING FONT METADATA TO THE ASSET BUILDER 36:34 Building the font tables. 38:58 Writing the asset font information into the asset file. 38:58 Writing the asset font information into the asset file. 38:58 Writing the asset font information into the asset file. 41:41 Faking the horizontal advance using the width of the current character.HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neat STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is) HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us. GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim bySIMD BASICS
41:04 Fix the loop to work on pixels in batches of 4. 46:20 Run the game and note that we are overwriting our boundary. 46:20 Run the game and note that we are overwriting our boundary. 46:20 Run the game and note that we are overwriting our boundary. 47:15 handmade_render_group.cpp: Temporarily clip EXPERIMENTING WITH VOXELIZED COLLISION 5:15 Collision tasks: 2. Upgrade to support simultaneous motion. 🗩. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. 7:22 Make MoveEntity () use the DesiredPosition, with no concern for collision. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
PIXEL ART GAMES AND NSIGHT SHADER ANALYSIS 2:29:12 gigasightmedia handmade_hero: This shader can only address artifacting within the texture, but cannot address sub-pixel occlusion artifacting (i.e. the shimmer is still present on exterior edge pixels) 🗪. 2:30:23 Brian Q: It was surprising to see how much latency was on division. Square root seems to have a similar latency,but
HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us. THE BASICS OF PLATFORM API DESIGN 23:52 Separate platform files (e.g. linux_handmade.cpp) as the entry point. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translationunit.
PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 BASIC LINEAR BITMAP BLENDING 1:14:11 Are there other ways to alpha blend and should you be taking into account which colors are easier to see? INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. WRITING A SQUARE WAVE TO DIRECTSOUND Writing a Square Wave to DirectSound DirectSound is Object Oriented. DirectSound in an object-oriented API. What does that mean? Casey starts this episode with a discussion of "method" dispatch through vtables, and why c++ virtual calls are costly. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
STARTING TO DEBUG EVENT RECORDING 1:10:44 Bobo_the_bearded The MSDN documentation for __readgsqword states "These intrinsics are only available in kernel mode, and the routines are only available as intrinsics". If this is the case, how were you able to use __readgsqword to read out the thread ID? (I'm not really sure what the difference between kernel mode and user mode is)HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us. THE BASICS OF PLATFORM API DESIGN 23:52 Separate platform files (e.g. linux_handmade.cpp) as the entry point. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translationunit.
PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 UNIFIED KEYBOARD AND GAMEPAD INPUT 41:12 Adapting the keyboard and gamepad code to the new structure. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 44:55 Connecting the stick input into a fake directional pad. 48:16 Hookingup the real DPad.
LOADING GAME CODE DYNAMICALLY 40:08 Exporting functions from a dll. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 47:27 Loading and unloading the game dll on the fly. 50:17 Moving local persist variables from the dll to game_state. 50:17 BASIC LINEAR BITMAP BLENDING 1:14:11 Are there other ways to alpha blend and should you be taking into account which colors are easier to see? INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: INTRO TO C ON WINDOWS 12:13 Everything about building a program from code. 12:13 Everything about building a program from code. 12:13 Everything about building aprogram from code
HANDMADE CHAT
Handmade Chat — Episode Guide — Handmade Hero. Found: 0 episodes, 0 markers, 0h 0m 0s total. Handmade Chat. Chat 001: Health and Emulation. Chat 002: Asset Files and Installers. Chat 003: Resources, Files and DRM. Chat 004: Cross-compiling. Chat 005: SGX and Unbreakable DRM. Chat 006: Error-based Drawing Algorithms. THE BASICS OF PLATFORM API DESIGN 23:52 Separate platform files (e.g. linux_handmade.cpp) as the entry point. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translationunit.
PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy REPLACING THE PSEUDO-RANDOM NUMBER GENERATOR The geometric concept of rays actually breaks down for caves or any cone (it's the infinite reflection problem). Conceptually though you are right. Normal objects are not mirrors. You actually have to use nonlinear optics and a geometric diagram to fully describe the lightening going into a cave. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neatHANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero. Day 001: Setting Up the Windows Build. Day 001qa: Setting Up the Windows Build - Q&A. Day 002: Opening a Win32 Window. Day 002qa: Opening a Win32 Window - Q&A. Day 003: Allocating a Back Buffer. Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. HANDMADE HERO-RELATED CONFERENCES Once upon a time, we ran two official Handmade Hero conferences: HandmadeCon 2015 and HandmadeCon 2016. We do not run official conferences anymore. Because there is considerable demand for conferences like these, other people have decided to host their own. These conferences aren’t affiliated with us.HANDMADE HERO
Day 004: Animating the Back Buffer. Day 005: Windows Graphics Review. Day 006: Gamepad and Keyboard Input. Day 007: Initializing DirectSound. Day 008: Writing a Square Wave to DirectSound. Day 009: Variable-Pitch Sine Wave Output. Day 010: QueryPerformanceCounter and RDTSC. Day 011: The Basics of Platform API Design.DEFINING THE GROUND
59:50 Run the game and find that we're only drawing one line. 59:50 Run the game and find that we're only drawing one line. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:00:07 Debugger: Step into PushRectOutline. 1:02:10 handmade.cpp: Multiply the Dim by GPU CONCEPTUAL OVERVIEW 0:07 Recap and glimpse into the future of streaming via a video capture card. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 2:06 Run the game and note that Casey can see the game and we can't. 3:00 Recap where we're at. PLATFORM-INDEPENDENT GAME MEMORY 20:41 Initializing with the new model. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 21:17 Allocating the memory in the platform. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 26:33 Yes, Virginia, memory comes zeroed. 28:40 Put it where you want it. PLATFORM-INDEPENDENT DEBUG FILE I/O 14:54 A first pass at the usage code. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 18:56 Locking our janky code out of the release build. 22:01 Implementing the I/O functions in the platform layer. 22:01Implementing the
MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 INITIALIZING OPENGL ON WINDOWS Initializing OpenGL on Windows — Handmade Hero — Episode Guide — Handmade Hero. Initializing OpenGL on Windows. Quotes . Quote 351. We have no such pink screen to speak of. —handmade_hero, 12th January,2016. 37:28.
INTRO TO C ON WINDOWS Found: 0 episodes, 0 markers, 0h 0m 0s total. Intro to C on Windows. Day 1: Intro to C on Windows - Day 1HANDMADE HERO
Handmade Hero — FAQ. Q: What is Handmade Hero? Handmade Hero is an ongoing project to create a complete, professional-quality game accompanied by videos that explain every single line of its source code. Q: How do I buy Handmade Hero and its source code? You can use this widget anywhere on handmadehero.org: INTRO TO C ON WINDOWS 12:13 Everything about building a program from code. 12:13 Everything about building a program from code. 12:13 Everything about building aprogram from code
HANDMADE CHAT
Handmade Chat — Episode Guide — Handmade Hero. Found: 0 episodes, 0 markers, 0h 0m 0s total. Handmade Chat. Chat 001: Health and Emulation. Chat 002: Asset Files and Installers. Chat 003: Resources, Files and DRM. Chat 004: Cross-compiling. Chat 005: SGX and Unbreakable DRM. Chat 006: Error-based Drawing Algorithms. THE BASICS OF PLATFORM API DESIGN 23:52 Separate platform files (e.g. linux_handmade.cpp) as the entry point. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translation unit. 31:41 Unity builds, building your project as one translationunit.
PLATFORM-INDEPENDENT SOUND OUTPUT Platform-independent Sound Output. Key ideas: Sound is necessarily temporal. You can drop a frame of video and the user probably won't notice, but if your audio drops out, they probably will notice. Sound bufers are small, and not all platforms will require us to deal with circular buffers. So one option is to do a buffer copy per frame and MATRIX MULTIPLICATION AND TRANSFORM ORDER 1:38:03 handmade_math.h: Introduce Transform() and an overloaded operator*() which takes a 4x4 matrix and a vector of length 3 LOOPED LIVE CODE EDITING 18:19 Making a loop editor for code. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 19:33 The ease of storing the input stream in memory. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. 20:25 Writing it out to disk instead. FINAL COLLISION RESOLUTION DESIGN 26:35 immibis Something I wondered about The Witness is: Why does the player not move on a navmesh? Then you wouldn't have needed that brute force testing thingy REPLACING THE PSEUDO-RANDOM NUMBER GENERATOR The geometric concept of rays actually breaks down for caves or any cone (it's the infinite reflection problem). Conceptually though you are right. Normal objects are not mirrors. You actually have to use nonlinear optics and a geometric diagram to fully describe the lightening going into a cave. NARROWING IN ON A COLLISION SCHEME 1:51:57 thesandvichmaker Q: (Semi off-topic) With the live code reloading, I made a thing where global variables in the dll can be saved and restored when you reload the dll. Have you tried that before? I thought it's kind of neatHandmade Hero
Handmade Hero
Handmade Hero
All Builds w/ Full Source•
Immediate access to the source code•
Full access to all updates and builds•
DRM-free copy of the game when it’s finishedPREORDER NOW
$15
Lost Download Link
EMail Support
Discord
Live Stream
> schedule
Limited Schedule during Star Code Galaxy: 2021-06-05 18:00 (3:22:46) 2021-06-12 18:00 (+7 3:22:46) 2021-06-19 18:00 (+14 3:22:46) 2021-06-26 18:00 (+21 3:22:46)Mailing List
Discord
Twitch
YouTube
FAQ
Previous Episodes
Mailing List
Discord
YouTube
Fullscreen
Join our mailing list for project announcements:1935
Meow the Infinite
Star Code Galaxy
Handmade Hero
Molly Rocket
Anna Draws It
Casey’s Tech StuffDetails
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0