Monday, November 7, 2016

I'm still here!

Whoops, forgot about ya for a second there, blog.

From visiting 4 different countries (and counting!), to my first major install for Second Story (and my first travel install, AND my first Detroit winter - separate post to come), to buying a home and adopting a fur-kid, to finally settling in and growing to love/getting to know Atlanta all over again, it's been quite an eventful year and a half-ish! Travel posts are definitely to come (NYC, Costa Rica, France, India, Japan, and in a few weeks, Peru), but this one's Halloween-related.

 Each year, our parent company, Sapient, has the parents of the office bring their kids to go Trick-or-Treating in the office. Typically Second Story sits the holiday celebrations out; we'll all make a cursory appearance at whatever holiday party, mingle a bit, eat some food, then disappear back to our corner to resume working. This year marked the first year that Second Story actually participated in any of the festivities.

It was a sort of last-minute thing... My co-workers and I had, on multiple occasions, expressed the desire to build a haunted house in our lab, as we have all sorts of curious tech lying around that can be easily re-skinned to be creepy-crawly-scary, but it just never happened. So, I contributed my weird love for organizing/planning things and did the needful to get the ball rolling. I submitted our name to the party planning committee to get us on the kids' route, curated the experiences we'd have in our haunted house, purchased decorations, and finally I recruited some awesome co-workers with more passion for all things scary than I to make this thing actually happen.

Between the seven of us, we set up five different experiences as well as some creepy, Halloween-themed decorations around our lab. The haunted house was such a big hit that not only did the kids love it, but the parents had a blast wandering through as well, and we ended up opening the haunted house up to the whole office to visit! Pictures to follow - those are more interesting than reading, anyway. :) Huge, huge shoutout to my co-workers. I may have laid the groundwork, but there's no way the haunted house would have turned out as amazing as it did without everyone's help!
We have an excess of mannequins.

Blood, guts, and bugs, complete with dismembered arm.

Zombies trapped in the multitaction table

The sole casualty: the poor stay-puft marshmallow man

My very talented co-worker drew us a bunch of Halloween art that we used as dividers/guides in the space.

Too soon?

Here we "re-skinned" Ismizer, an installation from the High Museum, by simply adding a Halloween-themed backdrop.

This little guy was entranced by the re-skinned Circuit Touches experience.

Fun with dry ice and projection

Sapient ATL visits the haunted house


A short video tour of the full haunted house. There's audio!
Our makeshift projection setup

Saturday, April 11, 2015

Another cross-country move...

My best friend & I at dinner in West Hollywood
At the beginning of the year, I left beautiful, warm Santa Monica for a wonderful new job in my hometown in Atlanta. I've been working at Second Story for about two and a half months now, and I absolutely love it!

It's really inspiring to work at a company with a stable foundation yet that is constantly evolving, where all my colleagues are equally passionate about what they do. Dream job level. I've gotten to work with a lot of neat technology thus far, but most recently I've been working in Javascript (finally) after spending the formative years of my life making standalone applications rather than web apps. It's been a great learning experience, and being back home has been nothing short of amazing.

Amazing sunset on Venice Beach two nights before I moved




As much as I love this job, I do miss Los Angeles a lot. I definitely got used to life on the beach, eternal sunshine, constant traffic (though sometimes the traffic in Atlanta is worse, somehow), the laidback lifestyle, and the list goes on. I am so grateful for the friends I made on the west coast - really some of the greatest and most inspirational people I've met - for my time at Mirada and Side Effects, and for all of the wonderful experiences I had in California.

I'll be back, though. (:


Tuesday, December 2, 2014

FlyLo 2014

A few weeks ago, I got a chance to see a current favorite electronic artist of mine, Flying Lotus, perform at the Santa Ana Observatory here in California. I had seen him before, but from very far away, so this was the first time I got to take a good look at the setup for his visuals.

Electronic artists have a reputation for having creative, often mesmerizing visuals, and Flying Lotus is no exception, but I found his particular setup quite innovative. Where other artists have used projection mapping to create movement and visual interest (see Amon Tobin's ISAM and Excision's cosmic steamclock/spaceship thing), Flying Lotus used two screens in conjunction with two projectors (front and back, with Flying Lotus positioned in between) to create a 3D effect. This made it appear as though three-dimensional visuals were floating in midair and Flying Lotus was actually standing in the middle of them.

If you're interested, you can read a full write-up here.

Monday, October 27, 2014

Eyeo Recap


Five months later, I'm still feeling the effects of Eyeo. It gave me a fresh perspective on creative code as a profession, its applications, and how to get creative, to go beyond and expand on available information in order to create a more immersive experience or to solve an interesting problem. For instance, adding more information, such as photos, geotagged tweets, or memories, to location/GPS data to create a data story (I'd check out Pleens as an example of this).

I also realized how little of this community and field is known to the rest of the programming world, especially for those in more straightforward, software engineering positions as well as for students who are still in grade school or in undergraduate degrees. Students should be acquainted with figures like Frieder Nake, one of the first to write programs to generate art, or Lillian Schwartz, one of the creators of some of the first computer-animated films exhibited as works of fine art, or Roman Verostko, who wrote his own software to control a line plotter which then draws algorithmically generated, unique pen and ink drawings. This kind of exposure is essential to generate interest and to promote continued innovation in design, creative code, their intersection, and their application to other fields.

Projects like The Creators Project and festivals like Northern Spark, a night-long installation art festival in Minneapolis, are some of the first steps in making people aware of the existence and potential of creative code as a field. I look forward to seeing projects and events like these become more prevalent in the media, hopefully inspiring more people to experiment and explore new possibilities.

Wednesday, July 23, 2014

Quotidian Rhythms & Political Frictions // You, Me & My Computer

Another talk I really enjoyed was "Quotidian Rhythms & Political Frictions" given by Brian House, a media artist whose work spans the areas of critical data practice, alternative geographies, and experimental music, among others. I loved this talk because it brought to my attention different ways of portraying data. "Data visualization" is huge right now - from innovative infographics to visual resumés to particle-filled museum installations - and dataviz was one of the main foci of the talks at Eyeo. Brian's talk was different in that it dealt largely with the sonification and musification of data; that is, understanding data in an aural rather than a visual representation. Musification was particularly interesting to me. Rather than a direct mapping of data to certain sounds or notes, this is mapping different levels or elements of data to elements of musical composition. I particularly liked hearing about his work, "Quotidian Record" in which he mapped each location in a year of his location data to a different harmonic relationship. This mapping, instead of a location-to-note mapping, is actually pleasant to listen to, instead of cacophonous. 

Some other of Brian's works that caught my attention were "Joyride", a video over the course of 5 days stitched together from Google Street View tiles of location data from a stolen iPhone ("Frankendata", he called it), and "Tanglr", a Google Chrome extension that anonymously links you to another person's browser. As you browse, your partner is taken to the same URLs you visit, and vice versa. It's nice to see some work created with a sense of humor. (:




Lauren McCarthy's talk, "You, Me & My Computer", was overall my favorite. This one struck a chord with me on a very personal level. As a former extreme introvert, I identified with all of the problems she addressed, from making new friends, to navigating relationships, to making conversation. I especially liked the idea of meaningful or successful social interactions. It brought to mind the Sims, and those little + or - signs that would pop up depending on whether an interaction went well or poorly. Having gone to a tech-oriented school (in the Computer Science department, no less) for undergrad, I was very unprepared for interaction with, for lack of a better word, "normal" people upon graduation. I found myself subconsciously generating explicit rules and coming up with algorithms for different kinds of interactions (à la Sheldon in The Big Bang Theory, for you non-techie folks), and revising these rules when an interaction would inevitably deviate from my expectations. I was quite the wallflower, even going so far as to go to social gatherings just to stand back and observe others' interactions and to see if I could glean some information from them; more data to support my hypotheses. I took as many social/personality psychology classes as I could as well, to give myself a scientific understanding upon which to base my framework of social rules. It was a pleasant surprise to find that there were other people doing the same, and making creative code social experiments out of the experience! I highly recommend checking out all of her work, as each project is fascinating in its own right, but I'll mention a few of the ones from her talk that I liked. 

Two of the projects were meant to aid conversations in progress in an attempt to make them more successful: "Conversacube" and "Relation Alterations:Table". These were actual objects inserted into a social situation, which participants then interacted with and received feedback from. Conversacube was a cube (obviously) that gave participants prompts as a conversation progressed, such as "compliment" or "agree", to keep the conversation smooth and put the control of the conversation flow in an outside entity. Similarly, the table allowed users to discreetly give feedback on their current enjoyment of their experience at the table via foot pedals. The current group satisfaction level was reflected in the color of the surface of the table. Rather than being unobtrusively in the background, as a phone or perhaps a sound system might be, these were conspicuous objects that were essential to the progression of the interaction. It was interesting to see first, how different interactions were (and perhaps more intense and personal) using these objects, and second, how these objects may have interfered with or biased the participants' actions.

Finally, the project I found most intriguing from Lauren's talk was "Social Turkers", an experiment in crowdsourced dating. This was another approach to gathering real-time feedback during interactions, but this from an objective, non-machine perspective, and from a large number of anonymous people. During the experiment, Lauren went on a series of dates with men she met on an online dating site, and crowdsourced to Amazon Mechanical Turk users the decisions as to which action she should take or what she should say next. To do this, she streamed her dates to the web in realtime and posed multiple choice questions in survey form to her turkers. I won't say too much about this one, because I think it's worth reading through the entire project.

Lauren's talk opened my eyes to the sheer breadth of creative code projects that are possible, and how code can be used in virtually any context. I loved her exploration of how technology can be used to analyze and augment interactions and make them more meaningful, rather than hinder them. More and more I notice people around me choosing virtual conversation over real, in-person, in-the-flesh interaction, as well as people using interaction through technology to, in their eyes, improve their current in person interaction. On multiple occasions, I've witnessed groups of friends together, all facing one another, and all engrossed in their phones. The questions Lauren asks in her projects are so relevant to social interaction today, especially as it relates to ubiquitous computing. 

Food for thought: is there a way to use technology, directly or indirectly, in real-time, currently occurring interactions, to improve interactions as they happen, to make them more meaningful and impactful? 


Monday, July 14, 2014

Visualizing Algorithms // Shape of My Thoughts

The very first talk I saw at Eyeo was "Visualizing Algorithms" by Mike Bostock, who is the author of D3.js, a Javascript library for dataviz that I've been working with recently. This talk covered the use of visualization to understand the way algorithms work, as well as to debug them. This is such a simple solution to those of us who are visually minded and who are trying to implement algorithms for whatever purpose, whether it be solving a math problem or coding a data structure. A good example of such an exercise would be coding a sort algorithm and sorting rows of pixels. There are a variety of great examples on Mike's website. His code samples and visualizations for sorting, shuffling (the opposite of sorting), maze generation (different kinds of traversal, which produce a tree), and the "rent vs. buy" calculator are especially helpful. This talk gave me a new perspective as to how I might approach coding problems when my usual, more mathematical/scientific approach doesn't necessarily work.


The second (and one of the most interesting and thought-provoking talks I saw) was "The Shapes of My Thoughts," given by Giorgia Lupi, information designer at Accurat. This talk described Giorgia's design process, and design in general for those who may not have formal training in the subject. I loved this talk because, as a Computer Scientist by training, I've often found myself at a disadvantage when faced with design challenges, especially in the workplace. It's hard, as an analytically minded person, to approach a problem from a design perspective, especially when the outcome of said problem is something I will eventually be programming. This talk was a great lesson in allowing my mind to problem-solve, unfettered by constraints such as tech specs, time, and resources - "YES-AND-ing," basically.

One of the first things she suggested (and really something I should have begun doing ages ago) is to learn to design and learn design concepts. We have enough resources readily available to us online, and living in LA, I definitely have a great number of resources in my friends and colleagues. There are also a number of great books available on the subject (the one I'm currently reading is Art As Experience, by John Dewey). Second, Giorgia encouraged us to find inspiration in things we aesthetically like, perhaps using a website such as Pinterest to organize my inspirations. It is helpful to redraw images in order to understand 1) their composition, and 2) what exactly we like about them and to understand our thinking. It's not necessary that we be brilliant artists; as long as the exercise helps us. We can start this inspiration hunt by finding a topic or subject we like and focusing on that.

Another suggestion she gave was to separate macro- and micro- structure, and to design for these separately. After designing at the macro level, we can then refine the structure of the visualization and introduce a level of abstraction to elaborate on our original inspiration. The macro level should be the architecture of the data. We can do this by drawing to explore overall shapes and compositions, even without a specific project or dataset in mind. (One might think of this as a brainstorming session between the head and the hand.)

In order to continue my design education, I've bought a sketchbook and plan to create a Pinterest board of inspirations. I've also got a few design books on their way to me. I'm looking forward to future brainstorming sessions!


Thursday, June 19, 2014

Eyeo Festival 2014!

A few months into my current project with Mirada, David, the lead programmer on my project, told me about an art, design, and code conference in Minneapolis that I should consider attending, called “Eyeo Festival”. I visited the website and thought it looked neat, so I went ahead and bought one of the passes when they went on sale. I didn't think too much about it for the next four or five months, up until I was checking into my hotel room in Minneapolis the day the conference began.


Wow. From the beginning of the first keynote of the opening ceremony Tuesday night, up until the end of the closing party Friday night, I was blown away by how encouraging, friendly, and open an environment this was. There was so much collaboration between artists/designers/creative coders from all industries, and so much YES-AND-ing.

I saw a great variety of innovative creative coding projects, from apps to interactive installations to creative code/performance art hybrid pieces, and beyond. Every talk I went to, every person I met or spoke with, inspired me or changed my perspective in some way. Over the next few posts, I'll discuss some of my favorite talks and the resulting thoughts and ideas I've had.

Eyeo was by far one of the most eye-opening, stimulating, and enlightening experiences I've had. There are not enough words to describe how much I enjoyed this amazing conference, and I'm excited to see what they'll have in store next year!

Wednesday, June 4, 2014

Life Update!

Wow, I didn't realize it had been so long since my last update...

Since we last spoke, blog, I have been to Turkey, to Greece, and back, and begun a new job as a programmer/creative coder at Mirada Studios in Los Angeles. I was fortunate enough to be able to stay on the Westside where I lived and worked previously, and have spent the last eight months working on a super-secret and super fun data viz installation project for Mirada's Special Projects team! I have learned an immense amount since I've begun. I am working with a really smart, creative group of people who continue to inspire me every day, and I'm looking forward to learning even more as I finish out the project this year.

I've also, for the past 5 weeks, been teaching an introductory programming course to 11-17 year-olds in Processing at Digital Dragon. The kids are all really smart, sweet, and eager to learn. It's been a great learning experience, and very rewarding to boot! I did a short interview for DD a few months ago. You can check that out here.

Kos, Greece
During this project, I've gotten to experience working with algorithms and code as it relates to design and design principles - that is, designing with code, rather than creating a design and implementing it with code. It's a very different way of approaching problem solving that I think makes more sense in the creative/entertainment tech context. One such algorithm I've encountered is the Slabtype algorithm: a way to dynamically generate typographically beautiful layouts for text. You can read more about the algorithm and how to implement it here. I highly recommend checking it out; it's an interesting read!

Wednesday, August 28, 2013

Houdini Engine + Play Mode

I've been messing with the Houdini Engine API to see if I can get Engine assets to cook in Unity during play mode.


It does work, as long as I don't ask it to update more than once every few seconds. Otherwise I end up with a memory allocation error:


I'll have to find a good workaround for this.

Sunday, August 18, 2013

SIGGRAPH 2013

I went to SIGGRAPH about a month ago with SideFX, where I spent the majority of my time running the Houdini Engine demo at SideFX's expo booth. I really enjoyed getting to know SideFX's Toronto staff, and talking to people interested in the Engine.

I had the privilege of speaking at the "SIGGRAPH Birds of a Feather: VFX Student & Intern Showcase," where I talked about my path from student to professional and showed off some of my internship work. It was a great experience!

Aside from that, I spent a lot of time walking around the Emerging Technologies hall. E-Tech always has a lot of neat technology, and this year was no exception. Some of the ones I thought were especially interesting:

I had a blast at the conference, met some amazing people, and caught up with a lot of old friends, including my mentor from Georgia Tech, Greg Turk. Hopefully I'll get to go again next year in Vancouver!

Monday, August 5, 2013

Messing around with audio...


I've been getting back into computer audio recently. I really enjoyed the course when I took it at Georgia Tech four years ago, during which my teammates and I wrote a basic autotuner (back when autotuning was still cool). More recently, I've been brushing up on comp. audio concepts (yay, wikipedia!) and playing around with scripting an audio spectrum analyzer in Unity: https://vimeo.com/71708392.

I've also done some more work on my Kinect pointcloud visualization in Houdini: https://vimeo.com/71702497. This one's an audio-driven CHOPs animation of a Kinect pointcloud. The particles change color according to the pitch and percussion. R value for percussion, and G & B according to pitch. It's not perfect, and it's still a work in progress, but it's getting there.

Tuesday, July 30, 2013

Kinect experiments part 2

I have a render! I'm still waiting on my Leap Motion to arrive, but I'm checking out ZVector meanwhile.

http://vimeo.com/71382971

I'm working on a few Houdini Engine experiments right now. Stay tuned. :)

Monday, July 29, 2013

Kinect Experiments...

Recently, I've been messing around with bringing Kinect pointcloud data into Houdini. Here's a screenshot of my work in progress. I should have a render to share soon, too.

After that, I plan to do the same with Leap Motion data, and probably mess around with ZVector, too. If I could tie the three in together somehow, that would be fun, but I'm not sure how, yet. Some brainstorming is necessary... More soon. :)

Inspiration: http://mattiaslindberg.com/tag/houdini/

Tuesday, July 2, 2013

An interesting challenge

The other day, my supervisor at work asked me to create a series of assets geared toward Houdini "noobs," so to speak, who may or may not be artists and who are new to the procedural workflow. Our goal was to come up with assets that were simple enough for someone with zero Houdini experience to be able to load the asset, play with it, and understand what it does. Below are some of the assets I created.

Sweep Along Curve: Use the Sweep SOP to sweep a polyline along a curve.



Stacked Crates: Allows the procedural stacking of various sized boxes. After the lowest box has been positioned, the lower can change the number of boxes and adjust the offset between them.





Copy to Points: Copy objects to the points of any input object, using the Copy SOP. Random scales are optional, and the multiplier for the random scale is adjustable. This could be used for something like scattering vegetation on terrain.



Instance to Points: Same as CopyToPoints, but using the Instance node.

I found it unexpectedly challenging to create these assets without Python/HScript, which, as a computer scientist, is my go-to problem-solver. I actually had to create each asset solely with Houdini nodes, with the assumption that the user of my assets would have no programming knowledge whatsoever. I learned a lot about Houdini through this exercise and found myself approaching problems differently. It was a fun challenge and a good workout for my brain!

Tuesday, June 4, 2013

GDC

In late March of this year, I had the opportunity to attend GDC, the Game Developers Conference, for the first time. Not only did I get to attend with some of my co-workers at SideFX, but I also got to catch up with a lot of my ETC friends! I had a blast! I was able to attend quite a few interesting talks.


My favorite one was part of the Technical Artist bootcamp on the second day of the conference. Game studio Slant Six Games talked about the tools they used to create procedurally generated cinematics for their game Galactic Reign, a turn-based strategy game. Essentially, they used animation sequence templates in combination with actual events from the player's game to generate the ending cinematic to the player's game. One thing I found interesting was Slant Six's use of Maya to create the different fleet formations of ships for the game. The studio wrote their own plugin to generate different formations, but I think this could have been accomplished much more efficiently if they had used Houdini. You can read more about their work here. Double Fine Productions gave a talk on rapid prototyping that was part of the Technical Artist bootcamp as well, which I also found interesting. Hearing about their work inspired me to pre-order a Leap Motion controller for myself. I'm pretty excited to play with it when it gets here in a month!

Another talk I liked was "Equality or GTFO: Navigating the Gendered Minefield of Online Gaming Spaces," given by Anita Sarkeesian. Sarkeesian spoke about her experience with sexist online harassment and cyber mobs as a result of her Kickstarter campaign to create a series of videos exploring tropes vs. women in video games. Hearing about her experience and the internet's reaction to her Kickstarter was appalling, but it was definitely an eye-opening talk. You should read more about her talk here.

The last talk I saw at GDC was "Achieving Real-time Synthesis in the Musical World of FRACT," a first-person, puzzle adventure game inspired by electronic music. The developers talked about how they used Pure Data with Unity and wrote their own sound libraries to achieve a high level of control with which the player could create their own music in game, rather than using pre-recorded loops. This game recently was greenlit on Steam, so I'm excited to see cool things from them soon! Check out the videos on their website for more information!

Overall, I really enjoyed my GDC experience. I learned a lot, and I would love to go again!




Sunday, June 2, 2013

The Final Semester - Recap

Near the end of last semester, I was fortunate enough to be offered an internship at Side Effects Software Inc. in Santa Monica, CA, as their Houdini Gaming Intern. I've been here about 5 months now, and I'm really enjoying my work! I've been working on a few projects to demonstrate how Houdini can be used in the games space. We'll hopefully get to show off some of my work at SIGGRAPH in a couple of months! Though my internship work does keep me busy, I've also gotten some time to learn Houdini on my own using SideFX's vast library of resources. I'm currently learning more about procedural modeling, and creating assets in Houdini that would be useful in games.

Other news: a few weeks ago, I traveled back to Pittsburgh for a weekend to graduate. I now officially have a Master of Entertainment Technology degree from Carnegie Mellon University! I still have a few months left of my internship, so I will be in Santa Monica for a while longer, but it feels good to finally be finished with my degree and done with school!

Overall, I really enjoyed my final semester, and I'm looking forward to the rest of the internship!

Tuesday, March 5, 2013

India Trip!

I spent the majority of my winter break (December 19th to January 3rd) on a trip to India with my family. It was somewhat bittersweet, since this was the last time for who knows how long that my sister and I would have a vacation at the same time and thus was possibly the last family trip for a while. We managed to fit quite a bit of travel and sightseeing into our trip, so in the interest of keeping it short, I'll give you the highlights.

A man meditating on the beach, circa 6am
We arrived in India on 12/19, and met up with my maternal grandparents and my cousins (my mom's younger sister's family). The next day, we took an early morning walk to the beach, then visited Mylapur for some shopping as well as to visit the local temple (you'll see a trend here, soon). On the 21st, my mom, my sister, and I went on a mini-sight-seeing trip with my grandparents, my aunt, and one of my cousins. We visited the Vedanthangal Bird Sanctuary and two temples in the city of Kanchipuram, including Ekambareswarar temple, the largest temple in the city.

I know we went to Vedanthangal to see birds,
but the monkeys were just so cute!
We spent the next few days with family and running errands. We also threw an ice cream party (of sorts) for the children at a local orphanage, and donated some clothes and things to the orphanage and a nearby old age home.  On the 23rd, my sister, mom, and I took a train to Bangalore, where we met up with my dad. The next day, we began a hectic but fun road trip in a rental car with a driver.

On day 1 of our trip (Christmas Eve), we visited Ranganthittu, a bird and crocodile sanctuary, where we took a guided boat ride. Next we drove quickly through the ruins of Tipu Sultan's fortress, followed by a visit to the Brindavan gardens in Mysore to see the light show (which wasn't much of a show, but it was still pretty). We bedded down for the night at a homestay in the Madikeri hill station in Coorg.

Abbey Falls
The next morning, after a traditional Coorg breakfast of homemade rice chapatis, we visited Abbey Falls, the Namdroling Monastery (a Tibetan Golden Temple) in Bylakuppe, and the Palace of Mysore. At this point, we were cutting it really close to the 8pm closing of the only road to Bandipur jungle, so we hightailed it to the Bandipur Tiger Reserve in record time, where we stayed in a resort for the night.

Tibetan Golden Temple
We took a safari bright and early the next morning, on which we saw very few animals. Fortunately, the driver of our rental car was familiar with the area and was able to show us plenty more creatures. After this, we began the long, arduous journey to Guruvayur (nearly a 7-hour drive), to see the Guruvayur Sri Krishna Temple. At Guruvayur, we got to see the Seveli ritual performed, where an image of the presiding deity, Vishnu, was carried by the temple's elephants (yes, elephants!) and the temple priests. The elephants (three of them, side by side, such an awesome sight!) circled the temple three times, with devotees preceding them and praying aloud. Seeing the Seveli was definitely worth braving the extreme crowdedness of the temple! After Guruvayur, we spent the night with some family friends who recently moved to India from our hometown in Georgia.

A peacock from our morning safari!
On December 27th (the following morning), we visited my dad's cousins, followed by my maternal grandfather's ancestral home, where he grew up. Next, we drove to Coimbatore, where we visited the university campus where my dad's eldest brother works. After a campus tour, we visited the famous Marudamalai temple, followed by a delicious dinner at the Annalakshmi charity restaurant. This was a really neat restaurant in that all the "employees" were volunteers, and you were allowed to pay whatever amount you wanted for the food you ate. What a cool idea! We spent that night at my uncle's place.
Amrita University, Coimbatore
(http://www.amrita.edu/cbr/)

The morning of the last day of our trip, we visited the local Perur temple during a festival. It was too crowded for us to go in, but we did get to see some of its beautiful architecture - thousands of years old. After saying our goodbyes, we began the trip back to Bangalore (which included a delicious buffet lunch in my mom's hometown of Salem).

During the remainder of my time in Bangalore and later in Chennai, I was able to see some friends from Georgia and Pittsburgh, and watched fireworks on New Years Eve on my aunt's terrace near the beach. A few days later, I returned home to Georgia, exhausted, but pleased with a wonderful trip!




Wednesday, February 6, 2013

Fall 2012 Semester: End

Wow, how long has it been since my last post? Since then, my semester has ended, and I've moved on to my last semester as a student! (Finally!)

I finished out last semester in Entertainment Design Studio (EDS) with one last Houdini project: a colormix OTL with basic compositing. You can see some of the iterations of my work along with the final version at the Youtube link below.
I really enjoyed my semester in EDS, but it made me realize that there is a lot more to Houdini than I can learn in a semester. Luckily, I will be learning a lot more Houdini in my co-op this semester... but more on that later. :P

I also finished up my project, Up+, sponsored by Microsoft. For this project, our team--five programmers, one artist, and one content designer (me)--worked together to create a highly personalized, interactive, retail experience to help sell the Windows Phone 8. The experience we came up with was a website which asked the user a series of seemingly random, unrelated questions. Our algorithm would then analyze the user's responses to these questions, and use this data to create a personalized Windows Phone for the user, complete with all the apps the user liked. My part in this project was designing the textual content and flow of the experience, as well as managing cultural implications and obstacles. You can read more about our project on the project website. The fruits of our labor have been handed over to Microsoft, so you will hopefully see it in retail spaces soon!

Next post: My winter break adventure!


Wednesday, October 31, 2012

Entertainment Design Studio: Progress Pt. 2!

As part of my elective this semester, during which I am learning Houdini 12, I recently finished my bowl-breaking simulation. Watch the video of my progress and the final version below:
I'm quite proud of how it turned out, especially considering what it looked like to start with and the number of iterations it went through. One of the main things I changed between the previous iteration and this one is the way the bowl is broken. I initially used the "Make Breakable" shelf tool, which breaks the object immediately on impact. For the final version, I instead went with the "Break" shelf tool for the model itself, followed by the "RBD Glue" shelf tool to ensure that the break occurred gradually.

There are a few things I think could use some work, if I had more time to fix this up. I would definitely like to do something about the leakage from the bowl. My initial idea was to use a proxy volume, but the problem was that the bowl needed to be a rigid body in order to be able to be broken by the falling rock. When I tried to use the proxy volume, it collided with the bowl and popped out on top of it, defeating the purpose of the proxy volume entirely. Finally, I came up with a sort of makeshift fix for the leakage: I compensated for it by starting the simulation with the bowl already tilted and slightly cracked. This made the splashing and movement of the leaking fluid plausible, as the whole bowl was moving and cracking further. The other issue I'd like to fix, given more time, is that the fluid that leaks out of the bowl becomes thinner and eventually disappears, as is evidenced in the video. I think the leakage would be more convincing if I could add some fluid emitters beneath the bowl which emit fluid as the fluid leaks from the bowl, keeping the amount of fluid present in the scene constant at all times (rather than slowly decreasing).

I also had some technical constraints to work with. I would have loved to have used a glass material for the bowl, to give it that extra bit of realism. However, I discovered that the machine I have to work with is not powerful enough to render scenes with complex lighting or simulation. While this put a damper on my creative juices, I think it also poses an interesting and definitely useful challenge for me: learning to construct an effect such that it is as easy to render as possible, while still looking realistic.

All adjustments aside, I'm pretty pleased with the final outcome. I've added the bowl breaking video to my film demo reel, which can be found here.

I've started my final Houdini project for the semester this week, so expect a progress update on that soon!

Tuesday, October 9, 2012

Entertainment Design Studio: Progress!

As I mentioned in a previous post, I'm using my elective for the semester, Entertainment Design Studio, to learn the basics of Houdini and to start to create my own VFX demo reel. Thus far, I've gotten solid introductions to lighting, rendering, shaders, particles, rigid body dynamics, fluids, and pyro. I've also gotten the chance to create custom tools using nodes (the one I use most frequently is a Light/Shade/Render tool which sets up a basic camera, ground plane, key light, and fill light for rendering purposes). The new topic I've been learning for this week and last week is how to integrate Python scripts and expressions into my simulation. It's proving pretty useful for my current simulation!

Ever since I finished the particles and fluids section, I've been working on a small simulation with which I've tried to combine all of the physical simulation techniques I've learned. It's a work in progress which has gone through several different iterations, but I think it's going well. This "mini-project" started out as a geyser shooting up out of some terrain, but it was pointed out to me that, since I am a beginner at using Houdini, it would be better for me to start out with something on a smaller scale. So, I set out to create a simulation of a bowl of water, into which a rock is dropped. The rock breaks the bowl, and the water spills out. Video of the work in progress is below.


Some challenges I have run into thus far:
  • Realistic breaking - I haven't yet experimented with the Voronoi fracture node, and have instead been using the "Make Breakable" shelf tool. While this is physically accurate and easy to use, it doesn't provide a realistic-looking or interesting fracture. It would be cool if the fracture appeared gradually (small cracks at first, then bigger ones), but instead it fractures into large pieces almost immediately.
  • Rendering limitations - As I am not using Houdini as part of a project, I don't have access to the ETC's render farm. Because of this, I have to be careful of which materials and shaders I use, and how complex they are. As I found out when I tried to render a bowl made of glass, rendering time can really add up if I'm not careful of how complex the lighting and simulation is in a scene.
  • Feedback: Learning curve vs. realism - One of the biggest challenges I've found is the feedback I've gotten on my work so far from my classmates. Not the quality of the feedback, but rather what they are commenting about. I am the only one in my class (and, maybe, the only one in my graduate program) who has any Houdini experience, and, as I am a beginner, there is a bit of a learning curve when I work on projects. When they see my projects, my classmates can at most give me feedback on the realism of my work, but not on the technique, the latter of which I think would be more useful to me. 
I originally intended this project to only last about two weeks, but I think I can learn a lot more from continuing to experiment with different effects and techniques for this simulation. I'll be working on this project for about another week. Check back for the final version!