Adventures in cross-training
by Gerald Fishel · 05/03/2009 (2:46 am) · 14 comments
First some background.
I've been a programmer for a long time. I recently realized that I've been programming twice as long as some of my fellow Torquesters have been breathing. Yikes.
I have worked in various industries, but at least two thirds of that time has been in entertainment in one way or another, primarily in visual entertainment; motion pictures and games. I spent some time developing "serious games", and I include that even though it's not really supposed to be entertainment per se. I've spent a lot of time developing tools for artists, add-ons for existing tools for artists, and visual components to make their art look better (shaders and such).
However, throughout those years, one thing has remained mostly the same: my "programmer art". It has evolved only as much as necessary. In the earliest days it was lines and circles to make stick figures for testing 2D animation systems. With the 3D revolution, I upgraded to boxes, spheres and cylinders. Nifty.
People often found it odd that I could make such useful tools for artists, yet my own art was, well... simple would be a kind term.. hideous would probably be more accurate. I spend thousands of dollars every year for all of the latest DCC tools so that I can make sure all of my tools are worthy of them and up to date. But I never really used them beyond that. Seems like quite a waste, eh?
So recently I was talking to Rick, who is one of my best friends, business partner, and lead artist who has traversed the entertainment waters with me. It turns out that he has always wanted to learn programming, but never found the time either. So we made a deal: I would teach him the finer points of programming, and he would teach me how to make art. Poor him.
So for the past couple of months, every week we would spend about 10 hours teaching each other things. It has been a lot of fun and quite educational for both of us.
Our current game project is fairly ambitious, and requires a heavy load of content to pull off. So about a week ago we decided that I would start working on some of the simpler art as well. And that I would try to create a "level" for our game, (assuming I don't get frustrated and lob my PCs off the Palmetto Expressway), and that if need be (and there will probably be a need) the professionals would go over it and fix whatever needs fixing at the end :P So I'm now a part-time intern for my own company. Awesome.
So, since this is something altogether new and exciting for me, I'll post about my progress in an occasional blog, along with some relevant screen shots and/or videos. Maybe it will inspire some other programmers to expand their horizons, or (more likely) maybe it will make the artists among us feel really good about their work in comparison to mine :P
So this video shows what is the beginnings of a warehouse district. RIght now it's just part of one warehouse, but at the end of the road there will hopefully be 5 complete warehouses, and a dozen other "exterior only" warehouses, along with some ongoing construction, equipment and vehicles, and a tree or two, to round out the scene.
The lighting is sub-optimal, so there are occasional artifacts visible, little black spots, light bleeding, and such. That's primarily because I'm rendering the static lighting in a fairly low draft mode. We use a Mental Ray based lightmap rendering system, and to render the lightmaps for even this basic scene at full quality would take about 6 hours in my little render farm. This took about 15 minutes, so I will deal with the lower quality and artifacts until the scene is done and it's time for final lighting tweaks.
---
---
Not exactly earth-shattering work here, and my texturing still needs lots of work, but this is the first time I've ever really made anything that looked like anything other than a ball, a box, or spaghetti... so for me it's a Picasso... errr.... something like that.
I'll post another look at where I'm at next week, and see how this progresses. I'm hoping to be able to at least have the full structure of this warehouse completed; there are some back rooms, and an upstairs area. And then a million little details that need to be done...
Cheers
I've been a programmer for a long time. I recently realized that I've been programming twice as long as some of my fellow Torquesters have been breathing. Yikes.
I have worked in various industries, but at least two thirds of that time has been in entertainment in one way or another, primarily in visual entertainment; motion pictures and games. I spent some time developing "serious games", and I include that even though it's not really supposed to be entertainment per se. I've spent a lot of time developing tools for artists, add-ons for existing tools for artists, and visual components to make their art look better (shaders and such).
However, throughout those years, one thing has remained mostly the same: my "programmer art". It has evolved only as much as necessary. In the earliest days it was lines and circles to make stick figures for testing 2D animation systems. With the 3D revolution, I upgraded to boxes, spheres and cylinders. Nifty.
People often found it odd that I could make such useful tools for artists, yet my own art was, well... simple would be a kind term.. hideous would probably be more accurate. I spend thousands of dollars every year for all of the latest DCC tools so that I can make sure all of my tools are worthy of them and up to date. But I never really used them beyond that. Seems like quite a waste, eh?
So recently I was talking to Rick, who is one of my best friends, business partner, and lead artist who has traversed the entertainment waters with me. It turns out that he has always wanted to learn programming, but never found the time either. So we made a deal: I would teach him the finer points of programming, and he would teach me how to make art. Poor him.
So for the past couple of months, every week we would spend about 10 hours teaching each other things. It has been a lot of fun and quite educational for both of us.
Our current game project is fairly ambitious, and requires a heavy load of content to pull off. So about a week ago we decided that I would start working on some of the simpler art as well. And that I would try to create a "level" for our game, (assuming I don't get frustrated and lob my PCs off the Palmetto Expressway), and that if need be (and there will probably be a need) the professionals would go over it and fix whatever needs fixing at the end :P So I'm now a part-time intern for my own company. Awesome.
So, since this is something altogether new and exciting for me, I'll post about my progress in an occasional blog, along with some relevant screen shots and/or videos. Maybe it will inspire some other programmers to expand their horizons, or (more likely) maybe it will make the artists among us feel really good about their work in comparison to mine :P
So this video shows what is the beginnings of a warehouse district. RIght now it's just part of one warehouse, but at the end of the road there will hopefully be 5 complete warehouses, and a dozen other "exterior only" warehouses, along with some ongoing construction, equipment and vehicles, and a tree or two, to round out the scene.
The lighting is sub-optimal, so there are occasional artifacts visible, little black spots, light bleeding, and such. That's primarily because I'm rendering the static lighting in a fairly low draft mode. We use a Mental Ray based lightmap rendering system, and to render the lightmaps for even this basic scene at full quality would take about 6 hours in my little render farm. This took about 15 minutes, so I will deal with the lower quality and artifacts until the scene is done and it's time for final lighting tweaks.
---
---
Not exactly earth-shattering work here, and my texturing still needs lots of work, but this is the first time I've ever really made anything that looked like anything other than a ball, a box, or spaghetti... so for me it's a Picasso... errr.... something like that.
I'll post another look at where I'm at next week, and see how this progresses. I'm hoping to be able to at least have the full structure of this warehouse completed; there are some back rooms, and an upstairs area. And then a million little details that need to be done...
Cheers
#2
05/03/2009 (4:45 am)
This is so cool! What a great idea, and how cool to be working with someone else down to take on the challenge of stepping outside their comfort zone as well. I'm inspired to teach myself some coding now :)
#3
05/03/2009 (4:47 am)
Looks like pretty nice lightmaps with Mental Ray too!
#4
05/03/2009 (7:10 am)
Quote:I would teach him the finer points of programming, and he would teach me how to make art.I'm with Brett, this is very inspiring. I'd often wondered if I even had the capability to grasp coding. I'll be watching this series with great interest. Any possibility you could tempt your buddy Rick to post about the experience from an artist's side?
#5
05/03/2009 (7:16 am)
Nice!
#6
@Zoidy, thanks. That was one of the things I did pick up over the years, and one of Rick's constant lessons; little details can make all the difference. On the other hand, I can already see this coming: it's going to be hard to stop and declare something 'good enough'. I may try to detail it to death. I've been down that road in programming too though, so maybe I can do it.
@Brett and Russell, go for it. You're both smart enough to handle coding. We just pretend it's hard to justify our salaries :D Once you get your head around a few scary concepts the rest is cake.
I'll try to get Rick to post about his side of the story. I've been trying to get him on here for a while, but Rick is a bit of a hermit so it's no easy task. I'll keep trying though!
05/03/2009 (7:46 am)
Thanks guys.@Zoidy, thanks. That was one of the things I did pick up over the years, and one of Rick's constant lessons; little details can make all the difference. On the other hand, I can already see this coming: it's going to be hard to stop and declare something 'good enough'. I may try to detail it to death. I've been down that road in programming too though, so maybe I can do it.
@Brett and Russell, go for it. You're both smart enough to handle coding. We just pretend it's hard to justify our salaries :D Once you get your head around a few scary concepts the rest is cake.
I'll try to get Rick to post about his side of the story. I've been trying to get him on here for a while, but Rick is a bit of a hermit so it's no easy task. I'll keep trying though!
#7
05/03/2009 (7:55 am)
Looking good! That sort of mutual exchange sounds like something that more people should undertake... I'd love to be able to do what you've done with that interior! :)
#8
I'd be thrilled if my interiors looked half as good as this...
05/03/2009 (8:51 am)
Quote:Not exactly earth-shattering work here
I'd be thrilled if my interiors looked half as good as this...
#9
05/03/2009 (10:18 am)
ebay warehouses? :D
#10
This isn't an "interior" in the usual Torque sense, i.e. not .DIF. It's a custom portalized interior system that's modeled entirely in 3D Studio Max. The portals and zones are all scriptable, so for instance, closing the front door triggers a script that tells the portal that it shouldn't render anything in the zone behind it.
Also, the door opening and closing and the ceiling fan spinning are actually physics driven animations, so the door wont open "through" a player which I find strangely annoying in some games, and if anything light is in the way of the door it will push it out of the way when you open it. Also if you stick your head up in the fan somehow, it will stop spinning until you move. Just some cheap little features that come mostly free when you have a physics system running.
05/03/2009 (10:29 am)
Just some other FYI about this;This isn't an "interior" in the usual Torque sense, i.e. not .DIF. It's a custom portalized interior system that's modeled entirely in 3D Studio Max. The portals and zones are all scriptable, so for instance, closing the front door triggers a script that tells the portal that it shouldn't render anything in the zone behind it.
Also, the door opening and closing and the ceiling fan spinning are actually physics driven animations, so the door wont open "through" a player which I find strangely annoying in some games, and if anything light is in the way of the door it will push it out of the way when you open it. Also if you stick your head up in the fan somehow, it will stop spinning until you move. Just some cheap little features that come mostly free when you have a physics system running.
#11
05/03/2009 (12:18 pm)
Very nice. Great start.
#12
The scenes look great.
05/03/2009 (12:32 pm)
Fantastic example of collaboration. It is definitely not easy to get a team to teach each other, as people like to pigeon-hole themselves into specific roles for a project.The scenes look great.
#13
05/04/2009 (9:55 am)
This is a great example of learning collaboration! Extremely inspirational and very cool to boot!
#14
I fly solo in the game making and am now for the first time going into 3D. So whenever i can i read a bit on building 3D models and animations. Haven't gone around to do anything pratical yet.
Anyway, even though you have an artist backing you up it's not easy going out of our confort zone. Am feeling that now.
Keep up the good work - and any pointers you can leave here will be welcome. Will keep an eye on your blogs to see your progress
05/04/2009 (7:00 pm)
Looks great Gerald - good work there already.I fly solo in the game making and am now for the first time going into 3D. So whenever i can i read a bit on building 3D models and animations. Haven't gone around to do anything pratical yet.
Anyway, even though you have an artist backing you up it's not easy going out of our confort zone. Am feeling that now.
Keep up the good work - and any pointers you can leave here will be welcome. Will keep an eye on your blogs to see your progress

Torque Owner zoid
.
Also, I love the fan spinning and the animated screensaver. It's hard to describe, but they really do make the office area that much more believable. The glass reflection is a nice touch, too.