video 001 - Handmade Hero Day 001 Q & A
IMPORTANT(bk): All of the answers are my interpretation of what Casey responded. I will change them to what he actually replies later.
Q: Can you show how you added handmade hero to the path?
Answer: Within misc\shell.bat added SET PATH=W:\handmade\misc;%PATH%
Q: Do all C/C++ use WinMain? Does the Witness use it?
Answer: Everything starts at WinMain.
Q: Using user32.lib
what is the difference between Microsoft’s compiler and GCC
Answer: He does not know since he does not compile with GCC on windows. He suspects that GCC has a different import library scheme.
Q: How to you write a rendering that is hardware accelerated?
Answer: We will be getting to this way way way later.
Q: If we use visual studio, do we need to tell it every library we will be using?
Answer: He does not know what Visual Studio sets automatically, but yes you do.
Q: Is there a reason you do not want to use the developer command tools?
Answer: Not really, he just prefers showing how to do everything.
Q: How much experience do you have writing audio processing code?
Answer: Not too much.
Q: Will you be making a video setting up environment on mac?
Answer: Yes, eventually.
Q: Will the game be windows only?
Answer: The code will be for all platforms. Windows, Mac, Linux and Raspberry Pi.
Q: Can you show the command line parameters in the shortcut?
Answer: Yes:
Target: `%windir%\system32\cmd.exe /k w:\handmade\misc\shell.bat`
Start In: `w:\`
Q: What is your favourite Linux distribution?
Answer: He does not have a favourite. Running Ubuntu on his laptop.
Q: Will I be able to following using Visual Studio 2013 community edition?
Answer: Yes, that is what we are using. Emacs is just for editing code.
Q: Will you be coding with other inputs, like Xbox controllers?
Answer: Yes, we will at least be doing something with Xbox controllers.
Q: Should it not be /Zi
instead of -Zi
in build.bat
Answer: That’s an interesting question. He put -Zi
for he is a Linux style person.
You can use either.
Q: Will the game have multiplayer?
Answer: That’s a yes and no.
Yes, it will support multiplayer in that he will show how to write the code for local multiplayer. He does not want to do network due to time. He says no because he does not know if the game design will support multiplayer. We may disable when we ship it.
Q: When can we get some actual details of the game?
Answer: Not until we are out of windows and have a bit of the rendering up and going.
Q: Why don’t you just compile within Visual Studio?
Answer: Because he does not like the editor.
Q: How did you go from the exe on the command line to visual debugger?
Answer: That’s a good question.
> devenv win32_handmade.exe
Q: What GDB frontend to you use on Linux?
Answer: QT creator (but he really does not like it)
Q: Are we going to be handwriting .wav
audio files?
Answer: Yes. Has not decided yet on how he will tackle compression.
Q: Will you be making a generic 2D animation system and editor?
Answer: We will not be making an external editor, but might use one like “spriter” or something. We will write our own 2D animation system.
Q: Do you have everything planned or coming up with it on a daily basis?
Answer: He does not have everything planned, but he does have a lot of it planned. It can be mutated.
Q: How much emphasis on math and physics for a 2D game?
Answer: He will try not to make it too heavy, but there is a lot of math already.
Q: Will you have an actual repository for the project?
Answer: No. You will get a zip file with the source for every day.
Q: What Linux debuggers are you looking forward to?
Answer: prodbg, and rad and valve are partnering to do one.
Q: Will we using any scripting language for the game?
Answer: No.
Q: Are you going to be ditching ?
Answer: Maybe. (Does not want to give away too many secrets)
Q: Since you said you were not a good game designer, how will you design the game?
Answer: I am not ignorant of designing games. He understands how to design a game.
Q: Why start from scratch? Why reinvent the wheel?
Answer: That’s a good question. He feels it is important knowing the fundamentals of making a game. He does not feel the wheel for games has been invented.
Q: Is there a game dev company that you admire? That makes them the “right” way?
Answer: He does not know. He has not worked on many games. He liked rad.
The right way is getting things done efficiently, without problems.