Jul 292011
 

Things are not going well for the villagers that live near the dark volcano that dominates the landscape. The smoke and ash the billows from the inaccessible crater is only a minor problem, far worse are the horrible creatures that dwell in the crevices that split the mountain’s flanks. And lurking somewhere deep within the lava-fulled depths – Ashardalon awaits!

First things first – Wrath of Ashardalon is an official Dungeons and Dragons game, played like you would a D&D adventure with simplified combat with the game mechanics taking the place of the DM. Still reading? Very well, let us continue…

Up to 5 adventures can play, each selecting a different pre-defined character but choosing a subset of the available abilities to start with. Each turn, the a player moves his character around the board and possibly attacks a monster if one is in range. At the start of the game, the board consists of a single 4*4 tile but if a player ends his move on an edge then pick a random tile and place it on the board, exposing a new part of the dungeon. At least one monster is placed on each new tile. Usually an encounter card is drawn as well, these have effects (almost always bad) ranging from the current player being hit by an arrow from the shadows to everyone taking damage from poison gas.

Then it is the monsters turn to move, the current player does that before ending his turn. The monsters all behave slightly differently, but the cards carefully explain what to do. Combat is very simple – roll a 20 sided dice and add the attack value to see if it meets the armour class of the defender. Most monsters can be dispatched with one or two hits so bookkeeping is kept to a minimum.

The ultimate goal changes depending on the scenario chosen at the start of the game. In our most recent game we had to fight our way through the random tunnels to find a special tile that opened into a large chamber filled with monsters led by a special “villain” monster with extra abilities. Our first attempt failed utterly but we got there in the end.

One word best describes Wrath of Ashardalon – hardcore! The box contains a vast amount of cards, tokens, thick cardboard map tiles, and 42 unpainted plastic figurines. The figurines are different from the normal D&D figures but detailed and suitable monstrous. The map tiles are very heavy card-stock and the art in nice throughout; full marks for presentation. The rulebook looks good but has a uphill battle trying to explain things, especially since many of the rules only apply during certain scenarios. It was only on our second game that we felt we were playing things correctly and even then we had problems.

The closest thing I could compare Wrath of Ashardalon to is the old Gauntlet arcade game from the 80s. The game forces you to move fast, uncovering the dungeon quickly to reach your goal. The clock is ticking since horrible events befall your party nearly every turn. Trying to mop up every single monster before continuing only leads to defeat; far better to keep moving and conserve your meagre resources as long as possible.

Wrath of Asgardalon certainly can be fun, but is really only for experienced players. The game balance is brutally stacked against the players, so everyone has to be making the most of their abilities all the time. Even then blind chance can completely screw you (and everyone else) over with no chance to counter it.

Recommended only if you have a group of friends who really like Dungeons and Dragons and Losing and Restarting.

Jul 182011
 

Last week I wrote about starting with digital electronics with the Arduino prototyping platform. Getting something working was easy enough but I was dissatisfied with ugly result, especially when my friend Lloyd showed up with his extremely tidy version of the same idea. The piece of cardboard had to go!

My first version used a breadboard and uncut LED leads because I thought that I would want to dismantle the components for reuse. However I have since realised that I am a grown man with a career and can easily afford the $4.50 material cost. Behold POV version 2:



I won’t be entering this in any soldering competitions but it works OK.

The code has also changed. Compiling in what amounts to a 2D bitmap was a quick way to get something up and running but it wasn’t very flexible, especially since in the future I want to display long strings of text. This means storing glyphs (letter shapes) for every letter of the alphabet (plus digits and symbols) – what I needed was a proper font; what I got was this:

I then turned to Python to generate the program data to embed in the new Arduino code. This script slices the image vertically, generating one byte (actually only 7 bits) for each slice of pixels. What comes out is a long list of byte values that can be output directly to the Arduino’s IO pins to display each section of the text, along with a set of indexes that map letters to the start and end positions of individual glyphs in the array.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import sys
 
def GetSlice(i, pos):
	t = 0
	for q in range( pos, len(i), len(i) / 7 ):
		t = t * 2
		if ( i[q] != '\x00' ):
			t = t + 1
	return t
 
def GetGlyph( i, pos ):
	end = pos
	start = pos
	data = []
	while (end < len(i) ):
		t = GetSlice( i, end )
		if ( t == 0 ):
			break;
		data.append( t )
		end = end + 1
	return (start, end, data)
 
def GetFont( d ):
    result = []
    i = 0
    currentIndex = 0
    indices = []
    while ( i < len(d) / 7 ):
	(start, end, data) = GetGlyph( d, i )
	if ( len(data) == 0 ):
		break
	i = end + 1
	indices.append( currentIndex )
	currentIndex = currentIndex + len(data)
	result.extend( data )
    return ( result, indices )
 
if __name__ == '__main__':
    if ( len(sys.argv ) != 3 ):
        print "USAGE: program <input> <output>"
        exit()
    data = []
    i = file( sys.argv[1], "rb" )
    data = i.read()
    i.close()
    ( d, indices ) = GetFont( data )
    o = file( sys.argv[2], "w" )
    o.write( "static const int indices[] = { " + ",".join(map(str, indices ) ) + " }; ")
    o.write("\n")
    o.write( "static const unsigned char fontdata[] = { " + ",".join(map(str, d)) + "};")
    o.write("\n")
    o.close()

This scheme is more complex that the original bitmap but allows arbitrary text to be display without lots of editing. The modified Arduino code now looks like this. The first two lines contain the new font data, and you can see that the text to display is simply declared on line 5.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
static const int indices[] = { 0,4,8,12,16,19,22,26,30,33,37,42,45,52,59,63,67,71,75,79,82,86,91,96,101,106,111,116,121,126,131,136,141,146,151,156,161,163,165,167 }; 
static const unsigned char fontdata[] = { 63,72,72,63,127,73,73,54,62,65,65,34,127,65,65,62,127,73,65,127,72,64,62,65,69,39,127,8,8,127,65,127,65,2,1,1,126,127,8,20,34,65,127,1,1,63,64,64,60,64,64,63,127,32,16,8,4,2,127,127,65,65,127,127,72,72,48,62,65,71,62,127,72,76,51,50,73,73,38,64,127,64,126,1,1,126,112,12,3,12,112,126,1,15,1,126,65,54,8,54,65,96,16,15,16,96,67,69,73,81,97,62,69,73,81,62,17,33,127,1,1,71,73,73,73,49,65,65,73,73,54,24,40,72,127,8,121,73,73,73,6,62,73,73,73,6,65,66,68,72,112,54,73,73,73,54,48,73,73,73,62,3,3,123,123,27,27,127};
 
static int outputPins[] = { 12, 11, 10, 9, 8, 7, 6 };
static char text[] = "ANDREW";
 
void setup()
{
  for (int i = 6; i<=12; ++i)
  {
    pinMode(i, OUTPUT);     
    digitalWrite(i, HIGH);
  }
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
  delay(2000);
}
 
void loop()
{
  byte row = 0;
  byte endRow = 0;
  char* currentChar = text;
 
  while (1)
  {
    if (*currentChar == 0)
      currentChar = text;
    if ( row == endRow )
    {
        char t = *currentChar;
        currentChar++;
        t = t - 'A';
        row = indices[t];
        endRow = indices[t+1];
    }
    while (row != endRow)
    {
      byte mask = 64;
      for (byte pin = 0; pin < (sizeof( outputPins) / sizeof(outputPins[0])); ++pin )
      {
        digitalWrite( outputPins[pin], (fontdata[row]&mask)? HIGH : LOW  );
        mask = mask / 2; // divide mask by two, moving it down one bit
      }
      row++;
      delay(1);
    }
    for (byte pin = 0; pin < (sizeof( outputPins) / sizeof(outputPins[0])); ++pin )
    {
      digitalWrite( outputPins[pin], LOW);
    }
 
    delay(1);
  }
}

Still to do: This code is not very efficient. It uses digitalWrite() in a loop to turn on the LEDs. digitalWrite() is very easy to use but if you look at the source code you will see it does all sorts of unnecessary stuff for this job. I plan to replace it with direct writes to the required Arduino IO registers.

I also want to make the whole thing interrupt driven to free up the CPU. Why would I want the extra CPU time? I have plans for that as well…

Jul 142011
 

I have a new hobby – digital electronics! Last week I bought an Arduino Uno on a whim from JayCar. Being a typical programmer, I have very little idea how computers actually work on the physical level so this gives me an easy introduction to lower-level coding and electronics in general.

The Arduino is a small board with a fairly capable 8 bit microprocessor (an ATmega328 to be precise) with the IO pins hooked up to convenient headers ready for attaching external devices. The CPU has its own RAM and programmable flash memory, and it comes with a bootloader that can reprogram the flash via the handy USB connection (which can also power the whole board). It is hard to imagine a more plug-n-play device.

I decided that I would follow the well-worn path and create a persistence of vision device for my first project. Mine consists of 7 LEDs hooked up to IO 7 pins (via appropriate resistors), the idea is to make the LEDs blink in such a way that recognisable shapes appear as the LEDs are waved quickly in front of your eyes.

My prototype is a little rough, but works fine in a darkened room (I was too cheap to spring for super bright LEDs and the darkness hides my shoddy soldering job.) The breadboard is too fragile to wave around so the LEDs are mounted on cardboard and connected using a couple of metres of CAT5, which conveniently has 8 internal wires to supply the 7 LEDs with a common ground. The total cost is less than $10, excluding the breadboard and the Arduino itself.

The Arduino programming environment is pretty nifty. The language used is a limited form of C++ (no standard library or runtime support for much of anything) with some extra libraries for managing the CPU’s features. Compiling and flashing the CPU is as simple as pushing a button. Here is the code that generated the above picture:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// Array holding the graphic to display
static char* text[] = {
" XX   X     X  XX     XXXX   XXXX  X     X     ",
"X  X  XX    X  X  X   X   X  X     X     X     ",
"X  X  X X   X  X   X  X   X  X     X     X     ",
"XXXX  X  X  X  X   X  XXXX   XXX   X  X  X     ",
"X  X  X   X X  X   X  X X    X     X  X  X     ",
"X  X  X    XX  X  X   X  X   X     X  X  X     ",
"X  X  X     X  XXX    X   X  XXXX   XX XX      " };
 
static int outputPins[] = { 12, 11, 10, 9, 8, 7, 6 };
static int graphicLength;
 
 
void setup()
{
	// setup the initial state of the pins
  for (int i = 6; i<=12; ++i)
  {
    pinMode(i, OUTPUT);     
  }
	// pin 13 is hardwired to the onboard LED, turn it off
  pinMode(13, OUTPUT);
  digitalWrite(13, LOW);
 
  graphicLength = 0;
  for (char* t = text[0]; *t!=0; ++t)
  {
    ++graphicLength;
  }  
}
 
void loop()
{
  while (1)
  {
    for (int i = 0; i < graphicLength; ++i )
    {
		// find out if the pin is supposed to be on (HIGH) or off (LOW)
      for (int pin = 0; pin < (sizeof( outputPins) / sizeof(outputPins[0])); ++pin )
      {
        if (text[pin][i] == ' ')
        {
          digitalWrite( outputPins[pin], LOW );
        }
        else
        {
          digitalWrite( outputPins[pin], HIGH );
        }
      }
      delay( 1 );
    }
  }
}

Not very efficient but simple enough to get going. I am already working on a more functional version which will have its own font and interrupt driven display.

Jul 072011
 

Why yes, I do have a Google+ account. Why do you ask?

Actually, it is no big thing any more. Google are slowly allowing more people on as they ramp up their Facebook-beating service. I have been using it for a day now, and I like a lot of what I see. Unfortunately, the rest of what I see sort of mystifies me instead.

Google+ is a Facebook-like service, where people publish Facebook-like status updates to Facebook-like lists of friends, maybe attaching a link or a photo kind of like you do in another social media website whose name has temporarily slipped my mind. Basically, it’s Facebook with a slightly more up-to-date look.

Google+’s main UI difference is the concept of circles. These allow you to easily group your contacts (friends, workmates, family, etc) with a snazzy drag-and-drop interface. Then you can pick which circles get to see each thing you post. It is a lot easier to use than Facebook’s group concept and more offers more granularity without being to complex.

It is early days yet, but there are things that Facebook still does better. Posting a link is nowhere near is easy – Facebook allows you to easily customise the summary it displays where Google+ only allows you to delete the summary, not replace it with your own. Notifications are also slow to arrive, but Google+ does display notifications in the other Google apps (gmail, reader) which is very handy.

One thing I was disappointed not to see what any way to link content from other sites into my Google+ stream. For instance, there is no way to automatically post links to new articles on this blog to my Google+ stream. Facebook sort of allows this with its Notes feature. I don’t use Twitter, but that doesn’t seem to be included either. Google has Friend Connect for following blogs, but that doesn’t seem to be integrated into Google+ at all. It is all very strange.

I haven’t tried the Hangout feature since I don’t have a webcam on my main computer, but it looks like it could be useful if it works as advertised. The Sparks feature (similar to Google news but not limited to current events) seem great, but doesn’t really need to be part of Google+. It would be better as a widget on the homepage.

Social Media only gets it’s usefulness from the number of people who use it regularly. Even if Google+ was as good as Facebook (which it may be soon), there is very little point in anyone maintaining two accounts across different services. Facebook got big because it was a grown-up MySpace, Google+ may be trying for a grown-up Facebook, but Facebook hasn’t annoyed its users like MySpace did (yet). I can’t see a mass migration from Facebook to Google+ happening soon unless Google has a few more cards up its sleeve.

Jun 272011
 

The Film Festival is back in town, and this year I have promised myself to get organised and see the films that stand out. Here is my provisional list (links go to youtube trailers):

The Tree of Life
It has the whiff of Oscar-bait about it, but the trailer looks good.

Taxi Driver
“Are you looking at me? I don’t see anyone else here.” This film gets referenced in all sorts of places, and it annoys me that I have never seen it.

Nosferatu
I have seen this before, but not with an orchestra providing the music. Everybody’s favourite count munches his way across Europe, staying one step ahead of international copyright law.

Space Battleship Yamato
I have never seen the Manga this live action film is based on, but I am a sucker for bombastic alien invasion tales. For a nation that suffered greatly as a result of World War II, Japan’s films sure do reference it a lot.

The Trip
Steve Coogan and Rob Brydon are two of my favourite comedians, and this film looks like a flimsy excuse for them to expose on their warped world views for over an hour. Sounds fine to me.

Animation Now 2011
Every year I say that I want to see the collection of animation shorts. This year I will.

Hot Coffee
This year’s official Be-Outraged-At-Corporate-America film.

Cave of Forgotten Dreams
I am a sucker for 3D films, caves, and pictures of animals.

How Much Does Your Building Weigh, Mr Foster?
A documentary about an architect.

Hobo with a Shotgun
How can you go passed a title like that? Does Rutger Hauer need the money this badly?

Troll Hunter
Vampires have been killed by Twilight, the werewolves’ moon is waning, zombies are well played out; this generation is crying out for a new monster. Between this film and The Hobbit, I am getting in on the ground floor with trolls.

Are there any I have overlooked?

 Posted by at 11:17 pm  Tagged with:
Jun 132011
 

A scale model of Phage T4 blown from transparent glassThis is Enterobacteria Phage T4. More accurately, it is an amazing glass sculpture of the Phage T4 made by a group of glass blowers in the UK that specialise in such things.

Of all human endeavours, I think glassblowing might be the one I find the most astounding. There are a whole bunch of other works in the Glass Microbiology gallery which are well worth checking out. It looks you can even buy some of the works should you want give somebody AIDS for Christmas.

Jun 092011
 

Here is our entry for the 2011 48 Hour Film Competition:



Watch on Youtube

The reviews were not kind, but everyone had fun making it. The elements this year were a character called Bobby Young, the dialog “What have you got”, a piece of bent wire, and the film had to end on a freeze frame. Our genre was “Road Movie”, to be honest I think we ended up with more of a revenge film (one of the other genres) but I think we got in enough travel to make it count.

My contribution was mainly as the camera operation, although I helped write the original script and directed the odd scene. It is my fault that Bobby is out of focus in the last scene – hi-def video is unforgiving.

Jun 072011
 

Here is something I learnt today. Pruning and trimming trees and shrubs around your property is a tedious job – unless you make it personal.

“This one’s for Sonny Bono and the fighting Uruk-hai, you angiospermic bastards!”

A pile of branches in my back yard

Well, it makes me feel better.

May 312011
 

Note: this is part three, see the first part for the introduction and disclaimer.

If all goes well, your effort should unfold something like this:

Before the competition: triple check the equipment. Do an end-to-end test by shooting some test footage, editing it into a short clip, and outputting it into the final format. Double check that the resulting file meets the requirements of the competition and take note of how long everything took. Remember to estimate how long your film will take to render and subtract that from the 48 hours you think you have to finish. Do this a couple of days beforehand so you have time to organise any replacement equipment should you need to.

Make sure that you have replacement batteries and recording media. Trust me on this.

On the Friday night: Send along a couple of people to the 48Hour kickoff event. The rest of the team should assemble somewhere quiet and comfortable. After the kickoff, your team’s representatives should phone ahead to let the team know the genre and required elements. The team should spend the evening kicking around ideas until everyone is happy with the rough shape of the film. The script should be written that night, ready for the start of shooting the following morning.

Saturday: Aim to start early, especially if travel is required. The script should have been emailed to the team during the night, so everyone should have seen a copy and know roughly what they need to bring in terms of costumes. With any luck, you can start shooting as soon as it is light. Aim to shoot the outdoor scenes first, you never know how much fine weather you are going to get. Make sure everyone is fed, people will be working hard.

With any luck, most of the shooting will be done by Saturday afternoon. If you are organised, it may be possible for your editor to start assembling finished scenes while the rest of the crew completes shooting but I have never been in a team that has managed this yet.

The editor can now get to work making a rough cut of the film. This should tell the complete story and give an idea of how the pacing works, but does not need music, titles, or much polish. It is here that the editor might discover that he or she does not have a shot required to tell the story, or that the sound is bad in one shot, etc.

Sunday: Assemble the crew you need for any reshoots and get them out of the way. You might have some ideas for different shots after seeing the rough cut, now is the time to try them out. Your musicians should be finishing up about this time. The final edit might take a couple of hours, depending on the complexity of your film. Adding in music tracks, and the title and credit sequences always take longer than you think. You really want to be finishing up about mid-afternoon. Remember that rendering your film can take hours if you have a slow computer. Don’t be like the people I see every year standing at the finishing line holding laptops still waiting for the render to finish as the clock strikes 7pm.

Now you get to bask in the knowledge that you have completed a film. Enjoy the heats, they are a lot of fun to watch.

May 312011
 

Note: this is part two, see the first part for the introduction and disclaimer.

Unless you are one of the mad people who can fling together a film solo, you are going to need teamwork to get the job done. Being on a team involves knowing when to share your ideas, and just as importantly, knowing when to shut-up and keep out of the way. You are going to be with these people for most of the weekend, so make sure you at least tolerate each other – things are going to be stressful enough as it is.

Apart from the actors, you are going to need some crew.

A director's chairMost importantly, the director decides how the action plays out in a scene including where the actors are positioned, what is in the background, what exactly the camera is looking at, etc. The director should not be afraid to boss people around if needed, and he or she has final say if discussion about an aspect of the filming gets “spirited”.

The camera operator is in charge of the camera equipment, including the lenses and making sure that batteries are charged and there is a fresh supply of media to record to. This person should know how to use the camera enough to make sure everything is in focus and the white balance is set correctly. The camera operator usually has a better idea of what is actually being recorded through the lens, so can often help with setting up lighting if this is required. Also, if you are recording sound directly onto the camera, the camera operation can check levels and microphone placement.

If you have a small crew, the director and the camera operator can be the same person, but it is often good to separate the roles since setting up the equipment can take up valuable directing time. While the camera operator is shooting, somebody shot be writing down a rough description of the shots being taken. This will help the editor later on.

The scriptwriter takes the ideas from the team and writes a shooting script. This will have all the dialogue and rough stage directions. In my experience, it is hard for people to write a script as a group; far better to let one or two people go off and whip something up once the general idea for the movie has been decided on. The script is not set in stone, but should give the actors the dialogue they need and the director an idea of what shots are needed to tell the story. Remember that the script needs to include all the required items specified in the rules.

The editor assembles the shots into a film and has the biggest influence on the final product. This person should be familiar with the software being used. Like scriptwriting, editing is difficult to do in a big group – one or two people maximum. If the editor can’t tell the story with the material the director shot, it may be necessary for the dreaded reshoot.

Depended on your film and who you have available, your crew might also include musicians, dedicated people for lighting and sound, drivers to ferry everyone around and possibly make-up artists if your cast is ugly.

May 302011
 

Introduction

I have been involved in a few 48 Hour Film Festival projects over the years, this post is me trying to get down in writing the things that made our films successful. And by successful I don’t mean that we won prizes or accolades; I mean that we had a great time making them, learnt a few things, arrived at the finish line on time, and got to see our work projected on the big screen to a polite smattering of applause. In my view that is what the 48 Film Festival is all about.

None of the following advice applies to the superstar professional teams that enter the competition every year. Those people already know what they are doing. This is strictly for the first-timers.

Equipment and Software

Canon 550D CameraCamera, you need one (well, duh). If you don’t have access to a professional video camera, your options are a digital SLR camera in video mode, or a home camcorder. The camcorder will probably be easier to use, but the DSLR camera will have vastly better lenses. This year we used a Canon 550D, a low-end DSLR, and were pleased with how it looked.

Tripod, doesn’t have to be flash – we used a plastic one that my Mum got free in some special offer years ago. If you are feeling ambitious then try to arrange a dolly – we did without but it can add visual interest to otherwise static scenes if the camera moves smoothly.

Sound is an area where a lot of films fall down; our films have never had good sound because we skimp on microphones and it costs us in the heats. Ideally you want an external microphone with a long enough cord to put in on a boom or somewhere close to the actors. The other option is to rerecord dialogue later and lay it on top of the video during editing, but that is a big job for an amateur team. You can use the camera’s inbuilt microphone but the results will not be great.

Lighting is a problem for small teams, especially when filming indoors with small camcorders. If you don’t have access to proper stage lights, reading lamps that are not too directional can do at a pinch. If the weather is good, try to shoot outdoors as much a possible. You have to be careful shooting in direct sunlight, to avoid the actors faces being half in shadow you need a source of fill light. A white piece of cardboard or polystyrene foam can be used to bounce sunlight back the other way to eradicate annoying dark patches.

A car (or two), you will need to transport people and equipment around. Food and drink enough for the entire cast and crew. Nobody works well when they are hungry and thirsty. Sunscreen is important when filming outside. Petty cash on hand to buy props and supplies in a hurry. A few changes of clothes for your actors if your story takes place over multiple days. Maybe some make-up for the actors.

A computer and editing software. If in doubt, get an Apple Mac. All Macs come with iMovie (editing) and Garage Band (music, multi-track recording), two pieces of easy to use software that together make up 95% of what you need to make a short film. Better software exists but not for free.

Two other pieces of software we found useful were Audacity (sound editor), and InkScape (graphics editor for titles, etc). Both these programs are available for Mac and Windows, and are free. Make sure you have at least a passing familiarity with the software before the big weekend. Every minute will count once you get to the editing stage.

Whew! I didn’t set out to write so much. This is going to have to be a two part affair.

May 152011
 

The minecraft creeper face textureI don’t use my computer for games much these days, but I have been playing a bit of Minecraft lately. Minecraft is a strange beast, more of a pastime than an actual game, but well worth the money. I have tried online games before, and although I like shooting things, the first person shooters all look the same after a while, and the MMOs are tedious. A huge, multiplayer lego set turns out to be just what I wanted. Besides, I find the lo-fi graphics and even the obvious bugs in the game charming.

As I was invited to a fancy dress party recently, I decided I needed a Minecarft creeper shirt. The creepers are the most terrifying creatures in the game, and I knew I needed to do them justice. 4 pots of fabric paint and many hours gave this result:Me in my creeper teeshirt

SsssssSSSSS – kabooom!

Not too bad, if I say so myself.

Update: I have been asked how the tee shirt was made. This was my first experience with this type of craft, so perhaps a better way exists, but the following steps seemed to work OK:

Materials

  • Plain white tee shirt (I brought mine from the Warehouse for the princely sum of $8. If I was going to do it again I might spring for a better quality shirt since the one I got was made from rather thin fabric.)
  • Long straight edge ruler
  • A dark pencil (2B or similar), dress makers chalk would probably be better
  • Textile Ink – I used Fastex Textile Ink which I found in the craft section of Warehouse Stationary. The colours I used for the Creeper design were Black, White, Leaf and Green.
  • Some brushes
  • Water
  • Small containers for mixing colours (I used yogurt pottles)
  • Lots of newspaper to protect the table top
  • Lots of copier paper for stencils
  • Baking paper
  • An Iron
  • Some scissors

Method

First I ironed the shirt until it was as smooth as I could make it. Then with the ruler and pencil I divided the shirt into squares of equal size. Because the design I wanted extends all around the shirt, some of the squares wrap around across seams.

Don’t make the squares too small! Large areas are much quicker to paint than small ones.

I started at the centre line for both the front and marched the squares towards the edges. It doesn’t matter that the squares the wrap around over the seams are slightly different widths, being symmetrical is more important.

With the dining table covered in newspaper, I laid out the tee shirt as flat as I could. Then I inserted the glossy insert magazines that came with the paper into the tee shirt to keep the inside surfaces from touching. This is to stop the ink from bleeding through to the reverse surface when you brush it on.

I used a purpose-bought Weekend Herald for this, because I knew it came with a lot of glossy paper inserts that will not absorb ink or fall apart when damp like newsprint will. If you follow my lead, it is vitally important not to accidentally glance at any of the editorials, regular columns, or especially the letters to the editor. You need to maintain your calm for applying the ink.

To get really straight edges on the design it is best to mask out the fabric with masking tape. I found the really cheap off-brand sello-tape works even better, as the adhesive sticks just well enough to do the job but comes off very easily. However, I had far to many square to paint, so I just used bits of copier paper cut more or less straight with scissors. Holding down the paper against the fabric with one hand, I quickly brushed on the int with the other, taking particular care with the corners. Working this way I found I could do a square every couple of minutes.

I needed a lot a shades of green, so I was continuously mixing colours. Some very vivid colours can be created, but mixing in too much black or white just results in a muddy mess. Some of the squares are supposed to be white – I just left them unpainted.

The squares that wrap around from front to back across the seams were the hardest. I carefully folded the sides of the shirt up to reach the hidden side, then placed bits of baking paper over the wet ink before I laid the fabric flat against the newsprint. The prevented the ink from smearing if the shirt moved around, the baking paper doesn’t get stuck to the ink as it dries.

Once the front was done and completely dry, I fixed the ink (see below) before completing the other side. Remember the wash and dry your brushes.

Fixing the ink (so it doesn’t run when damp) is done with a hot iron. Iron each part of the shirt for 3-5 minutes to make sure that the ink stay where it is supposed to. I thought I did a pretty good job, but found the the black areas still ran a little when I washed the shirt, so you might like to pay particular attention to dark colours.

Go forth and impress people* with your custom, one-of-a-kind shirt.

* results may vary

Apr 272011
 

While I don’t like Don Brash (or the Act party), I have to admire the concept of announcing your availability to be the leader of an organisation that you don’t currently belong to.

I would also like to take this opportunity to say that I am interested in being captain of the All Blacks during this year’s world cup. I will be holding talks with the All Black management tomorrow, but if unsuccessful I will form my own rugby team and lead it to glorious victory on the field. I have backers and financial support – so there!

Apr 052011
 

I Am Jackie Chan CoverJackie Chan was one of the biggest film stars in the 80′s and 90′s, famous for his face-paced and deliberately silly action films filled with incredible stunts. This autobiography was released in 1998 and covers his life up until his Hollywood breakthrough (Rush Hour).

His story starts in the poorer parts of Hong Kong, where his parents ended up after fleeing the Chinese civil war. His father managed to get a job at an embassy, eventually leading to a job in Australia. Always a rambunctious child, Jackie was left behind at a Chinese Drama Academy where, under the very struct tutelage of an aged master, he spent the next decade learning the skills of Chinese opera (including acrobatics and martial arts.) There was a lot of overlap between stage performance and the Hong Kong film industry, so the move to film was natural. The book chronicles his rise (with many setbacks) through the world of stuntmen as a callow youth, eventually maturing enough to star in and produce his own brand of infectious comedies that eventually earned him fame and fortune. Roll Credits.

Jackie Chan with Stephen Seagal
The book is fill with amusing photographs like this one. Who would win in fight?

It sounds suspiciously like one of his movies (pretty much all of his early films, at least.) Chan tells his story with broad brush strokes and much wit, and the result is certainly an entertaining read, but I never really got the feeling that it revealed much about the man. As a young man he admits to drinking and gambling to excess, and then all of a sudden he doesn’t. He finds first love, which her parents forbid. She dies years later, unmarried, and Jackie admits to secretly helping her out without her knowledge in a quick paragraph. His wife and child are briefly mentioned in a single chapter and then disappear. Part of this may be that Chan is a workaholic that is always on set, but people expecting a warts-and-all tome of introspection will be disappointed.

Nevertheless, I am Jackie Chan is an enjoyable and informative look into the Hong Kong film industry and the disappearing world of Chinese opera schools. And just like his films, the book ends with a blow-by-blow account of his worst stunt injuries – how is he still alive?

Highly recommended.