Sunday, September 05, 2010

Showing Off

Well, I've had Prof. Steve Furber giving lectures in front of my artwork, now I've got the legendary Sophie Wilson playing with robot arms next to it.

Sophie's choice

The event was the Vintage Computer Fesitval, which was held on the 19-20th June at The National Museum of Computing in Bletchley Park.

Nice banner, shame about the carpet.

The artwork, a long banner, was produced for R3PLAY - an computer exhibition which is going to be held on the 6-7 November in Blackpool. I've spent a lot of time on various bits and pieces for this event this year.

R3PLAY vectorised - click to enlarge

The extremely striking R3PLAY logo was originally designed as a raster image by Darren Doyle - better known as "Greyfox". I just about managed, using Inkscape, to reproduce this image in vector format so it could be blown up to enormous sizes for use on banners and posters.

Outlined - click to enlarge

The hardest part of vectorising the logo was reproducing the faint images of flags that are superimposed on the lettering - I had to trace these by hand and it was a long and quite fiddly job - particularly because the effect of the flags is quite subtle.


Flags of all nations - click to enlarge

I also had a problem getting the Inkscape filters to superimpose "raster" lines on top of the lettering. I ended up having to superimpose filtered stripes on top of each other several times.

 Stripes - just squashed ellipses

The raster lines themselves are squashed ellipses in a layer with the "Screen" blend mode enabled so that they make the layers underneath them lighter.

Five layers of outline with glow filter stacked

The final challenge was getting the red glow around the letters correct. Again, this involved layering several filtered copies of the lettering on top of each other, and it was quite a struggle to get it just right. However, the glows scale unpredictably, which means reworking them every time I resize the logo.

Underneath the logo were vector images I created in Inkscape by tracing photographs I managed to find using Google images. Tracing vector computers is a very straightforward job, and quite a pleasant one provided you have some music to listen to. The only hard part is matching fonts, and even that is easy if you have a Letraset catalogue from the seventies!

Not all the vectors I produced were used. For instance, here is my Acorn Electron:

The thinking man's ZX Spectrum

One trick I used when doing this sort of thing is to make good use of the Inkscape Perspective plug-in to map square on views onto a parallelogram.

The pixel artwork at the bottom of the banner was produced by the world renowned pixel artist Gary Lucken (aka Army of Trolls). 

A Gary Lucken masterpiece...

In order to produce magazine advertisements from this artwork I did have to extend it slightly horizontally in The GIMP - I did it by copying elements form Gary's design - I even manage to incorporate the BBC Computer Literacy Project's owl.

...ruined by me. Sorry.

Once I had created this expanded version of the artwork I set about creating the artwork for the adverts that appeared in retroGAMER* and gamesTM magazine. This was quite nerve wracking - to be honest I haven't been so nervous since I was first did graphics to be broadcast on television.

After much experimentation I decided on the 50s font Microgramma to be the "corporate font" for R3PLAY. I like the font, it looks both retro and modern and it was also the Commodore font from the early 80s.

Finished Flyer - lots of Microgramma

I also produced an A5 version for fliers - Dave Moore is one of the masterminds behind the R3PLAY event, and shamelessly uses the fliers for promoting the show at every opportunity.

So my flier was stuck to Daleks....

Stupid tin boxes...

And brandished by attractive young ladies...

Edward Bernays has nothing on Dave M

Another early job was creating the tickets for the event. Again, another Inkscape job for a huge print run which I always find nerve wracking. I recreated both the Macmillan logo and the National Museum of Computing logo as vector images as I didn't have vector copies.

Tickets, please...

The tickets looked rather striking in the end, but Dave Moore told me had to bin the whole of the first print run of tickets and have them reprinted elsewhere in order to do them justice.

The final graphics for the adverts, fliers and tickets were exported as enormous TIFF files. However for things like the roll-up banners I had to produce PDF files. I found the best way to do this from Inkscape was to Print To PDF, rather than export to PDF from Inkscape. The latter method produces absoltuely terrible results, where as printing to PDF produces results which are flawless.

R3PLAY is organised by the non-profit organisation the Computing and Gaming Events Union (CGEU), and I was also responsible for tarting up their logo. The original was again designed by Darren Doyle. I placed it in a roundel, made the Pac-Man image a vector shape and added some depth to him and finally added some lettering in Inkscape:

CGEU logo tarted up

One of my main jobs for the R3PLAY event was producing its website. In order to "save time" we decided to use Joomla and base the design of the website on an existing Joomla template from a commercial supplier who shall remain nameless.


This was a very frustrating experience as there were numerous bugs and several unfinished bits and pieces in the template we purchased and I ended up having to get rapidly expert in PHP and CSS in order to get the thing working as required. There were also no useful Photoshop templates for the artwork, so I ended up having to recreate all the source files for the graphics in The GIMP from scratch.

Obviously this was all good practice for me but not what you want when you are working against a deadline for a very exacting customer!

One of my favourite jobs on the website was producing the animated Pac-Man gif that is displayed about the advert on the home page.

Snapper is nothing like Pac-Man, honest.

To do this I took several screenshots from version 1 of Acornsoft Snapper in Tom Walker's excellent BBC Micro emulator B-Em, traced the sprites and animated them in Macromedia Flash 8 and then exported the result from Flash as an animated GIF.

I produced a forum Post footer too

R3PLAY looks like being an absolutely fantastic show, and well worth a visit if you can make it. Besides which, by attending you will be helping to raise money for two very worthy causes - Macmillan Cancer Support and The National Museum of Computing.

It has three strands - Consoles, Coin-Op games (including Pin-Ball) and Computers. The latter includes a strong retro contingent of the well known names such as BBC Micros, Electrons, Archimedes as well as the more obscure things such as Commodore 64s, Amigas, STs and ZX Spectrums.

Monday, August 23, 2010

Take You To My Leaders

Well, it had to happen sooner or later. My first documentary - my entry for the Golden Spigot of Hinton St. George:


It's poorly made, factually dubious, and won't tell you anything worth knowing - just like the real ones on the telly!

Saturday, August 14, 2010

Mogrifying

When I'm using video as a source material for a recreation, I often use Avidemux.  Avidemux will either export .bmp files or .jpg files.

Exporting from Avidemux - limited options

I like to export .bmp files from Avidemux as they are lossless. However, they are also very large and I usually want to convert them to .png files to save space. To do this using a graphics package would be boring, time consuming and prone to error.

Luckily I'm able to use a handy little free software utility called ImageMagick from the GNU/Linux command line. It has a command called mogrify to do this sort of job.

To convert all the bmp files in a directory to png files I simply use:

mogrify -format png *.bmp

And then to remove the original bmp files I can use:

rm *.bmp

And the finished result:

Mogrified!

This has saved me literally hours of work over the past few months.

Wednesday, August 04, 2010

ClapTraps v1.1

You might remember that in April I blogged about the computer game ClapTraps, which was written by my friend testpilotmonkey. ClapTraps is a fiendishly addictive puzzle game written in Python using the PyGame SDL library.

ClapTraps v1.1 -  reworked title screen

Back in May I also blogged about my Inkscape reworking of the graphics for the game.

ClapTraps v1.1 - reworked graphics

Since then testpilotmonkey has released a new, expanded version of the game - ClapTraps v1.1. It includes my reworked graphics and a number of new features.

For instance, you can now redefine the control keys. This is very useful if you, like me, have a Hungarian keyboard!

Even better, people who can code in Python can easily change the behaviour the game objects, just as you can in Repton Infinity. To demonstrate this, ClapTraps comes with a XOR-style came called Arrows which has the potential to be very interesting indeed.

Arrows - a real head scratcher

Despite my best efforts to recommend the game to everyone I know, ClapTraps has been largely ignored, even by fans of Repton. I think this is inexplicable and a crying shame. It's an absolutely fantastic puzzle game and has given me and my daughters a lot of fun. It's free as in beer and free as in freedom so there is no reason not to download it and have a go - and let testpilotmonkey know what you think too!

It is available to download for Windows, GNU/Linux and OS X here.


NB for GNU/Linux users: I found I couldn't run the ClapTraps code by double clicking on the main ClapTraps.py icon from Nautilus, the GNOME file browsing program. After much experimentation I found the problem was simply that ClapTraps.py was corrupted in some way. If you copy and paste its contents into a new file it will work correctly. The copy and pasted file will be 2K shorter than the original, but work perfectly.

Thursday, July 29, 2010

(Yet) another version of Letraset Oxford

Whilst browsing dafont.com the other day, I noticed that (yet) another version of the classic Letraset Oxford typeface has been created, and this time it's another free (as in freedom) version.

The font is named Oxford-CP and was created by Diogene. It's licensed under the GPL with the font exception rather than the SIL OFL which I used to license my version.

The non-free version of Oxford, called Sportowy, which boasts some beautiful glyphs for things like @, is available here.

My version, which I called "Scene" in honour of the BBCtv schools programme that used the face for its logo, also features capital letters and Central European accenting and is available to download from here.

BBC Micro game Pipeline used Oxford

Ironically, after the huge amount of effort I put into creating it (see here, here and here), I still haven't actually done anything with my Scene font - but hopefully I'll get around to doing something with it soon.

Saturday, July 17, 2010

Let's Go Nationwide

Recently I've been playing about recreating various SMPTE and custom made film leaders in Flash 8 and Inkscape. One of the most interesting for me, and one that reminds me of Blue Peter for some reason, is the BBC's own film leader. Here it is:


While working on film leaders, I've settled upon a hybrid Flash/Inkscape workflow in which I create the individual frames in Inkscape as Inkscape SVG files.

SMPTE Society Leader frames created as SVG files

I then export them all as EPS (Encapsulated PostScript) files so they can be imported into Macromedia Flash 8. You could export all the files from Inkscape by hand, but to save time I use a little Bash shell script instead:

#!/bin/bash
#
# Export all SVG files in a directory as EPS files

for i in *.svg; do
    inkscape $i --export-eps `basename $i .svg`".eps"

done

Then I import the EPS files into Flash and I'm ready to start putting the animation together.

Friday, June 25, 2010

Election 1970 - in Colour!

After seeing this, look what somebody very kind sent to me:

 Click to enlarge

Thursday, June 24, 2010

Diamonds are for 1 minute 58 seconds

I've always had a fascination for the BBC schools diamond. In case you are not familiar with it, the BBC schools diamond was a mechanical model devised by Murray Andrew for use in the last two minutes of intervals before BBC programmes for schools and colleges.

I am ancient enough not only to remember it, but to have watched it as nature intended at primary school every week before a programme. I was always mesmerised by it, but my unimpressed teachers used to complain that it wasn't as easy to understand as ITV's schools clock.

The diamond mechanism itself is fascinating and it was very satisfying to work out how it worked.

The diamond animation as outlines in Flash

The four striped version of the diamond was originally only a static caption card, intended for use in place of the mechanical model in intervals less than two minutes in length.

I always wanted to see it being animated. Hence another lame mock that I produced, as always, in Macromedia Flash 8.


As I'm exclusively using GNU/Linux these days I exported the diamond from Macromedia Flash 8 as a PNG sequence. I imported that into the free software video tool Avidemux, added the music and exported the resulting sequence into an MP4 container with MPEG4-AVC video encoded using the x264 video codec and MP3 audio encoded using the LAME MP3 audio codec.

I find the overall effect is rather akin to seeing one of those 4x4 or 5x5 Rubik's cubes for the first time.

Anchor Cliff Michelmore

Regular readers of this blog will no doubt have been bored witless by my endless posts about the creation of a TrueType font based on the output produced by the BBC analogue character generation system Anchor.

Although I was very happy with the end result, I was aware that when compared to one famous example - the BBC's coverage of the General Election of 1970 - it didn't look quite right.

Here is an example image taken from this video - apologies in advance, as the quality is appalling:

Anchor used in anger, 1970

The characters looked fatter - squarer - than they did on my version. I was curious to know why.

Whilst browsing the internet for something else entirely I happened to come across a BBC .pdf file from January 1973 that explained what was going on:
"The addition of the lower-case facility has involved a change in the format of the display from 14 rows of 25 characters to 12 rows of 32 characters. This has been necessary to accommodate the descenders of such characters as 'y' and 'g' whilst preserving the appearance of the character set." BBC Engineering Design Information - 10168(1).JAN73.ECG.
So, here is how Anchor would look before January 1973:

Anchor, pre January 1973

And here is how it would look after January 1973:

Anchor, post Jan 73

And here is a gratuitous picture of Cliff Michelmore as, personally, I think you can't have too much Cliff Michelmore on your blog:

Click to enlarge

So, imagine you are doing something with Anchor.ttf on a 720 x 576 image that is supposed to be from pre-1973. In that case use Anchor at 41pt, stretched horizontally by 128% with 85% line spacing. And you mustn't use any lower case!

If you are doing something with Anchor.ttf on a 720 x 576 image that is supposed to be from post-1973 then simply use it at 41pt with 100% line spacing.

Wednesday, June 16, 2010

Inkscape to Flash 8

These days, if at all possible, I like to use Inkscape for creating vector artwork. At one time I used Macromedia Flash 8 for all my vector illustration work. But these days, if I have to create artwork in Flash it makes me feel like I'm being forced to write with my left hand.

There are also a number of things I can achieve easily in Inkscape that are harder to do in Flash. One recent example was when I was working on the animated menu for Simon Buckley's new website. I was given a signed off design as a bitmap illustration and was asked to turn the design into a vector animation in Macromedia Flash format.

Most of the design was very straightforward to achieve, but there was one part that was more fiddly. The name of the website was written in a font called Chalkdust, and it was fringed with a thick black outline. This is one of those things that looks simple to do until you actually try and do it in Flash.

The way I tackled getting an attractive vector outline for the Chalkdust text was to enter the Chalkdust text into Inkscape, turn the text into vector outlines and then use the Inkscape "Linked Offset" option to enable me to expand the text outline to the desired extent.

 Cleaning up Chalkdust in Inkscape

Chalkdust, like most typefaces, has very messy vector outlines with large amount of redundant nodes. This meant that the resulting expanded outline needed a lot of cleaning up and simplification - a job I could do very quickly with the node tool in Inkscape.

It's always worth making your vector outlines as clean as possible.  In the old days of dial-up modems this was because you hand to shave every last byte off of download times - I used to hand optimise everything I did in Flash to get Flash animations within bandwidth quotas set by customers. However these days it's because the more elegant your outline the better it looks (due to the vagaries of anti-aliasing routines) and the better it animates.

Cleaned up outline

The finished outline was soon cleaned up and ready for transferring from Inkscape 0.47 to Flash 8.

After some experimenting, I found that my favoured method of transferring vector Inkscape artwork into Macromedia Flash 8 is the Encapsulated Postscript or EPS format.


There is one important thing to be aware of when transferring between the two programs using this format. Take this Inkscape vector drawing as an example - it's 400 by 400 pixels in size.

400 x 400 pixel Inkscape drawing...

When imported into Macromedia Flash as an EPS it arrives as a vector drawing 320 by 320 pixels in size.

...becomes 320 x 320 pixel Flash drawing.

There is absolutely no way around this - Flash thinks EPS files should be 72dpi, Inkscape thinks EPS files should be 90dpi and neither program lets you do anything about it.

However, it's simple enough to use the Flash 8 Transform panel to scale all the EPS files you import into it by 125% to make up for the difference in dpi between the two packages.

Doing this becomes automatic after a while!

One final point to bear in mind with EPS transfers between Inkscape and Flash 8 - avoid gradient fills. These always seem to be imported as bitmaps in Flash 8. You will have to recreate any Inkscape fills again from scratch in Macromedia Flash so I never bother creating them in Inkscape in the first place.

The finished animated menu can be seen here. I've also written a blog post about my preferred method of getting my vector drawings from Flash 8 into Inkscape here.

Tuesday, June 15, 2010

Font Embedding - Better (12 Years) Late Than Never

Twelve years ago, when the internet was all shiny and new and I hadn't even heard of GNU/Linux, one of my favourite websites was the Microsoft typography website. One of the things I remember reading about on the site was a tool called WEFT (Web Embedding Fonts Tool). WEFT allowed you to embed fonts on your websites. This meant they were not restricted to using the fonts someone had installed on their computer, but could use any font you wanted. As someone who suffers from projectile vomiting at the merest glance of Comic Sans I immediately put trying out WEFT on my to-do list. And then forgot all about it.

Over a decade later I was reading the press release for Mozilla Firefox 3.6 and noticed that font embedding was about to re-enter the limelight. Mozilla Firefox 3.6 includes a support for a very similar system to WEFT for embedding fonts on web pages. It's called WOFF. So, being as curious and nosey as ever I thought I would investigate using WOFF.

But where to start? It turned out that from deciding to create a web-page using WOFF to the finished article took me the best part of a day of messing around, browsing, compiling tarballs and experimenting.

I decided I'd create a very simple web-page using one of my own fonts, Anchor. This is because there are a number of irritating legal issues around font embedding for web pages. In order to be able to embed a font on a website you have to have a licence to do this. The issues are explained very well in this article by Armand Niculescu.

Once I'd decided on a font, the next job was to create a WOFF file from Anchor. There are many reasons that you would want to use a WOFF file for font embedding rather than have your web-page link to your original font file. For instance a WOFF file is compressed, which saves download time. In addition, a WOFF file can contain only a subset of the characters or glyphs in a font that you actually use on your site which again can save a lot of download time on a site that uses several fonts.

Sadly, the simplest way to do this on GNU/Linux was download a windows binary file (an .exe file) and run it via WINE. WINE is a compatibility layer that allows you to run binary files intended for use on Microsoft Windows on GNU/Linux.

The tool I needed to run to convert font files to WOFF files is called sfnt2woff and I found some very good instructions on how to run and use this tool on Federico Moretti's blog. After creating my WOFF file, I could then incorporate it into a web page using the CSS @font-face declaration. All seemed to work well in Firefox 3.6 when I tested the resulting .html file from my local drive.


Success - my .woff works locally

However, when I was looking at Armand's Niculescu's blog entry again I realised that was not enough to ensure compatibility with most browsers. However, if I included a few more formats alongside my WOFF file, I could get the embedded fonts on my page working for 92% of browsers - which sounded good to me.

In order to make my web page work on the majority of web browsers I would also need to add a @font-face declaration that linked to a copy of my original TrueType font (.ttf) file for older versions of Firefox and the Opera, Safari and Chrome browsers.

In addition, to be on the safe side, I really needed to include an SVG font version of the font for use with the Safari and Chrome browsers. Creating an SVG version was simplicity itself. As I created the most recent version of the Anchor font in the free software tool FontForge, all I needed to do was use FontForge to export an .svg version of the Anchor font.

FontForge 2.0 File Export Dialogue box

SVG font created sucessfully there was one more format I needed to create - a Microsoft EOT file. An EOT file does exactly the same job as a WOFF file on Microsoft browsers. As WOFF is only going to be supported in Microsoft Internet Explorer 9 and later, for a site to work on Microsoft Internet Explorer 4-8 I'd need to create a EOT file.

My initial thought for creating a EOT file was to download WEFT from the Microsoft website and use that via WINE. However this failed miserably. But, as a consolation, I found that even Windows users found Microsoft's WEFT tool elderly, unintuitive and almost impossible to use.

Fortunately I found another tool on the internet - it was called ttf2eot and it claimed to do exactly what its name suggests. The bad news (simply because I'm lazy) was that the tool was a piece of C++ source code. That meant I had to download the build-essentials package and compile a binary myself. It took all of two minutes - such hardship!

Anyway, the file compiled beautifully and the tool worked first time. One line in the terminal (the tool needs the angle brackets around the source font filename):

./ttf2eot <Anchor.ttf> Anchor.eot

Was enough to create an eot file. The only thing that I found rather odd was my finished EOT file was bigger than the original TrueType font file!

So, I added all the formats into my @font-face declaration, tested the file locally and it worked. So triumphantly I uploaded my finished html file, along with my ttf, svg, woff and eot to my webspace using gFTP. And it failed miserably. 




Uploaded to my webspace - massive fail


Here was my CSS:

@font-face {
  font-family: 'Anchor';
  src: url('Anchor.eot');
  src: url("Anchor.woff") format("woff"),
  src: url("Anchor.ttf") format("truetype"),
  src: url("Anchor.svg#anchor") format("svg");
}

I couldn't understand why it failed - I thought I'd done everything correctly. But fortunately I had come across an excellent article by Paul Irish that explained exactly where I was going wrong. There are a whole host of gotchas with font embedding, and the order of statements in the CSS declaration is critical:

@font-face {
  font-family: 'Anchor';
  src: url('Anchor.eot');
  src: local('☺'),
    url("Anchor.woff") format("woff"),
    url("Anchor.ttf") format("truetype"),
    url("Anchor.svg#anchor") format("svg");
}

Was the only order that would get the @font-face statement to behave.




Success at last!

And then... And then... ...I found out that I needn't of bothered. A website called Font Squirrel has a nice tool that does everything for you plus more. In particular, it creates subsets of fonts for you so you can cut down on your file sizes and download times. You just need to specify the glyphs (characters) in your .ttf, .eot, .woff and .svg files that you actually use.

Font Squirrel also have loads of fonts that you can legally embed, and are hand-picked to ensure they are all good quality type faces.

Another good source of information is Milton Bayer's site, which explains about the CSS and XHTML needed to get WOFF working for those that may be unfamiliar with it.

Anyway, it was fun and I learnt a lot. The end result can be seen for real in the comfort of your own browser here:

http://www.kecskebak.co.uk/woff.html

I've designed a handful of fonts that can all be freely embedded in your websites. You can get hold of them from here.

Monday, June 14, 2010

Giro G hits Google

Google recently got a lot of criticism for "copying Microsoft's search engine Bing" in changing the background of their home page. But, if I remember correctly, they did this as an experiment once before long before Bing came along to showcase loads of Google commissioned "modern art". Although, that time, they didn't enforce a random work of "art" on you by default.

The pictures that Google offered up were so gaudy and obvious I thought I'd use one of my own, taken from an animated Granada Television close-down sequence that I produced using Inkscape:

Good Night

Google's homepage is so resolutely minimalist that it reminds me of Granada Television's ident throughout the 70s and 80s; the two were obviously made for each other.

Now all I need is some Derek Hilton...

Sunday, June 13, 2010

Had the decorators in...

I've finally made my blog feel a little more personal. I call this theme "70s Regional News". It's not the world's most beautiful design, but it's not supposed to be. I wanted a shabby, tatty beige horror to remind me of shabbier, tattier beiger times.

There are Nutty bars and Spangles in the corner and if you're very good I'll let you have a Cadbury's Moose...

Sunday, May 16, 2010

Dave Dunce Goes Gloss

At the end of April, I blogged about Claptraps - my friend testpilotmonkey's new computer game. Claptraps is a fiendishly addictive puzzle game written in Python using the PyGame SDL library.

I also noted at the time that Claptraps was a piece of free software - testpilotmonkey released it using Free Software Foundation's General Public Licence or GPL. This means that anyone is free to study or modify the source code and send copies of the game to their friends.

I felt that releasing something as fantastic as Claptraps under the GPL was an act of generosity that should not go unrewarded. As I don't have any money, I decided to donate some of my time instead.

The place I felt best able to help out was the graphics. Claptraps is a tile based game, with 40 x 40 pixel tiles which are stored as 32-bit Portable Network Graphics (PNG) files. testpilotmonkey had decided on a cartoon look for his graphics, with flat fills bounded by black outlines. Here is a screenshot of the game with the testpilotmonkey's original graphics:

Original graphics - Click to enlarge

I love these graphics, as they have bags of character and the animation is very pleasantly squishy and organic. But I thought it might be nice to take these graphics and see if I could make them a bit three-dimensional. To do this I decided to use a piece of free software called Inkscape. The reason I decided to use Inkscape, as opposed to a raster graphics package like The GIMP, was I felt cartoon-ish nature of the graphics lent themselves to be created in vector format. It also meant I could create one set of graphics that could be used at any size.

I made my canvas 40 x 40 pixels in Inkscape, for convenience. As far as guides were concerned, I just used two, one half way vertically and one half way horizontally which marked out the centre of the canvas for me. I imported the original graphics into Inkscape and used the Pen tool to trace over them. For each graphic, I created a separate Inkscape SVG (Scalable Vector Graphics) file.

As I was creating vectors to export to (rather small) bitmaps, there were a couple things I needed to bear in mind when tracing the original graphics to ensure good results. The first thing was I wasn't free to put black outlines anywhere I chose. The end result would be rather grey and muddy due to too much anti-aliasing being used on the exported bitmaps. To keep anti-aliasing to a minimum (and hence keep the graphics as clear and colourful as possible) I needed to ensure that the nodes for my lines and Bezier curves were on half pixel boundaries. The second was to ensure that all my outlines had a one pixel stroke width, and were completely black - sounds obvious, but easy to mess up.

One traced frog - click to enlarge

Once I had an outline for a graphic it was time to colour it in, and again it was Nancy Kominsky to the rescue. I used her technique of using three tones - light, medium and dark to fill each shape. Then, if necessary I'd add any highlights with light yellow and any lowlights with dark purple. The nice thing about Painting Along with Nancy in Inkscape is I don't have to put my spare colours into the fridge and cover them with cling film.

Incidentally, in case you think I'm joking about following Nancy Kominsky's advice, here's the Claptraps apple filled using a radial fill made up of my three tones - light, medium and dark red:

Where's the light coming from Alan?

And here are my three tones I used in the gradient fill editor :

Cadmium orange, vermilion and alizarin crimson...

Here is my purple lowlight and my lemon yellow and white highlight:

That's one teaspoon of purple, the colour...

And here is the finished apple - Nancy Style.

And no need to apply any varnish

And, just for you to compare, here are Nancy's apples:

Picture courtesy Rory Clark

So, after much colouring in but, sadly, no Alan Taylor to chat to while I was working, I had a finished set of graphics:

As seen in Fedora 13 Nautilus

And here are the finished graphics in place in the game:

Click to Enlarge

I was determined when working on the graphics that my input be as invisible as possible - Claptraps has bags of testpilotmonkey's character and I wanted to keep that. The graphics remain very much testpilotmonkey's, just coloured in slightly differently.

After showing testpilotmonkey my graphics, he said he'd like to use them in future releases of the games - which was very kind of him and made all the effort worthwhile. I'm hoping to spend more time on Claptraps and to return to it on this blog soon. In the meantime, why don't you download the game and have a play? You can get hold of it here.

Friday, April 30, 2010

Set Piece

A few months back Roddy Buxton asked if I could do him a favour. His son had a school project about "the 70s", and one of the things they were doing was making a 70s style news programme. As Roddy is from ATV land, that had to mean ATV Today. But in order to make the video authentic, Roddy wondered if I could recreate a section of the ATV Today set to key in behind his son on the video.

Reg Harcourt - ATV Today

I knew exactly the set he had in mind. It was the lovely beige one with an abstract geometrical design. If ever a set designer managed to capture the essence of the seventies current affairs in one set, this was this one. I managed to get a couple of pictures from Jase Robertson's site sub-TV.

At the time, I had mislaid my serial number for Swift 3D version 5, so I couldn't do this in 3D - which would have been the logical way to tackle this job. So, I fired up my trusty copy of Inkscape, and tried my best to muddle through using that.

All I did was take the best screen grab I had to hand (which, sadly, weren't as large or as clear as I would have liked) and trace one square section of the design.

Tracing the set in Inkscape with Margaret Hounsell

I then used gradient fills to create the 3D effect. I've found watching "Paint Along With Nancy" a great help with colouring in vector designs. I use Nancy Kominsky's technique of using three tones (light, medium and dark) and using purple for low-lights and lemon yellow and white for highlights if necessary. Nancy knows her stuff - it works!

Output from Inkscape

After exporting the resulting SVG file as a PNG I used the GNU Image Manipulation programme (otherwise known as The GIMP) to finish the job off. I adjusted the colours to match the image, blurred the image slightly so it would be slightly out of focus, added a tiny bit of HSV noise and then a very slight lens distortion completed the job.

After GIMP-ing, the end result

I've included the images I created at full size in this post, just in case you want to have a go at being Reg Harcourt or Derek Hobson and report on strikes at British Leyland in the comfort of your own home. Just click on them to enlarge.

Sunday, April 25, 2010

Lolly Sticks

Another day, another video of a rather lame mock uploaded to YouTube. We're back to 4:3 again, and a short video a did to teach myself how to use Adobe Premiere Elements:


Before I bought Premiere Elements in early 2008 I'd never done any video editing before, so it was all very new to me. I did huge a number of videos to experiment and work out a good workflow to transfer my material from Flash or Fireworks to video. I recorded my work over and over again onto the same DVD-RW and then scuttled downstairs to the television to see how the results looked on a CRT television rather than an LCD monitor. As you can see from this video, I hadn't yet worked out things like interlacing or how to age transparencies properly.

Although the first BBC 1 globe symbol I remember from my childhood was the black and cyan version with the italic "COLOUR" lettering, the first BBC 2 symbol I remember was the striped cylindrical 2. I saw this countless times waiting for Play School on weekday mornings or Play Away - the strange oasis that appeared between boring black and white films - on Saturdays. BBC 1 and ITV were showing wall to wall sport at the time due to their regulatory obligation to provide programming for the hard of thinking. Channel Four didn't even exist. Play School mornings were usually accompanied by a cup of Mellow Birds made with milk. Despite being Julie Steven's favourite beverage, it never seemed to dissolve properly back then, so you'd get little brown bits on the top...

When the computer generated ==2== symbol replaced the cylinder on BBC 2, I never really took to it. The cylinder's animation was far more interesting, so I often wondered what would have happened if the stripey cylindrical 2 had been kept but updated. The end result, my "lolly sticks" symbol was created in Swift 3D. The animation does a very similar thing to the cylinder - the coloured stripes rotate in opposite directions - but to make it more interesting the camera does a 270 degree trip around the stripes as they do so.

Swift 3D - click to enlarge

One interesting thing about the lolly sticks symbol is that I created it at 400 x 300 in Swift 3D. As I was exporting it in vector format as a .swf it didn't matter what size it was so long as the aspect ratio was 4:3. Vector 3D is something that Swift 3D really excels at, although it's very good at raster 3D as well. After more experimentation I'd later scrub this approach in favour of working at 720 x 576 and correcting in advance in Swift 3D itself for non-square PAL pixels.


Thin hairline 2 in Flash

To get the striped 2 into Swift 3D in the first place, I drew it in Macromedia Flash 8. I drew it as a series of hairlines, and then turned the hairlines into thick rounded strokes.

 Exactly the same graphic, stroked in Inkscape

After doing this, I turned the strokes into fills, and exported the resulting graphic as an Adobe Illustrator file for importing into Swift 3D.

GNAT Flash - Click to Enlarge

The clock is my Macromedia Flash 8 version of BBC Engineer Richard Russell's computer originated GNAT (Generator, Network Analogue Time) clocks. The GNATs were used by BBC 1 and BBC 2 throughout the 1980s. There was even a rather nice yellow and blue Open University version for a few years. You can download a screensaver created using the final version of the GNAT software from Richard's site. Richard has also written an article that discusses the history of the GNAT.

Teacher's discipline problem #5435 - POW!!!!!!!!

The schools dots is again another one of my Flash 8 concoctions. This is the second version, where I finally got the font right! This, along with the clock, is the sort of animation that's very easy to do in Actionscript, but a real pain to produce a version you can export to use in video projects.

Henry Woolf was even better with Charlie than with Pinter

The slide was based on a BBC1 version I did around ten years ago now for the sadly soon to be defunct BBC Cult website. I simply traced a screen capture in Flash that the BBC supplied to me from the opening titles of the programme "Words and Pictures".

My treatment of the slide was very unsatisfactory - both in terms of the fading and blurring I used and the very bad banding that appears on the image. It looks very fake indeed, and one day I must get round to writing a post about how I would have gone about doing that job properly.

Just a note about the font - when I'm doing 70s stuff that requires Helvetica I tend to use URW++ Nimbus Sans these days. I'll explain why in a post about Thames Television some other time.

The music is from one of my favourite programmes - 4Square - and was composed by Ian McKim. The music was designed as a tension bed underneath a computer generated (Acorn Archimedes) maze game and made for a very exciting minute of television.

Anyway, technically a rather unaccomplished little video of another lame mock. But it brings back lot of memories and I enjoy watching it from time to time.

Saturday, April 24, 2010

From Claptrap to Claptraps

Normally I use this blog to drone on about my own claptrap. However, today I'd like to use it to have a look at a friend's.

Level 1 - It's all uphill from here...

To be more precise, a computer puzzle game called Claptraps, written by "testpilotmonkey". It's one of the most joyfully bonkers and imaginative games I've ever played - the sort of thing Oliver Postgate would have come up with if he'd have been given a book about scripting languages.

The game itself was written in the language Python with the help of the wonderful PyGame SDL library.  If you've ever want to write a computer game for GNU/Linux, Windows, or Mac OS this combination is the place to start and indeed Claptraps will work beautifully on all three of these platforms and doubtless several more besides.

I think this game is really rather special for lots of reasons:
  • it is released under the Free Software Foundation's General Public Licence or GPL. That in itself is a marvellous and selfless thing to do, particularly when you consider how much hard work has gone into the game.
  • the quality of the music testpilotmonkey has composed to include in the game - I really enjoy listening to it.
  • the graphics, which have a wonderful cut-out animation feel
  • and, most of all, the standard of the puzzles. The game design is incredibly clever and the puzzles are fiendish but solvable with thought. That makes it one of the most rewarding games I've ever played.
I could talk about the game at length here, but why not download it yourself from testpilotmonkey's blog?

The game has come on in leaps and bounds since this video was made of an early demo version, but it's worth a look:


The gameplay is loosely inspired by the games in the Repton Infinity suite with dashes of Bonecruncher and XOR. However it has a personality all of its own, something which you don't get in modern games written by huge teams.

I'm hoping to do some work of my own on Claptraps if I get the chance over the coming weeks - in true GPL spirit I've been studying and modifying bits and bobs already which I hope to start sharing soon. The code is very, very clearly written and I'm looking forward to having a proper dabble with it enormously.

NB: As the game is still a work in progress, GNU/Linux users may find they need to append two lines to ClapTraps.py:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

Also, don't forget to right click on the Claptraps.py in the file browser, and go to PropertiesPermissions and check the Execute check box to Allow Executing File as Program. You'll also need to make sure you have the pygame package installed on your computer - but if you've installed GNU/Linux in the first place I'm sure you can manage this.

Windows users can just click on the .exe. I know nothing at all about Apples apart from the fact that Granny Smiths are my favourite and my mother's bramley crumble with custard is delicious.

Friday, April 23, 2010

Happy St George's Day

As I'm English, I thought I'd celebrate today with a video of my choice - my daughter speaking very good English even though she hasn't been there since she was eighteen months old:


But I suspect people reading this blog will be more interested in the first part of the video.

I've been playing with doing more work in widescreen in the past couple of years. The reason is simply that watching pillar boxed stuff annoys me. I always used to hate those letterboxed films they showed on BBC2 for film buffs with magnifying glasses when I was a kid. So as 4:3 televisions are becoming harder and harder to find and I have a 16:9 monitor I've been animating everything in 16:9 for the past couple of years - perversely I've got DVD's full of 16:9 presentation I've done in Flash from the 50s, 60s and 70s.

Flashy house building - Click to Enlarge

I animated the Playschool house animation from scratch in Macromedia Flash 8 and the BBC 1 South West globe in Swift 3D v5.0 - both at 720 x 576 for use as anamorphic 16:9 in Adobe Premiere Elements. The video was filmised in VirtualDub using the MSU Old Cinema plug in. I hope to have an example Flash animation of some kind filmised using OpenShot on GNU/Linux (I'll probably be on Fedora 13 by then) to compare this against soon - the options for filmising your work on this look very promising indeed.

The Whole Wide World in Swift 3D version 5

The BBC1 South West globe was animated at 50 frames per second, and I used that to create an interlaced 50 fields per second file in VirtualDub. The colour was keyed on in Adobe Premiere Elements. The announcement is actually Peter Macann (former Tomorrow's World presenter) and was from BBC1 South in Southampton.

The BBC1 caption was traced in Macromedia Flash 8 from a scan of the original BBC1 globe caption from BBC Graphic Designer Bob Richardson.

The Playschool music (the definitive Paul Reade version) has a voice over from the magical Brian Cant and the day is given to us by Australia's finest singer, Don Spencer.

Friday, April 02, 2010

ATV on the BBC

I have a YouTube channel called "stupidrubbish" where I put bits and pieces of video I've created as and when I get the chance.

The channel's name "stupidrubbish" comes from the rather unaffectionate term my wife uses to refer to television presentation. Her usual question would be "Are you working or are you doing stupid rubbish?". The answer would often be "Both." In Hungarian, the term translates to "hülye szemét" and sounds even ruder than it does in English.

Absolute bobbins, and I freely admit it

Amazingly, although it contains all sorts of bits and pieces I've poured my heart and soul into getting as accurate as possible, the most popular video on the channel is something I very nearly didn't upload at all, and did nearly 25 years ago. It was my first attempt to recreate some presentation on a computer and it was not done in Flash, or even on a PC. It was done on a BBC Master 128 computer in 1986, written in BBC BASIC and was the ATV colour zoom logo.


I hadn't seen an ATV logo in years in 1986, and wondered whether I would ever see one again. You can see from the animation that I couldn't really remember what the logo looked like, or even what happened in the animation, but I suppose it all adds to the charm. I planned the lightspots and the logo out on graph paper using a pencil and pair of compasses.

To draw the logo I used the Acorn Graphics Extension ROM (GXR) arcs (the GXR extensions were included in the Master by default), a GXR custom fill pattern and screen memory bank switching in order to animate the thing. I also used GCOL1 for mixing the colours using a bitwise AND in the lightspots and palette switching to allow me to animate on bits of the logo without having to wait to draw them.

A number of commenters expressed interest in the code, so here it is:

1REM The "ATV" logo
2REM by
3REM Dave Jeffery
10MODE2
20VDU23;8202;0||
30HIMEM=&3000
40*FX112,2
50*FX113,2
60PROCnext_setup
70HIMEM=&3000
80*FX112,1
90*FX113,1
100PROCcircles
110HIMEM=&3000
120*FX112,2
125*FX19
130*FX113,2
140PROCnext
150PROCletters
160END
170DEFPROCnext_setup
180CLS
190VDU23,2,&2A2A;&2A2A;&2A2A;&2A2A;
200MOVE600,500
210MOVE950,700
220PLOT173,250,700
230MOVE600,900
240MOVE250,700
250PLOT173,950,700
260GCOL0,0:MOVE600,700:PLOT157,600,892
270GCOL1,1
280MOVE600,300
290MOVE950,500
300PLOT173,250,500
310MOVE600,700
320MOVE250,500
330PLOT173,950,500
340GCOL3,1
350MOVE600,500
360PLOT157,788,500
370GCOL0,134:GCOL0,7
380PLOT133,600,500
390GCOL16,0
400GCOL0,129
410PLOT133,900,50
420PLOT133,600,688
430:
440c=1
450GCOL0,128
460FORbox=250 TO 958 STEP 8
470GCOL2,c
480MOVEbox,288:DRAWbox,900
490c=c+1:IFc=7 c=1
500NEXT
510GCOL3,15:MOVE600,700:PLOT157,600,888
520:
530ENDPROC
540DEFPROCnext
550VDU19,15,7||
551FORF=0TO75:NEXT
560VDU19,0,4||
570FORF=1 TO 6:VDU19,F,4;0;19,F+8,7;0;
580NEXT F
590FORF=1 TO 6:VDU19,F,3;0;19,F+8,3;0;: FORW=0TO100:NEXT
600NEXT
610VDU19,15,4||
620ENDPROC
630:
640DEFPROCcircles
650VDU19,0,7;0;19,8,0||
660COLOUR8
670Key=GET
680GCOL0,1
690FORloop=600 TO 792 STEP 8
700MOVE600,700:PLOT157,loop,700
710NEXT
720GCOL1,2
730FORloop=500 TO 692 STEP 8
740MOVE500,500:PLOT157,loop,500
750NEXT
760GCOL1,4
770FORloop=500 TO 692 STEP 8
780MOVE700,500:PLOT157,700,loop
790NEXT
800PRINTTAB(5,26);"IN COLOUR"
810FORwait=0 TO 1000:NEXT
820ENDPROC
830:
840DEFPROCletters
850GCOL0,128:GCOL0,3
860MOVE500,708:MOVE500+50,708+150
870PLOT85,500+75,708
880PLOT85,500+125,708+150
890MOVE500+100,708+150: MOVE500+150,708: PLOT85,500+150,708+150: PLOT85,700,708
900MOVE550,708+50:PLOT101,675,708+25
910FORwait=0 TO 1500:NEXT
920MOVE500,652:PLOT101,700,628
930MOVE575,628:PLOT101,625,528
940FORwait=0 TO 1500:NEXT
950MOVE500,328+150:MOVE500+50,328
960PLOT85,500+75,328+150
970PLOT85,500+125,328
980MOVE500+100,328: MOVE500+150,328+150: PLOT85,500+150,328: PLOT85,700,328+150
990REPEATUNTILFALSE
1000ENDPROC

If you want to run the code, why not pop along to BBCMicro.com, where you can get hold of a BBC Emulator to try this out for yourself.

If you run the code in an emulator (or on a real BBC Master 128) you'll notice I took a few liberties with the timings when I was editing the video together to upload to YouTube!

Hopefully I've got a bit better at recreating the ATV logo since then. A more recent attempt, in Macromedia Flash 8, is here:

Monday, March 01, 2010

Dydd Gŵyl Dewi Sant


I must admit glass scares me. Oh I see, you just give the impression of glass don't you?