Thursday May 6, 2010

Serious Fun

Our Introduction to Creative Technologies lecture had a guest speaker, an information scientist (I think was the title, I can't double check right now as the slideshow online is currently corrupt). We lightly touched upon diverse subjects including quantum entanglement, which I will research further as I had a theory that such knowledge opens up possibilities in the (distant) future of communications devices that don't require radio and operate over any distance. Much like what you see in any Sci-fi show where spaceships communicate even though they are light years away. But I have no idea what I'm talking about, perhaps I should research before posting...

So on Tuesday we started preparation for the 3rd project, Serious Fun". A new-to-us tutor with a background in illustration introduced us to character development with examples of work both her and other people have done. Our first exercise was to draw character concepts. Yes, with pencil and paper. I imagine this came as a welcome relief to some members of the class as we've been hit hard with a lot of technology lately, and this was calling upon different skills in our multidisciplinary degree. Despite having a technical bent, I also used to draw a lot and paint and took art through out school, and as a kid drew cartoons (which I still have) so this was quite enjoyable too and a change. It was also mildly frustrating because I'm fairly unpractised at drawing and coming up with a character was challenging. It's different from being a kid though, as a kid cartoons and fictional anthropomorphic characters were part of some natural interest, but of course now what perhaps came naturally without much conciousness of wider issues has factors to actively consider attached. For example, the character has a function, a combination of identifiable qualities and social features. Well my cartoon characters from childhood had all of that, but I didn't sit down and consider them before I made the character. It's all very well to just draw some freaky little fuzzball and say "he/she does this and that" but as an adult there has to be some sort of point to the character. Why does it exist? Yes I know it exists because we were told to make it, but why else? What's it's purpose? What is it trying to say? I like that kind of stuff, but sometimes it can trip a person up trying to be creative. Perhaps I should have just drawn characters and later explored who they were. Or perhaps I could have come from another angle, and come up with issues I'd like to express and then design characters around that. Well I tried various combinations of the above, I also wanted to  create characters that were not disney/cartoon like, with big eyes etc. We were going to animate these characters later and it was obvious that we'd be conveying something like emotion with them too. A human-like face is pretty boring really, it's much more fun to convey emotion from objects or perhaps even lifeforms that arguably don't possess any emotions.

I wasn't really happy with any of my characters because I wanted it to fulfil a purpose and I was probably being a bit pre-emptive with what we'd be doing with that character.

In the afternoon we were to choose a character, develop it further and make a flipbook of about 2 seconds at 12 frames per second. So 24 pages.  I'm not entirely sure how many pages I made my flip book, possibly a few more than 24 pages, I've scanned in the pages and put it back together for your benefit.

It's just a character I made the purpose of the flipbook. (Edit: I've just noticed the youTube re-encoding has dropped some frames making it look like the block that falls on the worm just appeared out of nowhere UGH!)

On Wednesday we were to bring plasticine and a digital camera. We were asked to make a 3D representation of our chosen character and and create a stop-motion animation of it moving. I've never done this before and it's funny, there have been times as a kid I'd love to have been able to do this kind of thing but was never able to. Now the technology is completely available to just about anyone. As a kid I did make a few flip books, except they weren't meant for flipping. They were meant to be turned into real animations at a later date when I had the technology. A few years ago I scanned in two typing pads of a character I drew many years before, mainly so I could throw out the originals. I have a pile of tif files on this computer as a result.

Anyway, we used our camera's to take a sequence of shots and compile them using Quicktime Pro, which has a menu item to do just that from a folder of images sequentially numbered (so make sure your camera is naming the resulting images sequentially). I discovered my $2 shop plasticine was useless and an hour later that the city's shops appeared to all be out of stock, but once of my classmates was nice enough to lend me a small amount to  do my animation. I still didn't have a character in mind but used a snail that I'd drawn randomly as it was easy to mould. I didn't really plan what it was going to do, perhaps move to the camera, check it out and move on. So I started doing that, and considered how a snail might move. It's movements probably aren't representative of how a real snail moves but it has more of a human element to it, bobbing it's head as it slides along.

The camera has manual focus but when you set it, it permanently superimposes a square of the focused portion close up in the viewfinder over the picture, making it difficult to see the rest of the frame. Surely you can switch this behaviour off, but I don't know how to yet, so I set the camera to Macro Focus (close up). As the snail got closer it got more out of focus as the camera was focusing on the background. This did however give me the opportunity to explore animated focusing and make it appear deliberate. When the snail stopped at the camera, over  few frames I slowly bought the camera into focus with the manual setting. Unfortunately as one point the camera auto-powered down and lost the manual focus before I finished the film so the snail goes out of focus again. Anyway, at the end I was going to make it slide off, but decided it might be amusing to make a rocket appear from somewhere presumably a door on the shell so the snail suddenly became turbo-charged, and perhaps a camera pan for good measure. I had some time before afternoon presentation so I put the result in Adobe Premiere Pro and added some sound effects and titles. One last slight snag was that Premiere was set to 25 frames/second so it interpolated the frames that were missing, which made it look silly when our tutor did the frame-by-frame analysis on presentation. Tech issues... always annoying. The solution would have been to set up as a 24-frame movie and set the field options to not interpolate (in the menu it's called reduce fuzziness I think). You can't just set a movie to 12 fps as far as I'm aware. Well, it's not immediately obvious how to anyway.

In the afternoon after viewing the videos, we were asked to get into groups of 3 and combine our characters and make a 10 second movie (120 frames) considering how the characters interact. Along with how they move etc.

Our group came up with a basic idea, the characters were my snail and another person's blue Yeti and Ninja. The Yeti is eating from a paper bag full of food (which was an inanimate version of the 3rd person's character) when the snail approaches, the Yeti turns around, sees the snail and runs away Meanwhile the Ninja magically appears every now and then from behind plasticine "trees". The final result has a few things I was personally not happy with, I felt there was a lack of consideration given to how long it takes to react to an environment and some movements were far too quick and spread out, but we managed to get 128 frames. I took it home and put it together adding sound effects and I also actually slowed down the action by 80% because I felt parts moved far too fast. But as it was already 12 fps I couldn't slow it down further without making any jerkiness totally unacceptable. The end is a bit disjointed but it seemed to be well received by the class.


    Thursday May 6, 2010

The Play

Today (Thursday), we presented our videos in the morning, and were then given the main brief. The shear number of videos that contained someone dying in a violent-but-humorous sequence made me consider just how numb we seem to be as a culture to violence. Admittedly humanity appears to be mostly immune to the sanctity of life through out history, the Romans threw (real) people to lions for mass entertainment, so it's not a new thing. It still strikes me as slightly weird and to a degree connected to the plots of lots of TV and video games that trivialise life. Crikey, I sound like some concerned parent... But if I think that commercial music and brain dead TV/Blockbuster films are brain rot, then perhaps so are overly violent plots/themes on some level. Moving on. We were given our main project brief.

Essentially we are to use our character or generate a new one if we're not happy with our current one and combine it with skills we have learnt so far such as MaxMSP, Processing, and any other skills we may have including Flash, 3D programs or whatever else we may know. We are to make the character interact with a participant (user) as part of an art installation. Concepts that we will explore during this include the methodology of Play and study of Semiotics.

Well, it seemed a bit intimidating. We were given the option to work alone or in groups of up to 4 people. I opted to work alone as I usually find groups quite frustrating. There were a couple of parts that I found mildly daunting, coming up with a character mainly. I was starting to consider that the snail was potentially a good and challenging character to use as I analysed it's behaviour in the two videos so far. It is mildly interested in checking out new things, and when it gets board it takes off. Literally. I could produce a work that reacts to a user, but if the user doesn't to much, it leaves. Writing that just now I realise that it's stepping dangerously close to having game elements which we are to avoid. Play is (as best I can define right now, I'll become more familiar as the project goes on) a meaningful but not "serious" activity but without some sort of object to it unlike a game which is play (I guess) but with a quantifiable outcome.

Another thing I considered was doing something a bit different, I'm thinking most projects will be on-screen interactions. I considered animatronics. We have made robots, and those robots I'm pretty sure could be controlled directly from the computer by Processing instead of Lego MindStorms software.

While considering this 2 people I have not talked to before approached me and said they were looking for a 3rd person to form a group. I politely declined but minutes later decided to ask them if they had any ideas. This is my weakest point, initial ideas. We had a small conversation and I decided to join. One of the problems I have with groups in the course is the same people seem to be gravitating toward each other now. I think it would be wise and interesting for people to branch out and mix up, not just stick with their mates. Well that's one thing, the other is I don't want bad ideas that miss the point of the brief messing up anything that I have to put my name to. But I think this will work. A 4th person joined a bit later, and I think I quite like the progress we made. We came up with ideas that were pretty good, mainly because they are actually demonstrating what we need to demonstrate. I think anyway.

At the moment we have a little Aztec character with a large head, small body and a mask on (which appears to be his face as it will show expression) who reacts to various gestures. While considering various elements of this idea we decided that the character happens to be a real person, with a normal body, but we are interacting with him in his dream. This opens up the possibility that we don't just have to control his reactions, but we can control his environment by changing his mood.

It feels nice to have a basic idea down. We currently have don't have solid plans for the execution but some basic ideas. MaxMSP and possibly processing to detect motion of the participant and 3D software to make the character.

Tomorrow we will develop the character more.


    Monday May 24, 2010

...or something

It's been a packed week, a lot has happened. Yet not a lot has happened at the same time. We altered our character from a man with a mask to a cat. I'm not entirely sure how we came to decide that a cat was best as a group, but it was an idea I kind of liked regardless - it was my suggestion. Reason being that you can give tangible meaning to what it is to play with a cat. We can demonstrate the semiotics behind human-animal interaction. A cat knows what it means to play with a human and a human knows what it means to play with a cat.

However we were stuck all week on just how to execute this plan within our skill set.

Monday Our Introduction to Creative Technologies lecture focused on our tutor, and how he came to where he is, and also what past students have achieved with art installations. The rest of the day we messed around with a programme called Unity, where you can build interactive 3D environments, and in fact a few popular games have been built in Unity. This was one possibility, if we could manage to work out how to use it in a very short time. This was to be (as I knew it would) a common issue. How much time do you devote to a possible application before you decide that you can use it or not? Time is very limited and if you have to learn the application first, you better be sure you can learn it fast. But to know that you have to waste a certain amount of time trying to use it. The pressure to use your limited time effectively can be quite high. I was sensing quite quickly that Unity would not be the answer, although I heard optimistic calls from other group members so perhaps they could develop something. I certainly couldn't.

Tuesday we were to meet out tutor and discuss our ideas. This was all well and good except I thought our group was meeting with out tutor on Wednesday, so I wasn't really prepared with diagrams or.. anything. I found that mildly embarrassing, but we discussed our ideas and at least we were able to work out if we were on the right track. We were given the task of writing a manifest to determine our position so that night we went home and attempted to write our own versions and meet up and compare notes.

Wednesday we met up and discovered that no one had let anyone down, we all found it equally difficult to write this manifest plus we were all rather sidetracked by a large assignment due next Monday. That is, 39 Processing programmes that we have to write. We spend a few hours attempting to write something coherent and by the end of the day decided we needed to take action and start getting some tangible results as it was now one and a half weeks to presentation. We could deal with a manifest later.

The rest of the week we messed around with Unity and Max3DS, attempting to get some sort of result. One night in particular I tried attaching bones to a cat model that I had found on the internet. Such a simple task and I wasted hours with no result. And this is with following video tutorials. I could see this was a pointless path to go down. Even if we could have added bones to the cat model (making it controllable) then we'd have to actually control the cat in realistic movements and work out how to control those movements from outside of the environment they were rendered in. It would basically be a bunch of predefined sequences that someone would have to labour over. So I started floating the idea of doing the cat as a 2D animation in a program like Flash. Flash can be controlled by Max MSP (apparently) so we'd be able to use Max for motion tracking technologies and then have it directly control Flash which would play a series of animations on a timeline. Only issue was that someone would have to draw the animations of the cat. We had an illustrator in our group so hopefully he'd be able to take up that task.

The Weekend I hoped to have a basic cat drawn up that we could animate and learn how to control Flash, but this has to be juggled with our Processing assignment which was top priority as it was marked, it was difficult and it was due Monday afternoon. The reality was I spend my entire weekend working on processing exercises, some of them rather complex. I also had to read as much of one of the supplied texts on Processing as possible because I was away sick one of the weeks that we learnt processing. Sunday is when I got up to reading about object-oriented programming and I re-wrote pong as it turned out it was supposed to be supplied as an object-oriented program. Object oriented programming is a method or writing software in a modular way where parts of the program are objects with their own set of properties and functions that you define before you use them. For example, in pong, you'd define the paddle as an object with dimensions and how it responds to user input, and you'd define the ball as an object, again with dimensions and what it does when it hits another object like the wall or a paddle You can then have instances of the same object, so paddle 1 and paddle 2, and you could easily add more balls to the game if written correctly. Which is what I intended to do originally but time was running out. I stayed up all night Sunday to finish the assignment.


    Monday May 24, 2010

Ugh

I got to BCT on Monday just in time for our Introduction to Creative Technologies lecture where we listened to some Apple Inc representatives talk about the history of the company, it's success since the second coming of Steve Jobs (though they didn't actually say that bit) and the iPhone and iPad platform and Xcode. While I might have unwittingly entered the reality distortion field over the course of the week I became mildly interested in the idea of learning Cocoa, Objective C and all things related to developing mac, iPhone and iPad applications. This is the great thing about this course, while stuff like that has always interested me, I'd never actually bother to learn it (or have the resources or the mindset) if I was not studying. I think there is potential in the platform, and some people have already seen that potential. I'd also fully prefer to write in native code, as opposed to the Flash environment that Apple recently effectively banned from their devices.

The rest of the day was not going to be productive, I was incredibly tired, and my team mates were still working on the Processing assignment so I went home to get some sleep, although that didn't quite happen.

Our illustrator seemed to be off doing research on cat breeds which I found a bit pointless, and time was swiftly running out so I started to draw our animated cat on my own, and I did this on Tuesday and through the night on Wednesday. It took a while due to difficulty in even starting as I was not comfortable drawing a cat - drawing at all. But I had to relearn my skill and I chose Adobe Fireworks to do the animation in. This is a program I wanted to get familiar with anyway for some website prototyping that I want to do in the future when I have some time (haha), and for this task is was simply a joy to use.

I drew animations for a few different movements, enough to start with, we could add more later if we had time.

I went in in the morning and delivered the artwork and I also experimented with controlling Flash from Max,but being incredibly tired (again) and mildly annoyed that only one team member had come in (in a timely manner) I went home again. While there though I had determined that controlling Flash was probably going to produce a lot of headaches especially as some of the documentation appeared to be out of date and it also made use of Actionscript, the language of Flash. I have a mild aversion to Actionscript and now was not the time to get over it.

It didn't matter, it occurred to me that we did not need Flash anyway. I had made a video animation of a cat and that could be controlled by MaxMSP directly.

Thursday I got in early and started trying to "write code" in Max to play certain frames. This wound up taking hours or frustration as it's never quite as simple as the documentation makes it out to be. While I did this another team member played with certain functions of Max for it's motion sensing. We worked until fairly late then I took everything home to complete it and take over the motion sensing too, and integrate it with my video playback programming. Another all-nighter. Presentation was the next day.

On Friday morning our class presented their various works. Everyone had different issues all arising from time vs ambitiousness vs ability with software. However the main focus of the project was the ideas behind Play. Our cat was not finished, it groomed itself and blinked while there was no interaction and it looked sideways at the participant if it detected some action, but it was also meant to pounce forward and then follow movements with it's eyes. Originally I wanted the cat to play with it's paws and and move closer to the screen to smell if the participant approached the screen. But that kind of stuff was now stripped out.

There were so many  groups on presentation day and by midday everyone had had enough and our group had not yet presented. I let it slide as it became apparent that the critique although valuable was not critical. Our idea wasn't going to be changed in any dramatic way at this point, I had to get the rest of the program working and complete the other parts of this assignment. That's how I've spent the weekend, I've had to simplify the cat's eye-tracking a bit further, and I'm mildly annoyed that all of this work for the good of the group comes at the expense of any personal submissions that I also have to make. Well, it might, there is still a few more hours before hand in.

I'm quite glad this is over, I'd like to have explored some concepts more and not get bogged down in details of how to actually get things working, and while I found my group fairly agreeable I still think I work better alone. Coming up with an idea worried me enough to join a team but I wound up executing a lot of the product anyway so I can probably handle doing things on my own, and with the added bonus of being able to make decisions quicker and not having to commit to be somewhere when it serves no other purpose than to demonstrate that one is actively working on the project.

Demonstration video.