tag:blogger.com,1999:blog-21138793799054739052024-03-19T04:41:06.725-07:00JeremyPutnam.blog(TechArt)A blog about Technical Artist Jeremy Putnam's tech and animation as well as thoughts and ramblings about games, the game industry, League of Legends, and other related content.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-2113879379905473905.post-35143723731188779672016-03-07T11:51:00.000-08:002016-03-07T11:51:09.924-08:00Over-due update: a couple professional articles, GDC, and a promotion!<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg46Qai9FpAA6Kqm-iVGdN-7YhzkeXJjuLr0NtikxqGNA5HekP_4qZRwIyf2xXHu0UWoTq3YZwF7GiPTvx9tDCFonGG5INrY_h0pay1PXGKdP_BM7u7aMxA8ywTxylsHOoxWz4VGXV7Fhw/s1600/a1_lolart.jpg" imageanchor="1"><img border="0" height="225" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg46Qai9FpAA6Kqm-iVGdN-7YhzkeXJjuLr0NtikxqGNA5HekP_4qZRwIyf2xXHu0UWoTq3YZwF7GiPTvx9tDCFonGG5INrY_h0pay1PXGKdP_BM7u7aMxA8ywTxylsHOoxWz4VGXV7Fhw/s400/a1_lolart.jpg" width="400" /></a><br />
<br />
Hey folks,<br />
<br />
Since I've last updated, there have been a few exciting updates. First, I've written a couple of professional blogs over on Digital Tutors and Pluralsight. The first post is about the importance of maintaining trust on your team, and can be found <a href="http://blog.digitaltutors.com/maintaining-trust-art-team/" target="_blank">here</a>.<br />
<br />
The second is about the importance of standards, both technical standards and standards-of-practice. That post can be found <a href="https://www.pluralsight.com/blog/creative-professional/why-standards-are-important-for-your-team" target="_blank">here</a>. Regrettably, it seems that the image links are broken, but they're not too necessary to the substance of the post. Both of these posts pull a lot from my experiences as a tech artist at Riot, including some challenges we've faced as Riot has grown over the years.<br />
<br />
More recently, I'm excited to say I've been able to take on additional responsibilities in a more senior role. I am now an Art Lead on the Personalization team, currently managing seven artists. I'm learning a ton, and am incredibly thankful for the resources and mentors I've had available to me on this journey. Not that I've been super diligent about updating this blog, but as I continue to update in the future, you can expect some content related to the challenges of mentoring, setting expectations for your team, etc.<br />
<br />
Last note: after taking a three-year hiatus, I will be returning to GDC this year! In addition to the general sessions, I will be attending the tech art boot-camp. Hope to see you there!Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-45473244506270714892014-04-10T00:34:00.001-07:002014-04-10T00:34:21.209-07:00Trial and Error<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/K5wCfYujRdE?feature=player_embedded' frameborder='0'></iframe></div>
This is a great TED talk by Tim Hartford. It has some solid advice, both for how to view the world and how to practically navigate complex problems. I won't explain too much of the talk here (watch it!), but one core take-away I'd like to drill into: some problems are so complex that our reason and logic will fail us. We can't solve the problem in a theoretical space. This is a scary thing to admit. Don't worry! In these cases, we can lean on trial-and-error.<br />
<br />
When we say trial-and-error, what we're really advocating is a healthy acceptance of failure. We know we won't get it right the first time. That's okay. As long as we keep course-correcting and trying new things, we're moving toward a solution. As Tim points out in the talk, this is how nature works - it's evolution.<br />
<br />
Evolution, however, can take a very long time <i>[citation needed]</i>. To practically apply the idea of trial-and-error to my work, the key question I keep coming back to is, "how can we make iterations cheaper?" This is similar to another question I've heard repeated: "how can we fail faster?" Here are some things that can help:<br />
<br />
<ul>
<li><b>make better tools</b>. As a tech artist, I may be biased, but I think most people under-invest here. Automate what's worth automating, be thoughtful about your process. Eliminate needless steps.</li>
<li><b>understand your MVP</b> (Minimum Viable Product). What's the <i>least </i>amount of work you can do? If you're designing a character, do you care about the materials of the clothing? Probably not before defining the body shape. Focus on the broad problems first. Don't waste time on the details you'll end up throwing away.</li>
<li><b>don't be timid - go too far, then dial back. </b>If something is too small, make it bigger than you think you need it to be. If a color is too cool, make it fire red. It will ensure that you've tried every option and, if it still doesn't work, maybe you didn't understand why the first solution failed. Tweak something else.</li>
</ul>
<div>
TL;DR - Don't be afraid of failure. You won't know all the answers. Try new things, fail faster, innovate more. </div>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-40643658323943953832012-08-31T01:27:00.003-07:002012-08-31T01:27:52.849-07:00Derp Planet 2<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://25.media.tumblr.com/tumblr_m9m1wydaSi1reielto1_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="218" src="http://25.media.tumblr.com/tumblr_m9m1wydaSi1reielto1_500.jpg" width="320" /></a></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Bah! I'm working on some unity stuff, but haven't made enough progress to post anything with a character controller or anything today. :I </div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
That said... <a data-mce-href="http://www.jeremyputnam.com/unityWorld/derpPlanet2.html" href="http://www.jeremyputnam.com/unityWorld/derpPlanet2.html" style="color: #007bff;" target="_blank" title="REJOICE IT'S DERP PLANET 2 THE SEQUAL!!1">REJOICE IT'S DERP PLANET 2 THE SEQUAL!!1</a></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Now with twice the planet! See if you can get a double-orbit going. :D Random win condition I made: Get the black moon orbiting both planets, ideally in a figure-8, with the orange objects on one planet and the yellow on the other. GLHF.</div>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-31557901424323771122012-08-29T23:28:00.002-07:002012-08-29T23:28:38.389-07:00Wengar the Wion<br />
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Not sure if linking to a video counts as my daily post, so without further ado...</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Wengar the Wion. </div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://24.media.tumblr.com/tumblr_m9k1vhbIA41reielto1_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="http://24.media.tumblr.com/tumblr_m9k1vhbIA41reielto1_500.jpg" width="320" /></a></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-30707385640264603582012-08-29T20:22:00.000-07:002012-08-29T20:23:05.169-07:00Inventing On Principle<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.youtube.com/embed/PUv66718DII?feature=player_embedded' frameborder='0'></iframe></div>
This talk is utterly captivating. Through some brilliant visual examples, Bret Victor talks about his core design belief ("Creators need an immediate connection to what they create") and gives advice on finding your own mission in life. Very thought provoking, very inspiring.
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-73070621596596787762012-08-29T20:20:00.003-07:002012-08-29T20:20:33.620-07:00<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://25.media.tumblr.com/tumblr_m9hxa9pCCx1reielto1_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://25.media.tumblr.com/tumblr_m9hxa9pCCx1reielto1_500.jpg" width="332" /></a></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Quick 40 minute sketch of what I had in mind when I first started working on Unity again. Quick pitch: fast-paced platformer combat on shifting asteroids. This is a very, very lofty goal, but allows for progress and occasional check-ins along the way. I have no idea what form my experiments will<em> actually </em>take, but this was the seed of the idea.</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
I like this mental target, as it provides several learning opportunities. From here, I'll need to learn about:</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
- 3rd-person camera systems. Account for large foreground elements, enemy targeting, etc.</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
- Moving a character with rigidbody elements through a space</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
- Attacking, hit boxes... the entirely of a combat system. Tracking stats.</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
- UI elements</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
- Lots, lots more.</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
My next step, I think, will be starting my control set-up and camera for my character. Wish me luck!</div>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-50133332949891716442012-08-29T20:19:00.001-07:002012-08-29T20:19:45.911-07:00<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://24.media.tumblr.com/tumblr_m9gffwe0WW1reielto1_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="199" src="http://24.media.tumblr.com/tumblr_m9gffwe0WW1reielto1_500.jpg" width="320" /></a></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
<br /></div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
I’m getting back into unity. Eventually I want to move towards a 3rd-person adventure type project with some crazy physics shenanigans. For now, you get a derpy planet as I learn the ropes. (<a data-mce-href="http://www.jeremyputnam.com/unityWorld/derpPlanet.html" href="http://www.jeremyputnam.com/unityWorld/derpPlanet.html" style="color: #007bff;">Click here to experience the magic</a>)</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
Instructions:</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
1) click-drag to shake planet around</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
2) Shift-drag to rotate camera</div>
<div style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px;">
3) enjoy! :I</div>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-36440414210056183742012-08-29T20:10:00.000-07:002012-08-29T20:10:27.608-07:00<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://25.media.tumblr.com/tumblr_m9cpy6O7gv1reielto1_500.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="256" src="http://25.media.tumblr.com/tumblr_m9cpy6O7gv1reielto1_500.jpg" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Leona is always mean to Diana. :C</td></tr>
</tbody></table>
Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-14268910135883101182012-08-29T20:04:00.001-07:002012-08-29T20:23:52.691-07:00Now also on Tumblr!Hello folks,<br />
<br />
In the time since we last spoke, I <a href="http://jestercapp.tumblr.com/" target="_blank">created a Tumblr</a>. In an effort to be a bit more cross-platform, I'll be copying Tumbr posts to here as well. Let me know if you know a great cross-blog posting/ automation tool.<br />
<br />
Cheers!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://24.media.tumblr.com/tumblr_m9cn14fdyS1reielto1_r2_500.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="http://24.media.tumblr.com/tumblr_m9cn14fdyS1reielto1_r2_500.jpg" width="266" /></a></div>
<br />Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-82268907436978716182011-12-31T01:36:00.000-08:002011-12-31T14:14:09.080-08:00Facade and Edifice - Visual Language<div class="separator" style="clear: both; text-align: center;"><a href="http://d8hefwii4ir9c.cloudfront.net/media/catalog/product/m/1/m1grn_001_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="145" src="http://d8hefwii4ir9c.cloudfront.net/media/catalog/product/m/1/m1grn_001_1.png" width="320" /></a></div><br />
<br />
Given the recent present-buying season, it seems appropriate to wrap up 2011 with some reflection on brand and marketing. This may be a slight departure from our usual tech-art speak, but it's related to design (yay design!) and fits the bill for horizon-broadening homework.<br />
<br />
The above image is of a <a href="http://www.tivoliaudio.com/products/table-radios/model-one-reg-radio-in-maple-hunter.html" target="_blank">Tivoli Audio</a> radio. We'll come back to it a bit later.<br />
<br />
I love marketing. It's some fantastic stuff. Through the right techniques, an ad can switch your interaction with a product from a logical analysis to a deeply emotional response. The most common way this happens is through association of a product with a lifestyle or social status. <a href="http://thelastpsychiatrist.com/2011/11/luxury_branding_the_future_lea.html" target="_blank">TheLastPsychiatrist.com</a> already discussed this subject at length. The tone of said article, however, annoyed me a bit. It seems to suggest, "isn't it pathetic that people fall for this" and "aren't these social constructs sickening?" Primarily the author underlines the flimsiness of the thought process that might lead a reader of the Economist to buy a $100,000 Patek Philippe watch. Yes, such a decision is likely irresponsible for most readers. The assertion, however, implies something interesting about the <i>actual </i>value of said watch, namely that brand doesn't actually add any. But what is value?<br />
<br />
Today I went to the <i>Natick Collection </i>with my parents, an upscale mall roughly 40 minutes outside of Boston. While browsing, I found myself inexorably drawn to a Tivoli store containing the product pictured above. I was not drawn to this radio because of the quality of the sound (I had not yet heard it), nor was I drawn to it due to my pressing need for a new radio (Millennials need radios like snakes need socks). I was drawn to this store because the product suggests ironic appreciation of retro-trappings and elegant design. It wasn't the product, but everything else in our culture the product suggests that I wanted to buy. Retro suggests a quirkiness, a certain against-the-grain attitude that hipster meccas like Urban Outfitters have been cashing in on in a major way. Even recognizing that this is the case, I am happy to lean into this perceived image for one reason: others will make the same cognitive leap. It isn't merely a perceived value in my head, but a social trope that will illicit similar reactions in anyone who is similarly suspended in young American culture.<br />
<br />
To wheel around back to my thesis, buying a product because its image and associations change how people interact with it isn't imagined value, it's <b>actual and important value.</b> It's value tangible enough that companies spend the majority of their revenue to obtain said value. It's the same sort of value that makes film, game, and advertising actual art. It's the thing that determines the success or failure of any artistic or commercial venture: context.<br />
<br />
Edit: I have to add an awesome bit of copy that I just found. Since looking at Tivoli, wooden clock ads are coming my way. This one from Areaware is great:<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://areaware.com/prodimages/JDCD.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="http://areaware.com/prodimages/JDCD.jpg" width="200" /></a></div><i>"Remember those faux wood grain GE flip clocks that sat on every bedside table just a couple of decades ago? </i><i>The Alarm Dock uses a nostalgic product language to meet the progressively thin and disappearing profiles of consumer electronics. It is at once a critique and an accommodation to new technology. </i><i>Place an iPhone or iPod Touch running a flip clock app onto the dock, and see an iconic and meaningful form return to your nightstand, mantel, or shelf."</i><br />
<br />
Remember a couple decades ago? Do you love "nostalgic product language?" How about finding "iconic and meaningful form" for your nightstand, mantel or shelf? Dang, these guys are good.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-28644066557221346402011-12-11T02:46:00.000-08:002012-01-18T18:22:40.596-08:00Onward and AwkwardHappy Holidays! Though belated, I hope everyone had an enjoyable Thanksgiving.<br />
<br />
I've gone through a few goodbyes recently that I wasn't expecting nor prepared for. Comings and goings, however, are by their nature subjective. No story has truly ended to all of the players. Ultimately, I have confidence that everyone involved will go on and continue to do great things. Doors close, windows open, and those with wisdom find the way forward. As Einstein said, "in the middle of difficulty lies opportunity."<br />
<br />
I used much of this past holiday to reset. I've never been one to sit idly for too long, however, so resetting has given way to new projects. I'm practicing C++ with a calendar program (good regex practice), painting some 40K minis on commission (slowly), and catching up on some C.G. Jung. Joseph Campbell was my introduction to Jung, so it's only fitting that he edited the collection I've chosen to review: <i>The Portable Jung.</i> Any fiction writer would benefit from this book. The insights into the human experience, the resonance of childhood, the shared symbols of mythology, feel strikingly true and powerful. Once I finish with Jung, I plan to move on to Marie-Louise Von Franz's <i>The Interpretation of Fairy Tales</i>. Yeah. We're gonna get all archetypal up-ins.<br />
<br />
At work, I've been thinking about the problem of balancing planning versus implementation. I'm a big fan of "failing fast:" don't worry if your solution is optimal. Implement, see where you erred, then correct. This mentality saves you from the trap of indecision and infinite postponement of implementation. The problem is that, honestly, I'm not the best implementer. I'm focusing on improving my CS chops because I tend to get muddled up on syntax and data structure. I may be working <i>towards</i> failing fast. Until then, I have faith that proper planning and support of my team members will carry us through. As we've said before, weighing principle versus pragmatism will lead you to the best solution.<br />
<br />
I've gotten some very positive feedback regarding my Maya 2012 review in Game Developer Magazine, which is fantastic. I hope to find more writing opportunities soon. Speaking of opportunities: <b>if you are a talented Maya Character Rigger and are looking for work, please let me know! </b>Riot Games and I would very much like to hear from you. :)<br />
<br />
Cheers, and here's looking forward to the new year.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com2tag:blogger.com,1999:blog-2113879379905473905.post-11222346817338014572011-11-15T01:09:00.000-08:002015-08-18T11:15:40.210-07:00Publishing and ProgrammingIf you haven't seen the November issue of Game Developer Magazine, you might want to check it out! There's a really awesome article called "The Game Entity" that talks about... game entities, how they're constructed, and many pitfalls developers tend to fall into. Not being overly familiar with main loops and game engines and hardcore multi-thread memory problems, there were a few points that needed some google-fu. Still, I found it very informative (and co-workers who <i>are</i> familiar with these things enjoyed it immensely!) This one is appropriate for all audiences.<br />
<br />
Oh, also:<b> <a href="http://twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_November_2011.pdf#page=28" target="_blank">I wrote a Tool Box review of Autodesk Maya 2012!</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://twvideo01.ubm-us.net/o1/vault/GD_Mag_Archives/GDM_November_2011.pdf#page=28"><img border="0" height="37" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_ArqAhB3LmHmVtDU-To0MSZMju-4sTxpGem39X3DNdm0csDd0qnDOKQZLqwx5HRN6tmkclKF46NfQyJSypJtWN7DoY9xxlnZ5k-Wd7za3QHWmgJcWAtjmMhQTd8otPmxN0vDbjMIzRAI/s400/clip+for+blog.gif" width="380" /></a></div>
<br />
It's my first published work as a game professional, which is incredibly exciting! The folks over at GD were very helpful through-out the whole process and I'm really happy with how it came out. <strike>I'm not allowed to re-post it here yet, but please do check it out in magazine form.</strike> <i>(Edit: considering it's been 4 years and it's online in PDF form... link above)</i> Not to spoil anything, but I get a couple good jabs in there about Autodesk's appetite for early releases and hot-fixes.<br />
<br />
My team is talking about adopting Google's <a href="http://googleblog.blogspot.com/2006/05/googles-20-percent-time-in-action.html" target="_blank">20 percent time</a> concept, which is also exciting. The concept is, since most sprint planning and retrospective days turn our schedules into meeting Swiss cheese anyway, we should take those days to work on personal projects. This allows us to expand our skills, kill a few bugs, increase team bonding, implement a few small nifty-but-not-essential features, and generally become 20% cooler.<br />
<br />
My time will probably be spent continuing to learn C++ and C#. I am rediscovering C++ syntax (it's been a while) and am remembering all the crazy shenanigans it gets up to. Yesterday I wrote a list class as a refresher; I will not tell you how many times I tried to run and said, "oh, right, I need a blank .cpp for this header," or, "I guess it's not really going to error... it thinks that variable is out of scope, but visual studio is just lying." A couple engineers on our team have volunteered to help lead this effort (much thanks!), the whole tech art team is pilling in, and it's going to be a party.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
I believe the ability to learn can be improved with practice. It's a key component of mental fitness to constantly try new things, especially subjects alien to your core studies. I want to see more developers learning new languages, singing opera, watching documentaries, taking sailing lessons, playing rugby, or learning instruments. It may even feed back into your core discipline! You may see something new about water physics while fishing or learn more about AI through paintball. That mental flexibility will give you tons of value and insight you would have never found at work.<br />
<br />
Honestly, though, that's not even the big win. I don't care if my capoeira classes ever further my career or give new insights into animation. The big win is in living a richer life and feeling like every day has something unique in it. I love drawing connections between things when it's not even useful. Today Troy was showing me a new auto-attack particle for a champion; The only thing I could think of was, "that flash and smoke trail looks just like the <a href="http://www.youtube.com/watch?v=eKPrGxB1Kzc&t=1m" target="_blank">mini-sonic-boom a pistol shrimp makes</a>."<br />
<br />
And that's not useful. That's just cool.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-82559336884553732872011-11-03T01:13:00.000-07:002011-11-03T01:56:14.711-07:00Level Up + Force MultiplyingHello internet,<br />
<br />
First, personal news: it's been a good week! I'm excited to say that, after finally receiving my yearly review, I've been officially stripped of my junior status. My title has evolved from "Associate Technical Animator" to simply "Technical Artist," indicating an increased range of responsibilities and influence within Riot Games. Huzzah! I'm very honored and excited to move forward with my team as we continue to improve our tools and pipeline. It's going to be rad.<br />
<br />
During my review, one of the points Riot underlined for me was the importance of being a <b>force multiplier.</b> For those unfamiliar with the phrase, essentially it speaks to the value of teaching and enabling those around you to be more effective. Providing better tools, teaching new methods, improving communication, or simply increasing morale are all forms of force multiplication. To me, it is the core principle of tech art. <br />
<br />
Last year, I was in a much different place at Riot. At the time, most of my work was related to hooking up new character rigs and skins. I was also responsible for creating dynamic poses for the characters, as we used these for reference when crating splash art. We had about seven character skins coming out per patch, so this represented a large chunk of my work velocity. It was difficult for me to do this work and simultaneously undertake tools initiatives or otherwise improve the pipeline. I was also a bottleneck: splash artists and QA depended on me finishing these characters before their work could begin.<br />
<br />
Two important things happened: first, we sought to train others on the animation team to do these tasks. Sharing knowledge and responsibility made us more flexible. Second, we challenged the process. We experimented with outsourcing and creating other ways to generate poses that didn't rely on the animation team. Ultimately, we found that while some concepts might benefit from 3D poses for reference, many worked well (or even better) free-hand. By reducing the number of cross-team dependencies and increasing the number of routes to achieve our goal, the pain point almost entirely disappeared.<br />
<br />
This is just one example, but it speaks to a philosophy. Whatever your work may be, continue to ask the question: "What is more difficult than it needs to be?" Where can we reduce dependencies? How can we share knowledge? What happens to your production if you get hit by a bus? As counter-intuitive as it may seem, <b>you actually want to make yourself obsolete. </b>Remember: if you want to be promoted, the best strategy is to train your replacement. Until you do, you are stuck.<br />
<br />
Cheers.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-12304703222810744992011-10-18T00:53:00.000-07:002011-10-18T00:53:57.774-07:00Trip Success! + Overdue Post Mortem<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoo81GIwPmiA9mu00HPadI7_JZ1jZc0JAA0RAf6OId078o4JguIL3aiZajwtYpGHgH7eZ6S1A-mxvSIBXwLRI13Bb92zQAH4Pb9yPw1zUnHrizYQz9zU7fIQxdndMhyphenhyphenI8PPikXU3bn_0uv/s1600/sorakacomicrush03.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoo81GIwPmiA9mu00HPadI7_JZ1jZc0JAA0RAf6OId078o4JguIL3aiZajwtYpGHgH7eZ6S1A-mxvSIBXwLRI13Bb92zQAH4Pb9yPw1zUnHrizYQz9zU7fIQxdndMhyphenhyphenI8PPikXU3bn_0uv/s400/sorakacomicrush03.jpg" width="372" /></a></div>Today's art borrowed from the excellent <a href="http://soraka.blogspot.com/">http://soraka.blogspot.com/</a><br />
<br />
Despite a flat tire in the middle of nowhere and very little sleep, I had a wonderful time in Florida last week! Many thanks to our hosts at Ringling College of Art and Design. We had a great turn out for both the presentation and Q&A sessions, and the student work was really impressive. Best of luck to the Seniors with their thesis games. Hopefully we will return in the Spring for some more presentations and portfolio reviews.<br />
<br />
Whenever asked, I always advise aspiring tech artists to blog about problems they've solved. I thought it might be finally time that I follow my own advice. What follows is a walk through of the script I wrote as a test while in my last semester at Ringling. This is what got me into Riot as an intern! I'm going to make this walk-through very high-level, trying to focus on steps I'd approach when writing any script. Let's do this.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Yx5LymujA3NJna9JVUcwrHGdsIgT_7V4j6iZZ7Rn3EZYZwbfu7GvwUecQ1oJCIFAVb-Bx9yTVYyN5f93IyMhqKX0x1C8kq6G07LWP-ShuQ7PUboZKyK36JakzyGWW_HPQoz0gVymdko/s1600/Clipboard02.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="180" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3Yx5LymujA3NJna9JVUcwrHGdsIgT_7V4j6iZZ7Rn3EZYZwbfu7GvwUecQ1oJCIFAVb-Bx9yTVYyN5f93IyMhqKX0x1C8kq6G07LWP-ShuQ7PUboZKyK36JakzyGWW_HPQoz0gVymdko/s320/Clipboard02.gif" width="320" /></a></div><br />
First off, here is <a href="http://jeremyputnam.com/movies/bind_demo.swf">a video</a> that I made back when I first finished the tool demoing the functionality (might need to re-size window to view). Check out that sweet Maya 2009 GUI! I will describe the problem and my thought process below, so don't worry if you don't want to spend fifteen minutes watching through the whole thing. Secondly, here is <a href="http://snipt.org/xokL">the script.</a><br />
<br />
The goal of the script was to mimic some XSI weighting functionality that the customer's version of Maya (read: Maya 8) did not have. The problem as described was, "be able to select a set of verts and joints and intuitively weight those points to those joints, either evenly or by distance." This has obvious uses, such as when one has many noodle-y appendages near one another and does not want to hand-paint away all undesired spill-over weighting from nearby joint chains.<br />
<br />
So! What do we need to do to make this happen? Whenever I approach a script, I do the following things:<br />
<ul><li>Design a work flow/ user experience</li>
<li>Write up pseudo-script logic of what the script will do</li>
<li>Identify any problem spots I'm not sure how to do</li>
<li>Draw some mock-up UI</li>
</ul><div>In the case of this script, the user experience I imagined was:</div><div><ol><li>Select the verts that need to be re-weighted</li>
<li>Select the joints they should be weighted to</li>
<li>Set whatever settings we need (evenly or by distance? max influences? Anything else?)</li>
<li>Push button, receive <strike>bacon</strike> weighting!</li>
</ol><div>Seems easy enough. Okay, so aside from the UI, what does the script actually do when I run it? Time for some pseudo-code:</div></div><br />
<table align="left" bgcolor="#444444" border="1" cellpadding="10%"><tbody>
<tr><td><span class="Apple-style-span" style="font-size: x-small;">joints = list of joints selected</span><br />
<span class="Apple-style-span" style="font-size: x-small;">verts = list of verts selected</span><br />
<span class="Apple-style-span" style="font-size: x-small;">for vert in verts:</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> bonedist = dictionary of distances to each bone</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> for joint in joints:</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> bonedist.append(distance from vert to joint, paired to bone name) </span><br />
<span class="Apple-style-span" style="font-size: x-small;"> count = user setting for max influences</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> while count > 0:</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> if even bind:</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lowbone = bone with (count)th lowest distance</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> vertweighting(vert, lowbone) = 1/max influences</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> count - 1</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> if distance bind:</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> distSum = sum of all items in bonedist</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> lowbone = bone with (count)th lowest distance</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> vertweighting(vert, lowbone) = bonedist(lowbone)/distSum</span><br />
<span class="Apple-style-span" style="font-size: x-small;"> count - 1</span></td></tr>
</tbody></table>Okay, cool. Less than twenty lines of pseudo-code! It tells us the logic of the work that needs to be done. This will ideally turn into the notes in our script reminding us what we're actually doing.<br />
<br />
Next, we need to identify the parts of this script that are difficult. Depending on your experience with Maya or python, you may be hesitant about:<br />
<br />
<ul><li>How to organize this data elegantly</li>
<li>How to use the dictionary data structure for the bone/ distance pairs</li>
<li>How Maya stores vertex weighting</li>
<li>What command sets the weighting of a specific vertex to a specific bone</li>
</ul><div>Luckily, a bit of internet searching can answer any of these questions! With a bit of digging, you will learn that a dictionary is an unsorted list of key/value pairs that can be searched by key or value. You will discover that Maya polygon objects store a weighting matrix of vertices and joint influences. You will discover that you need the setVertWeights command for this task. Isn't the internet awesome?</div><div><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIRkaja5N8aPxUhbHurNn0WGIIvueF3o0GdYiAxj93RP549UvCaR3P41vJKvi6Lz5y207AbAsl2lsuT7IWtLesi4DdQ_MLFZgnOMO83hX7HLc1wxaYuNmHMekaPyVYFLVJbp7xFLoIo94/s1600/Clipboard04.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIRkaja5N8aPxUhbHurNn0WGIIvueF3o0GdYiAxj93RP549UvCaR3P41vJKvi6Lz5y207AbAsl2lsuT7IWtLesi4DdQ_MLFZgnOMO83hX7HLc1wxaYuNmHMekaPyVYFLVJbp7xFLoIo94/s1600/Clipboard04.gif" /></a></div><div><br />
</div><div>Here is the final UI (again in awesome Maya 2009 style) that I arrived at. As you can see, I provided check boxes and radio buttons for all the options we planned for, as well as several that merited addition after some further research. </div><div><br />
</div><div>Once we have all these things in place, it's time to actually start coding. I'm not going to go into this step as this post is getting a bit long. Suffice it to say that no mater how well we plan, it usually becomes apparent that things are more complicated than we anticipated. In my case, I ended up dividing functions and re-combining them as I struggled to understand python class/ object structure. I learned a lot through this project about the structure of a tool, a lot about object oriented programming, and a lot about vertex weighting in Maya.</div><div><br />
</div><div>When writing any tool, it's important to not lose sight of your goal. Think of the person that you're designing for, and try to imagine what it will feel like to use the tool you've created. Is it intuitive? Does it do all the things it should do? Is it fast? Could you make this tool simpler? For anyone who might want to improve upon your work, did you comment your code sufficiently that another programmer could follow your thought process?</div><div><br />
</div><div>I heard a great piece of advice from a co-worker: when you code, you have three customers. The first is the end-user, who will use your work. The second is other coders, who may have to edit and maintain it. The third is the hardware, which will have to process it as efficiently as possible. Making just one or two of these customers happy is not enough. Weigh principle against pragmatism, and invest your efforts where they'll be most beneficial to the project.</div><div><br />
</div><div>That concludes this post mortem of the jpWeightsTool. I hope you got as much out of reading it as I did out of writing it! Cheers, and happy coding.</div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-47794627064902912612011-10-07T00:47:00.003-07:002011-10-07T00:51:54.273-07:00def HelloWorld(newContext):<div style="text-align: justify;">Hello internet! Since I last posted here, many things have happened... most of them incredible. </div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">I not only had a fantastic internship at Riot Games, but since became a full-time technical animator. I have seen our product, League of Legends, evolve from a pretty popular online game to a multi-award-winning, international, multi-million-player sensation. I have a GDC award sitting on my desk. I love my job. Everything went... <i>way</i> better than expected.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">I also had a bit of a career re-focusing. When I last posted here, I listed my skills as "animator and concept artist." While I still love to draw and animate, my career path has strayed almost entirely into technical art. This is actually <i>awesome.</i> For the past year, I've become involved with a very smart and passionate group of people focused on helping others on their teams be effective. Though I've animated a few characters for LoL (Swain, Urgot, and Jarvan IV!), I've touched <i>every character in the game</i> by re-making their rigs, fixing problems, making tools, and generally filling that all-important support role. I'm learning more about rigging and programing (so far, mostly Python with a smidgen of C++) and a lot about game production. I'm really excited to see what sorts of problems I try to solve next!</div><div style="text-align: justify;"><br />
</div><div class="separator" style="clear: both; text-align: center;"><a href="http://fc09.deviantart.net/fs71/f/2011/016/b/b/mtg_2011_id_by_jestercapp-d37cvlr.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em; text-align: justify;"><img border="0" height="400" src="http://fc09.deviantart.net/fs71/f/2011/016/b/b/mtg_2011_id_by_jestercapp-d37cvlr.jpg" width="231" /></a></div><div style="text-align: justify;">The switch from student to industry professional happens incredibly fast. It was bizarre for me to go back and read my first couple of post on this blog; I was totally focused on the goal of getting hired and, as soon as it happened, I needed to totally re-contextualize my idea of success. I'm sure most Rioters who have been part of this ride from the beginning are stunned constantly by how far the company has come.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">I'm excited to say I've had a few opportunities to help other students make the switch to industry professional as well. I've looked at dozens (hundreds?) of portfolios at GDC and SIGGRAPH. I've made a presentation with my co-workers to student volunteers just a year after I was sitting right where they were. Next week, I'm going to have the incredibly surreal experience of making a "how to get into the industry" talk at Ringling, speaking to many of the people I've known as a student! I'm incredibly excited for this trip. I've got my slides ready and a follow up Q&A lined up with the Game Design Club. It's going to be sweet.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">I don't know how often I'll update this blog. Ideally, I start posting some work related to tech art; none of my internet presence currently suggests what I actually do. This is terribly hypocritical, seeing as I encourage every student I speak with to demonstrate their work and thought processes through blogs or websites. Historically my interests have been incredibly fickle; I start and stop side projects all the time. Within the last couple months I've started D&D campaigns, Warhammer 40K leagues, music jam sessions, indie games... tonight alone I painted miniatures for a co-worker, edited an article that'll be coming out soon in Game Developer magazine (super excited!), watched SoloMid livestreams, and wrote this blog post. I'm not sure I'll be able to stuff <i>everything I want to do</i> into the nights and weekends, so expect updates to be sporadic as usual.</div><div style="text-align: justify;"><br />
</div><div style="text-align: justify;">For most of my life, I've felt guilty about the projects I keep starting and stopping. I'm starting to think, however, that it doesn't really matter; all of this is valuable. Even if I can't maintain focus on one problem for months on end, it's exactly this desire to stick my hands into everything that's allowed me to grow into a support role across many different projects. I'm excited for seeing where it all goes next.</div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-21444968399228817592010-05-20T17:03:00.002-07:002010-05-20T17:09:50.294-07:00Graduation and Riot Games!Oh hey I graduated! :D<br />
<br />
It feels super awesome to be done. And, to top it off, I have an internship at an incredible company and I'm really really excited. I will be rigging and animating this summer (and maybe, hopefully, permanently) at Riot Games!<br />
<div class="separator" style="clear: both; text-align: center;"><a href="http://riotgames.com/"><img border="0" height="251" src="http://rhornbek.files.wordpress.com/2010/01/riot_whitebg.jpg" width="320" /></a><br />
</div>I was lucky enough to meet a few of the Riot people at GDC this spring. They seem really cool, I really love their game (<a href="http://www.leagueoflegends.com/">League of Legends</a>), and I really look forward to getting over there next week. Until then, I'll be getting ready, hanging out with the folks and the guitar, and maybe playing some games. :P I'm also getting a new ASUS laptop tomorrow, which should be sweet business. I'll be putting Maya on there and making it my main machine.<br />
<br />
So, sorry for the long lull between updates, but that's where we stand. I'll be sure to update on the Riot situation when I'm over there. :D<br />
<br />
Toodles.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-70563345443950977862010-04-04T20:42:00.000-07:002010-04-04T20:42:41.137-07:00THESIS: MECHANICAL ADVANTAGE IS DONE!After over a year of production, it's finally completed!<br />
<a href="http://www.blogger.com/goog_697057035"><br />
</a><br />
<b><a href="http://jeremyputnam.com/">Click here to view.</a></b><br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCP2lf1tWyMFzjQEwzaCHqCVrPsDbW7lsTACgXYVXNKrCDmXFH3TI7xZmfx3YYe1fnFXY4OgSuQs-zkwgbClqxkJ4P-Ywwbi2JycJuLdpteFS_p6zHv7g_5qGpLg4Ld4IJ3XwPEQh_2ng/s1600/shot_1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCP2lf1tWyMFzjQEwzaCHqCVrPsDbW7lsTACgXYVXNKrCDmXFH3TI7xZmfx3YYe1fnFXY4OgSuQs-zkwgbClqxkJ4P-Ywwbi2JycJuLdpteFS_p6zHv7g_5qGpLg4Ld4IJ3XwPEQh_2ng/s320/shot_1.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSmCE78z8_2qjZ0dTMkt7KGWMWNjjDDA8xThhrWJh9a5JRCDYJDJFnoPpsa_64xjYEtBsPeCKGVe4uPKW2BRWor986u3lnDGdFRpteI3XSaaKr8Wf2XQbinEriNy7QSwIypIS7xrWr2DU/s1600/shot_2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSmCE78z8_2qjZ0dTMkt7KGWMWNjjDDA8xThhrWJh9a5JRCDYJDJFnoPpsa_64xjYEtBsPeCKGVe4uPKW2BRWor986u3lnDGdFRpteI3XSaaKr8Wf2XQbinEriNy7QSwIypIS7xrWr2DU/s320/shot_2.jpg" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJhzoSPcL2gabsH_P4kQYTtG0R4kifpkJcwc7wGBmE0sfm8BvS-ENy66TguGhQ_S_e8OYM3a3iX6BMh0AH4aJqaq7GfwCSgytHZ4nuTZsaUY9rZ5cAhdYWZDvhH7ybv5c9MVynhCOauZA/s1600/shot_3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJhzoSPcL2gabsH_P4kQYTtG0R4kifpkJcwc7wGBmE0sfm8BvS-ENy66TguGhQ_S_e8OYM3a3iX6BMh0AH4aJqaq7GfwCSgytHZ4nuTZsaUY9rZ5cAhdYWZDvhH7ybv5c9MVynhCOauZA/s320/shot_3.jpg" /></a></div><br />
<br />
It's an incredibly satisfying feeling. I'd say more, but I don't know what words can say about the experience... incredibly stressful, incredibly rewarding. Thank you to everyone who was there with me along the way.<br />
<br />
Also, here's a taste of things to come... this dood will be modeled low-poly, textured, and (hopefully) animated by graduation: Mardok, the Fisher of Souls!<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg1BjUyRscoqs9z_E_fM1KUEL9Yxp8fRU9-4HcXTIRl5zIoITcXk9rul50dEzGqTUHHTyige5puIoXy2qbvKi7g1m232XOr1RjlwOkukuW8BpfHXsWn0JC6QGnAJABApHzxO0FjtsAvmE/s1600/mardok_sheet_4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg1BjUyRscoqs9z_E_fM1KUEL9Yxp8fRU9-4HcXTIRl5zIoITcXk9rul50dEzGqTUHHTyige5puIoXy2qbvKi7g1m232XOr1RjlwOkukuW8BpfHXsWn0JC6QGnAJABApHzxO0FjtsAvmE/s320/mardok_sheet_4.jpg" /></a></div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com2tag:blogger.com,1999:blog-2113879379905473905.post-72791218388402931972010-02-28T12:21:00.000-08:002010-02-28T12:21:35.690-08:00Hey guys I'm still alive! <:UTime to dump some art on y'all! These were all done for my digital illustration class.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-6VKNnwp8lhibGjESB5hzAs03DAyxIM08sv2Q0Xlf_5ywkEV4NaXOzwIjdtaKB8SggihllmF5cR_pyf4C4eEU7sPGiAdWtrlS5xXksgB9Oe0PTwVf240TUDB5pkG5VxCwctTa6q3d-Xk/s1600-h/jputnam_embrace_1080.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-6VKNnwp8lhibGjESB5hzAs03DAyxIM08sv2Q0Xlf_5ywkEV4NaXOzwIjdtaKB8SggihllmF5cR_pyf4C4eEU7sPGiAdWtrlS5xXksgB9Oe0PTwVf240TUDB5pkG5VxCwctTa6q3d-Xk/s320/jputnam_embrace_1080.jpg" /></a> </div><div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSTntuXtKN5PATkDQwoJZRkUpEZo3RyAe0MA9E4UhHCkzMWqZvHvWJajxmLeJAD3QTfhov0t19pWWNYYn2yoRVCWpIHRoBk71a64NOD35nEsixjOset7igxi0z8cMtGFnPowiM32RsC48/s1600-h/jputnam_game_l4d2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSTntuXtKN5PATkDQwoJZRkUpEZo3RyAe0MA9E4UhHCkzMWqZvHvWJajxmLeJAD3QTfhov0t19pWWNYYn2yoRVCWpIHRoBk71a64NOD35nEsixjOset7igxi0z8cMtGFnPowiM32RsC48/s320/jputnam_game_l4d2.JPG" /></a> </div><div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIKyw8rYLCSmZ3ChR5t-KeigCzIQOOLXPdm0Ub7SGdDhU9kmSMrzE_uTjudcoz_45yrxZXHQOkXXkAiIYfGXI3jCtnLHBfu7QP3E20shlk0X_MRYmwgXpidrnlwfwIgx8xlTgZ5T7JXo/s1600-h/jputnam_selfportrait_web.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIKyw8rYLCSmZ3ChR5t-KeigCzIQOOLXPdm0Ub7SGdDhU9kmSMrzE_uTjudcoz_45yrxZXHQOkXXkAiIYfGXI3jCtnLHBfu7QP3E20shlk0X_MRYmwgXpidrnlwfwIgx8xlTgZ5T7JXo/s320/jputnam_selfportrait_web.jpg" /></a> </div><div class="separator" style="clear: both; text-align: center;"><br />
</div><div class="separator" style="clear: both; text-align: center;">(Valve logo and L4D2 © Valve and all that)</div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-26408466862745032432010-01-14T16:51:00.000-08:002010-01-14T16:51:29.388-08:00Last Semester!And suddenly we're in the home stretch. <br />
<br />
It's been a really awesome ride at Ringling. I know I've learned tons, and I'm mostly happy with the things I've accomplished here. Thesis and the job hunt are the final big hurdles, and I am optimistic that I'll cross the finish line just fine.<br />
<br />
This semester I'll be taking digital painting, a great opportunity for me to develop my concept portfolio alongside my animation portfolio. I'm going to guess that I'll be hired into animation, however... I don't know if my concept art abilities are quite up to competing with the legions of illustrators out there. <br />
<br />
I'm also feeling like I have a bit of wiggle-room this semester to get some life-things back in order. I'm trying to exercise, and my lower back is currently really sore from Tuesday's Capoeira class. I'm studying Islam and film as side courses. I'm doing occasional RPing with friends (though I've relinquished my DM/GM role for now). I'm exploring indie games, such as The Path by <a href="http://taleoftales.com">Tale of Tales.</a><br />
<br />
To summarize, things feel balanced and unless I'm grossly underestimating the path ahead of me, the worst of the work load is behind me.<br />
<br />
Cheers to 2010! Happy trails.Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-68493321669654819012009-12-15T12:20:00.007-08:002010-02-16T19:31:50.829-08:00Thesis ProgressHallo everybody,<br />
<br />
I thought I'd share my thesis progress. I'm currently at the 2nd / 3rd pass animation stage, looking to do some revisions over break.<br />
<br />
<embed src="http://jeremyputnam.com/thesisflash.swf" allowscriptaccess="always" width="360" align="center" height="240"></embed><br />
<br />
Edit: apparently it's bad procedure to post the WIP until it's a final product... so says the great CA dept. :/ sorry folksJeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-25860914399527583892009-12-13T13:47:00.001-08:002009-12-13T13:48:16.249-08:00I'm still in it. A good victory.Sorry again for the infrequent posts. Basically, I've been wrapped up in school the past few weeks making sure I can progress to the next semester. It's never a sure thing in this department. Now that the senior mid-year show is complete, however I can finally say that I will, for sure, progress to spring semester.<br />
<br />
Today was a bit of a roller coaster. I got up at 9 am, went to the senior show, saw all the other work all my classmates have been doing. It was a wonderful and nerve-wracking experience. Lots of cool stuff going on. That process took about three hours, followed by two hours of waiting thorough the teachers' deliberation. I was happy to find out neither I, nor any of my close friends, failed. I do not actually know who did fail this semester, but I hope that they will push on to make fantastic pieces next year. Good work and good luck everyone.<br />
<br />
After that, I had a nice time cleaning and eating at my house, followed by Princess and the Frog. Good movie, I enjoyed it muchly. Now, I am heading out to Pacific Rim with Aless.<br />
<br />
More updates as time and events warrant. Ta!Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-53085436445529226262009-11-22T18:39:00.000-08:002009-11-22T18:39:51.938-08:00Between Conquest and DiscoverySorry for how seldom I've been posting of late; thesis is still chugging along, as well as a bit of table top gaming on the side. I'm trying to dial down the side-gaming these coming weeks, as I'm finding it rather exhausting. Still playing Ragnarok a bit tho...<br />
<br />
In any case, here's a digital painting I did while feeling braindead in the labs. More to follow, I think. (Forgot to time this one, about an hour or something..?)<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR2jDZEXOWVVIAh7HfMIxu75UMCmjXPNE_uxvrAnFI9kvrnxD17KrkL8XHi8CE0pDENVPtJT1vQPsLsGERA_uSqHBkudB_01C_nlU1zyF71gxOF6uigEHTLsd9Z8GRCNPU38M6NOvjkU0/s1600/between_conquest_and_discovery.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR2jDZEXOWVVIAh7HfMIxu75UMCmjXPNE_uxvrAnFI9kvrnxD17KrkL8XHi8CE0pDENVPtJT1vQPsLsGERA_uSqHBkudB_01C_nlU1zyF71gxOF6uigEHTLsd9Z8GRCNPU38M6NOvjkU0/s320/between_conquest_and_discovery.JPG" /></a><br />
</div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-40824695453711700282009-11-10T16:27:00.000-08:002009-11-10T16:27:38.736-08:00Factory With Algae Farm90 minute painting for my water class! :) Possible factory of the future.<br />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_3XBkRCyjlKvRzrka_vZ2RdHYHLU-PotXhSc3ySjcMzgUnRg2aixJhMpuNQWPFH8uoSBT0NMrp3FJ-X-oVtLcdB5sVq_Iyfa5mw-jK3Ps8vEJwC_QmJ5Lvi3cERItjgj7qRpr2M16WrQ/s1600-h/factory1i.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_3XBkRCyjlKvRzrka_vZ2RdHYHLU-PotXhSc3ySjcMzgUnRg2aixJhMpuNQWPFH8uoSBT0NMrp3FJ-X-oVtLcdB5sVq_Iyfa5mw-jK3Ps8vEJwC_QmJ5Lvi3cERItjgj7qRpr2M16WrQ/s320/factory1i.jpg" /></a><br />
</div>Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-41243208824042227172009-11-04T22:27:00.000-08:002009-11-04T22:27:39.742-08:00If I had the time...So many things I'd theoretically love to do!<br />
<br />
I occasionally muse about all the projects I'd like to do if I weren't already tied to thesis and other responsibilities. For example, I've always liked the idea of making my own clothing... probably baggy stuff made of brown canvas with lots of flaps and buckles.<br />
<br />
Recently, I've been imagining how cool it would be to take a low-poly character through the full concept/ development process. Make a bunch of silhouettes, rough sketch pages, then make a character sheet with turnarounds, prop designs, etc. Maybe do some color studies, even some related environment work. Then, go ahead and model the character in Maya and do some nice texture maps. The way I see it, if presented well, such a packet would stand on its own really well for a concept/ modeling portfolio.<br />
<br />
That being said, I'll have to finish this animation before I can begin working seriously on anything like that. I'm excited about this film, but as I said earlier this month, I've been so deep into the process for so long that I'm a bit fatigued. It's a distance race, and I need to try to stay focused.<br />
<br />
((I might still be playing Ragnarok after labs close... shhhhhhhh.))Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0tag:blogger.com,1999:blog-2113879379905473905.post-90748502576262802002009-10-29T23:38:00.000-07:002009-10-29T23:38:32.443-07:00Dear iRO: are you serious?I have reasons to both thank Gravity and reasons to curse them. On the one hand, they made Ragnarok Online, which I regard lovingly as the first MMO I ever played. I spent many hours in Rune Midgard in high school, grinding away to level my spear-based Knight, and I look on those hours fondly. For this I thank them.<br />
<br />
They also, however, made a free-to-play server during my senior year... this is a seriously unfortunate development.<br />
<br />
The worst may be over, however: though I spent about 11 hours the past few days gaming rather than working (please, I know how dumb this is, no need to berate me), I may have shaken the MMO bug thanks to a design flaw! <i>Designers take note:</i> if your going to implement a cool new Gunslinger class in your MMO, please make sure there's more than <b>one freaking merchant</b> in the entire game world who sells <b>bullets.</b> Making low-level players glued to a lonely town miles away from anything else because it's the only place they can get supplies is <i>remarkably ill conceived.</i> <br />
<br />
But again, I suppose I must give credit where it's due. Thank you, Gravity, for giving me a good reason to stop playing your game and go back to work. <3Jeremy Putnamhttp://www.blogger.com/profile/09724238816955021231noreply@blogger.com0