An Interview With Billy Zelsnack
by Conor Stokes
Sometimes, you are blessed by having a communication with someone that has wisdom far beyond your own. Recently, I had the chance to do just that. The interview is with, as if you hadn't noticed before coming here, engine programmer Billy Zelsnack. A man of experience and talent. But, the interview speaks far better than I ever could about him.
Read on, and read over.
To begin, could you please tell us, who you are and what you have done?
I had this game company once... Rebel Boat Rocker, but I drove it into the ground.
You've recently made the trip over to Australia, what do you think of the gaming industry in the area (aside from the Olympics :)? Have you been confronted by any of those 50ft Kangaroos that I warned you about?
Honestly. I don't know of any game houses here in Sydney. Which is kinda weird for me. The last two places I have lived (Dallas and Seattle) had a game company every other block.
I have not seen a single kangaroo since I have been here. My brother Jeremy said, "I thought Australia was going to be all about topless women driving around Subaru Outbacks and drinking Fosters while hunting kangaroos with big knifes." At least the part about the topless girls was right.
BTW. Kangaroos are metric. They don't use the old scale.
Down to the technical stuff - You've been known for your forevision in visibility systems in the past. What is your current take on visibility systems? I know at one point, you told me you liked kd-tree portals. Has your view changed?
I am a big fan of simplicity. I don't like to touch triangles ever if at all possible. The problem with being clever is that it usually involves actually doing something to be clever. Nowadays cards are fast enough that you can be pretty sloppy with your culling. The time spent on a few thousand wasted triangles is more than made up for by savings gained from never touching your data. Personally, I think visibility culling is more of a problem for networking. Meaning, I have the graphical power to just draw the dudes no problem with LODing, I just don't have the bandwidth on the network to send their states to everyone.
You are often quoted as saying "Soon, computers will be fast". What exactly does that mean? And what do you classify as fast?
I sent Tim Sweeney mail the other day thanking him for plugging me with that quote in a recent interview. He replied with ,"Haha! It's a cool quote. It will always be true" That is my take on it. That quote will always be true. As for what I think is fast. I am constantly amazed at how lazy I can be now with my general programming. Sure.. lets just try this brute force first, it'll probably be too slow to use, but I'll just get it working for now. Guess what. 9 times out of 10 it is fast enough. That is all fine and dandy though, but when you add everything else you want to do on top of it, it still is easy enough to slog the thing down to 2 fps. The future will mean faster computers, but that just opens the door for more stuff you need to be doing.
If you could beat the collective heads of all the 3d hardware manufacturers to implement a new feature, what would it be and why?
I usually stay out of that business. Once you start down that path you end up spending a ridiculous amount of time with it. But to actually answer your question... floating point framebuffer.
You ask for a set of 256*256*16bit images. The texture artist delivers them at 200*200*24bit just before you need them. What do you do?
Chances are I would not deal directly with the artist. They would put the texture in the engine and the engine would bitch at them until they did it right, not me.
Where do you start when you start designing/coding an engine?
The platform. The engine is the platform. Anything that uses the engine.. a game, a demo, a test, includes only headers from the platform and nowhere else (not even stdio). The platform is where you live, it is where everything works the way you want it, not the way some other guy wanted it. It also gains you the side benefit of super simple porting. You don't port the game, the demo, the test. You port the platform.
When you need to look up information for researching various graphics things, what are your favourite and most cherished resources?
That is what my friend google is for.
You are a big name in the industry, who has recieved praise from people like John Carmack and Tim Sweeney. You've worked at big name companies like 3d Realms and Valve Software. You've even run your own company. You have probably even watched Jack Mathews pick up women. Whats your "get into the industry" tips for those young aspiring flipcoders out there?
Realize that rendering your scene nowadays is just a fraction of an engine. Maybe 10%. Maybe. So don't get too cocky too fast. Don't think that you are "almost done" once you get something up that you can run around in. You have a long way still to go.
The most important thing is to make sure that it is your passion. Because if it is not, the journey is going to be painful. If you want to make tons of money, go do contract c++/sql coding. If you are doing it because you would be doing it even if you were not getting paid, then this is the business for you.
What do you have to say to people who are interested in starting their own game development studio?
Don't dig yourself in too deep, too quickly. Get as far as you can without taking any money from someone and keep the team as small as possible, for as long as possible. The best case is to have a fully completed level of the game before you even think about talking to publishers. This is extremely important. It will make getting a deal a lot easier. It also is important for when you get the deal. Your vision is already in place.
It has other benifits as well. Since you were smart and kept the team really small and now are ramping up slowly, the additional team members will see a game in place. They already know what the game is.
Remember most of all. This is your game.
What are you working on now (doesn't have to be commercial)? Other than that Sydney beach Tan :)
I got one of those pesky digital cameras in February and have went a bit out of control with it. Have 3500 photos so far and am in serious need for some organization. I went looking for a searchable photo album that would suit my needs, but could not find one. So I am building my own with php/mysql.
I also am doing research for my new book: From Geek to Mack in 21 days.
As for actual "work" stuff. My brothers Jeremy and Jason and I are having a go at another company. Online stuff. Games that run in a browser. We do have some simpler games, but the main draw are our real games that use a real engine. Not like the crap you see on the web now. Totally competetive with anything you would see at a store.
Any last words of wisdom, before this interview ends, and they take me back to the home?
Quit your job and move to Australia.
Anyway, thank you so much to Billy for doing this interview. And, thank you for giving us less experienced engine programmers the key to dealing with artists. Automated bitching.