And now for a behind the scenes interview with Ben Martens...

Q: It's obvious that you have spent way too much of your life working on this project.  How and when did this obsession begin?
A: It all started during my internship during the summer of 2000 with John Deere in Moline, IL.  A couple of my co-workers introduced me to PovRay.    PovRay is an open source 3D rendering tool.  I was immediately interested and started learning how to use it.  You can read a simple PovRay tutorial that I wrote for DevHood if you are interested.  The idea to model Legos came from some random web surfing when I ran across www.ben.com.  The guy who runs that site had spent some time rendering Legos.  It seemed like a good way to learn.  I could hold Legos in my hand and attempt to translate them into the 3D world.  I started building a library of Lego pieces.  Then I started getting the idea for building a whole city and making a movie.  You can download the source files I used, but there are no promises about how they will work.  I'm not responsible for any damage they might cause.  I'm the only one who had to use these files so they aren't terribly intuitive.  If you are really interested in Lego raytracing, I would recommend that you skip my library and check out the work of Anton.  He has a huge library available for download.  I found this site after I had finished most of my work so I didn't use his files.  However, if I was starting over, I would start with his work because it looks great.

Q: How much effort goes into making a single Lego piece?
A: Believe it or not, the entire Lego city is made up of intersections of rectangles, circles, and other basic shapes.  For example, here is the code for a Lego person.  I spent the first summer just building different pieces that I would need for the city.  I made an effort to build a virtual city that could actually be created in real life.  The only parts of the city that aren't standard Lego pieces are the clock faces and the bell on the clock tower.  However, any kid with a little imagination could use some electrical tape for the clock face and a little aluminum foil for the bell.

Q: What does it take to make one frame of video?
A: It took about a year and a half to build the library of pieces and all the tools.  Using all that information, it takes me about one or two hours to script a second of video.  Then I have to render the video and that's where the real time comes in.  It can take as much as fifteen minutes just to render one frame.  When you think that there are thirty frames in one second of video and this movie is over two minutes long... you start seeing how long this can take!  If you look at the Facts and Figures page, you can see some interesting statistics.

Q: You mentioned that you used tools.  What did you use besides PovRay?
A:  Yes, I actually wrote three tools of my own to assist in the creation of this project:
LetterBoxer:  I rendered all the frames at a resolution of 320x180 and I wanted to get it into a 4:3 aspect ratio.  I wrote this simple program in C# to add black bars on the top and bottom of the picture to change the aspect ratio.  I posted the source code for this little tool on DevHood.
LegoHelper:  This tool was written in C++.  It allows me to perform numerous scripting jobs.  From an early point in this project, I decided to create one separate POV file for each frame in the movie.  This would allow me to split the rendering work up among a number of computers.  However, this also presented a problem because I had to generate a lot of files.  For example, if I want to fly the camera around, I need to generate one file for each frame with the camera in a slightly different position for each frame.  LegoHelper gives me the capability to fly the camera along various paths, generate a walking Lego guy (about a month of work in itself), and move other objects along paths.  I may post the code for this tool sometime in the future, but right now it is so ugly that I don't think it would be of use to anyone.
Render.NET:  The creation of this program took a total of about 4 months of solid work.  I wrote it for the 2002 Purdue .NET Programming Contest.  Kevin joined the team and provided a lot of help with the GUI and also helped iron out some bugs.  Basically this tool is a distributed rendering system.  There is a central server that contains all the frames that need to be rendered.  A client connects to the server and downloads a small chunk of work, renders the picture, and then uploads it back to the server.  The client program is very simple and only requires a single click to run.  Kevin and I ran away with the contest and gathered up 85% of the final vote.  I'm currently working on updates to the system and looking for a place to host the server for a big rollout.

Q: Are there any more projects in the works?
A: Yes, Jim has a great idea for the next movie.  It has a strong story line, and we'll be able to build some good graphics around the story.  We'll be releasing more details as the projects start to evolve.  I'm also thinking about buying a domain name and real web host instead of messing around with Tripod.  Stay tuned to this website for more details.

Thanks for your time, Ben.  We're all looking forward to seeing more Studio711 productions!