Blog « off-planet
May 6th, 2010
I recently finished work on a slightly different project than I’m usually used to working on. It is a multi-player game called Participatory Chinatown. The game’s function is to facilitate community meetings in Boston’s Chinatown neighborhood by allowing community members to interact in a virtual environment that simulates the actual neighborhood. The game was conceived by Assistant Professor Eric Gordon at Emerson College. I was contracted by the Asian Community Development Corporation and worked closely with the game developers at Muzzylane Software and the Metropolitan Area Planning Council.
My part in the project was to take a collection of rigid character models, rig them for animation and then to animate several animation cycles for use in the game. Going from a film environment to a game environment was quite a learning experience as many of the tools I am used to using do not translate very well to the specific and procedural nature of games. For instance, I was unable to use complex and realistic rigging tools that are used in film since the game engine used Collada formatted models, which only supports a select variety of deformers. To work around this, I had to get quite creative in the way I rigged the model.


Generally, characters are rigged in such a way that animators actually control meta objects that then control the joints that actually affect the model’s vertices. In other words, these controls act as the puppet strings. However, for this particular application, the animation data had to be contained within the actual joints for use in the game. Not only was this a technical necessity, but also an efficiency issue since every part of the game had to be optimized for size and computational footprint. Unfortunately, this also made it rather difficult to animate. I could have chosen to struggle with the simple, bare-bones rig I had created, however the though of having to revise my work on a rig with no complex controls bothered me quite a bit, so instead, I made two rigs. One with no controls, and another with controls that animators are used to seeing. Using a series of scripts and constraints, I was able to take my complex rig and bake the animation curves into the game-ready version of the character which could be successfully integrated into the game by the software developers.
40 characters later, the game is complete and is now actively being used in community meetings! One of which I was able to experience last night. It was great fun to see the game in action with real end-users!
February 11th, 2010
Why does an over node in (insert compositing software here) not behave like I think it should?
I get asked this question a lot, so I thought I’d answer it here:
The answer is in the math. Over is defined as an expression: A+B(1-a). A is the rgb values of image A. B is the rgb values of image B. a is the alpha of image A and b, while not used in an over, is the alpha of image B.
take these two images:
![]() |
![]() |
Our goal is to put the teapot, (image A) over the grass (image B). To do this, we need an alpha channel of image A to cut out the teapot:

Simple enough right? If you just plug in the teapot with its alpha channel over the grass, we should see just that, right? wrong! you will see this:

Here’s the problem: A+B(1-a). Let’s consider a point in the middle of the teapot. It as an rgb value greater than 0. it also has an alpha value of 1. therefore, A+B(1-1)=A. That’s great. we got just A. Now let’s consider a point we expect to be just grass. it also has an rgb value greater than 0, but an alpha value of 0. therefore, A+B(1-0)=A+B. Oh no! we didn’t want A+B. that means, we’re adding the rgb values together, which in this example produces a gray tint over the grass since we’re adding that gray value behind the teapot to the grass. The only case where this works is if the rgb of A is 0 where the alpha of A is also 0 since 0+B(1-0)=B.
In order to get the result we expect, we must first premultiply A by its alpha channel. This is expressed like this: A*a. Then, plug that in to the over expression and you get A*a+B(1-a). Now take the point over the grass again. plug everything in and you get 0+B(1-0)=B. Yes! That’s exactly what we wanted!

That’s why you have to premultiply to use over correctly.
February 11th, 2010
The other day, I read an open letter from Lee Stranahan, a VFX veteran and blogger. The letter was to James Cameron, director of the wildly successful Avatar. You should read the letter at The Huffington Post. Since Avatar’s biggest draw is the ground-breaking and stunning visual effects, Cameron knows better than most just how important VFX is.
Most movies made today have at least some VFX shots in them and many of those elements (backgrounds, environments, characters, etc.) are primary story telling vehicles. Visual effects have also been a way to save a lot of money on shots that would otherwise be too costly to produce. It often surprises my friends to learn just how much of their favorite movies were shot primarily on sound stages. It surprises me sometimes too!
One would think that such an important tool in filmmaking would be treated as such… Important. In fact, this is not often the case. It is considered necessary, but not valued. It’s pretty frustrating to see the names of VFX and CG artists listed toward the end, if not dead last during the rolling credits of a movie. The situations we often joke about as ‘war stories’, sleepless and stress-filled nights, 7 day work weeks and endless job insecurity, are not isolated or rare incidents. This is what one experiences regularly during the post-production of a movie.
I don’t really think this or any letter will bring about any substantive change, but I do think it raises some important problems that I, for one, considered a given in the professional world.
November 21st, 2009
I’ve been making recent strides in finding new projects and new opportunities here in Boston. I’ve gotten a couple web design jobs, a small photo gig and, most recently, I’ll be creating some character models for an online game being produced by my roommate’s Community Development organization. Throughout all of this, I’ve also started a part-time seasonal job selling computers at the Best Buy in Cambridge.
The web design work has been a great way for me to dive back into html and css. I’ve fallen in love with Wordpress in the process. I even turned my own website into a Wordpress powered site, and I’m very pleased with the result! I still have some pages to transfer, as well as some small design issues to tidy up.
I’ve also been thrown back into a production situation, but this time on the game side. I’ll be be developing animated player and non-player models for a browser-based multiplayer game called Participatory Chinatown. I’m really psyched to get going and dig my teeth into this one! I’m sure I’ll have to readjust a lot of my habits to make the models and textures suitable for real-time rendering.
Anyway, the future is not bleak.
September 21st, 2009
That’s what I tell people anyway. Someone said I was “funemployed”. I like that. It is fun. For about a week. Then it gets boring. Then it gets stressful. Then it gets rather existential. At least that’s my experience so far.
Surrogates, the other movie I was working on at Brickyard wrapped up some time ago. It ended much the same way as the Proposal. Sprinting to the finish line, and collapsing on the ground hard after breaking the ribbon. For the first time in my life, I quite literally fell asleep while working. I’m not talking about resting my eyes and falling asleep by accident. No. This was “Jeremy. track in a new tree to cover up the one that flickers.” “Ok.” *click click click, drag drag drag, fall asleep*. I fell asleep with the wacom pen in my hand without anyone noticing. Apparently, my supervisor thought it prudent to hold his hand in front of my mouth to see if i was still breathing. Needless to say, I took the rest of the night off after spending the previous 49 hours in the office.
But now I have the opposite problem. With little to do, I find myself writing blog posts at 5am and eating breakfast at inappropriate times. Often, those breakfasts consist of oreos and milk, but don’t tell that to my mother. The first couple weeks were a welcome respite, and actually had several small glimmers of hope for continued employment, but those glimmers quickly fizzled.
Having said all that, I haven’t been completely unproductive. I’ve decided to try and do event photography professionally. I don’t really aspire to make it into any kind of career, however I’ve gotten a couple paying gigs, so It’s definitely something I can do for some extra cash. I also finally managed to finish my new demo reel, which features some before/afters of some Proposal shots, as well as a grasshopper animation I worked on for a freelance job several months ago. I’m happy with the way it turned out, though now I have to find people to send it to.
That leads me to my next thought. Looking for a job. I’m not quite sure if I’m looking for a job. This is part of that existential thought I mentioned earlier. Applying for jobs in the visual effects industry limits you geographically. Though there are many successful studios around the country, LA seems to remain the hub. Through the advice of friends, family and contacts, it’s become clear to me that LA is the logical choice if I want to keep my career momentum going. However, I don’t particularly like southern California, nor do I have limitless financial resources with which to make a move worry-free.
This has all got me thinking about what my career means to me, and what I really want to get out of it. Thinking short-term and long-term and every-term, I’m really not sure what I want. Maybe I’m finally going through what so many people I went to school with have gone through already.
August 5th, 2009
Anyway, SIGGRAPH and CAF were a lot of fun and I was really happy to see everyone who was able to make the trip down.
July 22nd, 2009
Due to the infrequency with which I’ve been updating my blog, I’m going to have to do this in somewhat of a list format. **EDIT: some of this post is a repeat of my last one, but with more detail. I should read my previous post before writing a new one**
-The Proposal:
The movie that I had spent close to 9 months working on was released to the public almost two months ago. While this was and is very exciting news, being overcome with both joy and frantic life-purpose finding, I neglected to announce this fact and offer any reflections. (I was also unsure of the terms of any non-disclosure agreement I was under, but I believe it’s safe to talk about now).
Having completed such an epic undertaking, I have a hard time remembering how we all got through it! The sheer volume of data that went across all of our screens seems inconceivable to me now. Along with my fellow junior artists at Brickyard, I can safely say I’ve learned, un-learned and re-learned everything I thought I knew about the visual effects and computer graphics industry. From theory to process, I’ve gained a solid foundation and even more questions. I can only express what I have now as an unquenchable thirst for more!
-The (movie I probably can’t mention the name of yet):
More is what I got. Almost as soon as The Proposal wrapped, I was called back to work on a shot for another movie. Considerably more complex and of a wholly different nature than anything we’d done before, the shot consumed 100% of my time and is the biggest culprit responsible for my blogging hiatus. Instead of rotoscoping, I was tasked with producing 3D assets for a 25 second aerial shot involving the placement of photo-real roof-top objects that, at times, are very close to camera. Without going into too much detail, this shot has tested every single aspect of my knowledge and talent and still continues to do so.
Working for a new and fairly small company, one must be utterly flexible and be prepared to wear more than one hat. Often times, wearing multiple hats at once. Over the past month and a half, I’ve played the role of pipeline developer, modeler, shading and lighting artist, matte painter, render wrangler, rotoscope artist and compositor. With the addition of another similar shot, I’ve had the chance to refine my methods and I’m pleased to say that the second time around is going quite a bit smoother than the first. The fact that I got home at 9pm instead of 5am the day before a delivery is proof of that!
-Brickyard University:
In related news, Brickyard Filmworks is going to be putting on a training program for young and aspiring artists in the Greater Boston Area. This program is designed to train local talent for eventual work on feature films that Brickyard will work on. The reason this is important to me, is that I will be the instructor! Working with our VFX Supervisor, I’ll be teaching people how to rotoscope and paint-fix for feature films. I’m excited about this for two reasons. First, I love teaching. Second, with more fresh talent at a small company, that means I get to move up and possibly become a compositor, which is also something I love!
The program is supposed to start soon, although the actual start date depends on our current production schedule.
-SIGGRAPH, 2009:
The Incident at Tower 37 will be in the SIGGRAPH 2009 Computer Animation Festival! We always talked and dreamed about it, and it finally happened! I bought my plane ticket to New Orleans today, and I can’t wait to go see it on that big, gigantic screen alongside friends and hundreds of similarly enthusiastic people. I feel very proud and fortunate to have been part of such an amazing team of artists and filmmakers that have (see above paragraphs for proof) profoundly shaped my life.
-Miscellaneous:
Other more sundry things in my life… I bought a bike. I spent 300$ on a road bike to take me to and from work every day. Ironically, it was more expensive than my recently plane ticket to San Diego.
I bought a new camera too! Since the untimely demise of my old Canon Rebel, I had been reluctant to buy a new one due to monetary concerns, but the upcoming Ultimate tournament in Wildwood, NJ prompted me to get a new Rebel. This one is smaller, lighter, has a larger image sensor, and can even shoot live action HD footage! It uses H.264 compression, but I couldn’t ask for more from a still camera.
In anticipation of assisting my boss with an FX Phd (www.fxphd.com) class he teaches on advanced Nuke compositing, I’ve been given a semester of classes at FX Phd. I’m taking a class on DSLR cinemetography, crowd simulation with Massive and 3D tracking with SynthEyes. The classes have only just begun, but I’m already having fun with Massive and learning how to better use my new camera.
-The End:
I hope to write more often so I can go more into more depth about individual topics that cross my mind. With the volatile nature of the VFX and post-production industry, who knows… I may have a lot of free time to write!
June 17th, 2009
Quite a bit has happened since I last updated this little soap box. First and foremost, The Proposal, the film that I had worked on for nearly 9 months, is being released in theaters this Friday. If you stay all the way until the end, you can see my name in the credits! Go see it to support the Massachusetts film industry!
After The Proposal wrapped up, I had about a week off before being called back to work on a commercial, and about 3 weeks ago, I was “reactivated” to work on a fairly complex shot for another movie that Brickyard has been working steadily on for quite a while.
In other professional news, Brickyard Filmworks is trying to launch a new training program designed to attract and train talent for entry-level positions when Brickyard wrangles in a new film. I think it’s a great move, not only for Brickyard, but also for the industry in MA. If enough serious talent is in MA, then more and more work will come out of LA and into my favorite state!
April 29th, 2009
I follow a blog called the Power Line. It’s a blog written by three lawyers from around the country. All in all, it’s a pretty right-wing leaning website. I read it a lot and always wish i could respond, but the lack of a comment button on the blog makes that a little difficult.
So… without a direct form of feedback, I thought maybe I’d respond to some of their articles here. Let me preface the following by saying that I don’t consider myself a very political person other than that I pay attention. I have opinions, but I rarely feel an overwhelming desire to make those opinions heard.
Anyway, on to the subject of this post:
I read this one about a news article regarding a recent statement made by Republican Senator Michelle Bachman. She was quoted by a conservative media outlet called Pajamas TV saying that she finds it an “interesting coincidence” that the last swine flu outbreak in the U.S. occurred under a Democratic president. The Associated Press picked up this little tidbit and pointed out that the last outbreak of swine flu actually took place while Gerald Ford was president.
The author of the blog post, John Hinderaker, was gentleman enough to point out that this statement by Senator Bachman is completely ridiculous, so points for that. However, he went on to say the following:
“What this story illustrates is the symbiotic relationship among liberal web sites, the Associated Press and mainstream newspapers. Liberal activists do the work, digging up nuggets that the Associated Press writes stories about and papers like the Star Tribune carry as articles. All for the purpose of trying to defeat a conservative, like Michele Bachmann, in the next election.”
Basically, (if I am interpreting this correctly) there is a conspiracy of left-wing radicals who use the internet to coordinate their effort to undermine conservative politicians.
My response is this: Is the Republican population that much of a sore loser that they’ve stooped to weak conspiracy theories? This is how the internet works! Anyone, not just the liberal media outlets can find this stuff. What about Fox News? When’s the last time they’ve pointed out a gaffe from a conservative politician? Not lately. I’m not saying this is fair, but that’s just how it works in this country.
I also feel I should point out that liberals do the same thing when they’re sore losers. Walking through Harvard Square in Cambridge during the Bush years meant wading through lunatics handing out flyers and pamphlets claiming George Bush masterminded 9/11. It’s all the same tactics and grasping at straws.
What this little story does point out is that apparently left-wing nut jobs seem to be much better at networking and using the internet than right-wing nut jobs.
April 27th, 2009
My second viewing of the 1st shorts package and the Boston IFF was just as good, if not better than the first. First off all, Hanging out with the Tower 37 crew before hand was great! I got to catch up with everyone and see some people I hadn’t seen in quite a long time. After the show, we all made our way to a bar/restaurant in Somerville (wish I could remember the name!) for drinks. One of our ranks, Basaam, did a suberb job of explaining to us all why he thought the film Undone (one of the shorts in the festival) was one of the best. Previously, I had thought the film was too long, too ambiguous and contained several elements that I thought were a tad cliche. Basaam, however, explained in great detail about the language of film, and how Undone was speaking that language very effectively. I came out of the discussion with a new appreciation for the short.
All in all, I had a great time, and I can’t wait to hear about the two other festivals that took place that night!