Thursday, September 4, 2008

Another post, another job


Yup, so it's been another... 7 or so months. I've moved on from IBM, and went to work at EA as a Technical Artist. EA, or Electronic Arts is located in California (Bay Area to be specific.) It was in a nice office park, with sunny skies, green grass, and beautiful lagoons. Typical California weather. The office building new and clean looking (altho quite dark on the inside, which is pretty typical I hear for studios)

I worked on MySims Kingdom, a new Sims title for the Wii. It's a sequel to MySims, which came out just last year.

I was quite happy to get a job as a Technical Artist, since that's the kind of position that I've always wanted to be. I wrote tools in Python for Maya and C# tools to help with outsourcing. I also helped out with helping artists with technical issues and checking their work for technical soundness. I debugged shaders and contributed on development of new ones.

It was actually quite a nice job. My first game gig, it and it wasn't the crazy crunch filled atmosphere that I half-expected it to be. I never stayed longer than I wanted to, and there definitely was a sense of camaraderie amongst the team members. It was true that everybody on the team seemed to be nice people. My boss was especially nice to me, and was very protective of his team members from other departments in the team. Even when there was tension between others in the team, I would somehow feel separated from it.

I've learned quite a bit about game development and gotten valuable experience interacting with people on a large team. I've made some cool friends, and valuable contacts in industry. Working in a big team certainly made me feel like I was part of a big thing. Working towards a very real and clear goal with 70 other people is pretty motivating in and of itself. You don't quite feel the sense of ownership that you do with smaller projects like Bluegrass, but the end product will reach many more people.

I do miss Boston still, it was quite a fun and exciting city. Easy to get around and not too big, it was the perfect sized city. The Bay Area is like a sprawling crowded suburb. The focus is on the suburbs a little bit more, and even though it's easy to figure your way around, it's quite a pain to get from one place to another. Makes me want to move to Japan where you can get to anywhere with the train. Still, California does have its perks, like having a huge selection of Japanese food right outside your door is quite awesome. There are a huge amount of asians here compared to the East Coast. Unfortunately, California can't make decent pizza. That was quite sad. I will miss my Villa Pizza in Holmdel, NJ.

Labels: , ,




Tuesday, January 15, 2008

What I've been working on for the past 7 months

Bluegrass video in Second Life
A couple of days ago, Rational announced Jazz, which is a suped up version of Eclipse. My project at IBM dealt heavily with Jazz, so now that Jazz is announced, I can say what I've been working on.

Bluegrass is the project that I've been working on at IBM over the past seven months. It's a virtual world embedded in an IDE. Bluegrass is targeted towards distributed software development teams. It helps them communicate and brainstorm about project ideas in the virtual world.

The three main objectives were:
1. To serve as a visualization for the team artifacts.

Various team artifacts such as how the team is doing overall, or what work each member has been doing is shown in world. This helps with team awareness of what's going on with the team.

2. To provide tools for brainstorming meta-work.

We provide a method for users to create post-it like bubbles that they can arrange in any way they like. Users can import images and other information from online resources. There is a save/load capability to store your past brainstorming sessions.

3. Give users a social place to hang out and get to know each other.

We implemented several social games and tools that users could play with to give users a topic of conversation. We also connected with outside data sources like the corporate directory and corporate facebook application to give users more of an idea of who the people are.

I guess seeing the thing is the best thing, and we have a video in IBM's codestation in Second Life, where you can see it. The SLurl for it is:

http://slurl.com/secondlife/IBMCODESTATION/124/159/25/

Also, there has been a bunch of press coverage about Bluegrass. Here are some links to some articles:

http://www-03.ibm.com/press/us/en/pressrelease/23308.wss
http://www.infoworld.com/article/08/01/14/jazz-bluegrass_1.html
http://www.eweek.com/c/a/Application-Development/IBM-Opens-Jazz-to-Developers/
http://dusanwriter.wordpress.com/2008/01/14/ibm-launches-project-bluegrass-virtual-world-collaboration-tool/



Wednesday, January 2, 2008

Pixel Machine: A Ray Tracer

So a friend of mine showed me a site called Pixel Machine. This guy wrote a ray tracer in one day. I looked at it and said, "Hey, I could do that." Now why I'd want to do that to anybody might be a complete mystery, but I happen to need a little brushing up on C++, so I decided to go ahead and try it out. I started this morning at 10AM or so, and we'll see how far we get today!

EDIT: I switched the order of it so the more recent entries stay up top...

By the way, you can download the latest source here.

Day 3 5:30PM

Super Sampling and Reflective Materials

Added anti-aliasing code and extended the phong material to support reflection. It now takes a while to render the image.... Also, the image to the left has blurry reflections turned on. You can see that the balls appear on the floor with a blurry reflection.

Also changed the color of the background to blue, so you can tell that the reflected material is blue.





Day 2 12:00AM

Didn't really work on it much today. Today was the big interview day. I didn't get a chance to work on it much, but here's phong materials!









1:00AM

Rested for the rest of the night. Wondering where to take this next...




12:00AM

So now we've got triangles and shadows working. There's a plane sitting under the two balls, and it doesn't look like the balls are floating in mid-air.

Also it turned out that my normals were correct but I was calculating the Light vector backwards... doh!







10:00PM

We have colored spheres!! Yay! Reminds me of old school CS courses...

So, I added a Light class, and a material class with a lambertian child. It was only after getting colored images that I realized that I had my image flipped 90 degrees sideways, and the r and b channel were flipped.

So this is two spheres, placed at 0,0,0 and 2,0,0, looking from the +z axis towards the origin. There's actually something funky going on with the red sphere, but I'll get to fixing it soon.

Next steps: Phong materials, Triangle geometry, Mesh Geometry, and Acceleration Structures! Oye so long...




7:00PM

Dinner break and work out break...no work done... I see how trying to program all day is so difficult... props to those who just blow through 10+ hours in a row straight.




4:00PM
Click to see full size
Now to get to the guts of the program. Here's the easy part, right? *harhar*

I set up classes for all the following: Camera, Geometry (including just a Sphere for now), Vector3 class for math functions, and the Scene object (contains all geometry and lights information). I also created an intersection Record data structure that can hold all information about the object you hit in the scene.

For now, i just intersected a sphere at 0,0,0 and my camera at 5,0,0 looking towards the origin. Also for now, I just made the program return a white color if it hit anything at all, and black if it hit nothing at all. Wee, we have a circle!!




2:00PM

Lunch Break:I just wanted to say that I love Villa Pizza of Holmdel, NJ. It is the best pizza ever! There's a reason why it's been my favorite for 10+ years. Okay, end rant. Back to work.




12:00PM

Click to see full size

Start! I figured there were two parts to writing it:

The easy part: making the ray tracer.
The hard part: doing all the setup.

So, I started off with creating a way to write out image files. I went with what the Pixel Machine did, since that was not to be the hardest thing. BMP's are "braindead" according to my friend, so I went with bmps, and I made a gradient 256x256 image.



Thursday, November 29, 2007

Demo Reel



Next semester, I am returning back to the ETC in Pittsburgh to finish up my Master's. And, in ETC fashion, I had a look at where I stand in terms of my work shown off, and realized that I needed to revamp some things. So, I put my personal project on hold, and took a minute (or a weekend) to update my demo reel.

So, I've updated the content of my website:
- Uploaded a new version of the reel.
- Uploaded a Table of Contents for the reel.
- Updated projects page with video of fluid pong.

Comments and critique is always welcome!



Wednesday, October 17, 2007

Let me start using this blog like it was meant to be used

That's right! For art! Yup, so I got off my lazy butt and started to do some artwork. It's been a good summer and a few months since I've touched my RaptorBlood model, but I finally found the DVD that had all my work on it. I was able to get my ppt where i had a bunch of renders I did for my presentation at the ETC. I've posted all of them in my personal artwork page

I'm thinking of continuing my work on this model, and posting the results up on the blog. I'll post up the ways that I did things, so people can try them out or tell me that I'm doing things completely backwards!! Maybe if I'm ambitious, I can do a quick ~30 sec animation with RB with an environment...

Anyway, I bought this book, which I hear is totally awesome for creating facial rigs and controls. I'm thinking of applying some facial animations to my RB model, probably not too many. I don't even think I'll have enough to make him speak... The book says you need 40 blendshapes to truly get full range of motion, but I don't think I'll be needing that many, and it's a little different when your character has a non-flat face. (ie: has a muzzle)

I'm pretty excited, and I hope I get time to work on this side project of mine. It's going to be both artistically and technically challenging, which is what I love to tackle most, so it should be a worthwhile effort!