You're a hard-core computer programmer yet you went to Hampshire, a liberal arts college. Why?
That's easy: I went to Hampshire because of their educational philosophy. Since I was about 11 years old I have been immersed in my own computer and math projects, and I wished to continue this in college. After highschool I visited a few computer-oriented universities and was told that I'd have to wait years before I was given the freedom to make my independent projects part of my studies. Hampshire, on the other hand, allowed me to make practically my entire education out of my own projects. That's a fantastic way to get a degree!
So what was your Hampshire experience like?
Well, it was good and bad. I learned a tremendous amount on my own, but it was frustrating to not have the resources I might have had at another school. What I really crave is to work on large projects together with other programmers, but I wasn't able to find that here. So, I've spent most of my time working on my own projects. The times that I've worked in the game industry (see below) have been great for me, because I have people to communicate with and a common goal; I'm really looking forward to having that again in the near future!
What kinds of projects do you work on?
My project-interests are mostly in computer graphics and mathematics; solid modeling, curved surfaces, adaptive LOD, collision physics, 3D engine optimizations, visible surface algorithms, hyperbolic and non-traditional spacial representations, encryption, number-theory, volumetric fog, fractal terrain, and lighting (to name a few). I'm interested in anything that poses a complex technical challenge and where the solution leads to something aesthetically beautiful. This includes virtually everything in cutting-edge game development, as well a number of topics in recreational mathematics such as square-packing and polyhedra. I used to do a lot of software rendering stuff before 3D cards are available; DOOM-style texture mapping, quadratic lighting, special effects, etc.
What is it like to work on your own projects?
I'm the kind of person who prefers to spend a lot of time thinking about an idea before actually coding it. This way I can avoid getting stuck with an impossible problem halfway through, and also I find that more ideas come to me when I'm sketching diagrams than when I'm sitting in front of a screen. So, when I have an idea, I'll usually work out the details in a café for a couple of days and then go back to my computer and make it work. My patience level is extremely high, I can work on a problem indefinitely as long as progress is being made. Often I come across serious technical problems - in these cases I'll try researching on the Web or at whatever computer-science library is available, or go back to the café for some more caffeine, or file the project away as "incomplete". As I learn new things, I come back to these old projects and make further progress on them.
What are your sources of inspiration?
One of the largest sources of inspiration for my projects comes from video games. My interest in video games has always been about 50% playing them and 50% figuring out how they are made. Long before I could program real-time graphics, I would spend hours staring at video games and deducing the technical capabilities of the graphics hardware from the design decisions and visual artifacts. Once I started to learn about real-time graphics programming, I found that most of what I had deduced was correct. Nowadays, I read all the game source code and technical specifications of 3D chips (anything from API to register-level specs) that I can get my hands on. This kind of information serves as a catalyst for my project ideas.
You're interested in hardware too?
Definitely. I actually somewhat regret not having the opportunity to take hardware/ASIC design classes in college, as this is one of my interests that I have not been able to pursue on my own. However, I have taken one digital electronics course at Princeton University while I was in highschool, and I think I have a fair understanding of hardware design issues on a digital (non-analog) level. I am comfortable with digital logic circuits, as well as assembly language (Intel and 680x0). I would love to work at a 3D chip company, equally as much as at a game company. Whichever the case may be, I'm very interested in 3D hardware.
So you're pretty much entirely self-taught in computers?
I'd say so. I've learned most of what I know about computers from my own projects and experimentation. I also have learned a lot from reading technical papers and source code that's available on the Web, visiting various newsgroups, and my past experiences working in the game industry. I've taken computer classes at college, but mostly for the purpose of getting credit for projects that I would have done whether or not I had taken the class.
You've worked in the game industry before. Where was this?
My first game-industry experience was at Leaping Lizard in Gaithersburg, Maryland. This was the summer after my first year at Hampshire (1996), and also my first introduction to hardware-accelerated graphics. We were using 3Dfx cards before they were available to the public - that was pretty exciting! My second game-industry job was at Zombie VR Entertainment in Seattle, Washington, during the summer of 1997. I worked on the game SpecOps, again programming for 3Dfx cards.
Where else have you worked?
Off and on I've worked for WorldGate Communications in Bensalem, Pennsylvania. They're not a game company - their product is a cable TV/Web browser system. It's similar to WebTV in some ways, but has a lot of advantages over it as well. My programming projects at WorldGate included writing a modified MPEG encoder and an RSA/RC4 encryption system, both from scratch and heavily optimized.
What kind of job are you looking for now?
I would definitely like to work in the game industry, because I'm intensely interested in real-time computer graphics and games. Working with cutting-edge technology is also high on my list. Ideally, I would like to work on a project from early in its conception so that I could take more of a part in its creation, but I would also be willing to jump in at a later stage.
What are your other interests?
Besides computers and math (and my girlfriend Sharyn - see my photo gallery)? I like industrial-techno music, and ethnic foods; especially sushi, dim-sum, and Indian. When I can tear myself away from my computers and piles of math equations, I definitely like hiking and exploring in the wilderness, watching movies, TV (Iron Chef, Fox Sunday night cartoons, etc.)
This page © Bernie Freidin, 2000.
Last updated April 4th, 2000.