How to use Handmade Hero?

Just bought Handmade Hero today. I can build and run the game now. I haven't watched all the episodes yet (I only watch specific episodes when need to) and just wanted to try out the current version of the game. There isn't seem to be any guides for me (like key bindings, how to enter debug mode, cutscenes, current features and how to use them, etc). I also want to try out some other side projects like Handmade Ray (haven't watched any episodes). But when I tried to execute the ray.exe, it said "Unable to open MERL binary". There isn't any readme.txt for these side projects so I tried to build it the same way as HH (from the w:\handmade) and it was built successfully (until I failed to run it :<). Can someone help me with how to use HH and other projects? I don't know if there is any written guide.

There isn't a written guide. I believe the keys for debug things in handmade hero are the Fn keys (F1, F2,...) but I might be wrong. Key bindings for gameplay are probably WASD for movement and arrow keys to hit, so you might need to change your keyboard layout to english.

I haven't watched the handmade ray episodes, but I suppose the only documentation is to watch the episode. Maybe there is a parameter you can pass to the application to generate the necessary file ?


Edited by Simon Anciaux on

Thanks for replying! After playing around a little bit, I figured out most of it myself.

For day 641:

  • F2: Open the "Startup location" window (don't know what the "Fog" and "Alpha" slider are for).
  • F3: Kind of like the inspector window in Unity. You can click on entities and see their properties.
  • F4: No idea.
  • F5: Profile. On the "Threads" and "Frames" tab, you can click on any individual sections to zoom in (I guess? I know that it show some different things, just not sure). The pause button will pause the profiler, not the game.
  • F6, F7: Rendering and lighting. Mostly debug stuff, you can change some bools but don't know what changes will those make.
  • F8: Memory.
  • F9: Specific for Collision Recorder. I think Casey implemented this recently for the glove movement.
  • F1: Close current window.
  • WASD: Move the main hero.
  • Arrow: Move the hero's glove.
  • Escape: Go to the title screen and play the cutscene. Press Escape again to close it or Enter to restart the game.
  • P: Pause and unpause the game.
  • L: Start recording the game. Press L again to start looping through the recording. Don't know how to stop looping.
  • Right-click: Lock/Unlock the camera. While it's unlocked, use the middle mouse button to move it.

Things that I don't know how to do:

  • Toggle Fullscreen.
  • Play music.
  • Use the particle system.
  • Rotate the camera.
  • OOP
  • Use the inspector window to edit, add, debug different entities.
  • Is there a different release mode to build the game?
  • When the game builds, it compiles into 2 executables: win32_handmade.exe and win32_renderer_test.exe. The first is the game, what is the second for? I tried to run it but it just open an empty window.

Regarding the Handmade Ray, it's just some external files that I need to download separately.


Edited by longtran2904 on
Replying to mrmixer (#25284)

I can't help you much as my CPU is so old that it doesn't have the AES instructions that handmade hero uses.

Fullscreen should be Alt + Return.

You can edit the build.bat file to change some build settings. For example changing -O2 to -Od to build a debug executable, or changing some of the defines.

At some point Casey made the render test executable to make sure that you could use the engine separately from handmade hero itself (somebody wanted to use it for prototyping another game if I remember correctly). I'm not sure if it's up to date still or requires external files.