Contact  osfameron  this page last modified: Sat Mar 16 21:06:16 2002 GMT
       MM           
       oo          
      <     o           _           _ _            _   _          
       -/      o       /_\   ___ __(_|_)_ __  __ _| |_(_)___ _ _     
     ,-^-,            / _ \ (_-</ _| | | '  \/ _` |  _| / _ \ ' \ 
    /, C  ;       o  /_/ \_\/__/\__|_|_|_|_|_\__,_|\__|_\___/_||_|   
____\.___8_____       ___  _       
     8    |          |   \(_)__ _ _ _ _  _   Thoughts on the process
     |\~~~|          | |) | / _` | '_| || |  of designing, animating, 	
     |~~~~|          |___/|_\__,_|_|  \_, |  and publishing the
     +----+                           |__/   Chickenman asciimations.


Sunday February 24, 2002

Episode 3

I posted Episode 3 on Friday 22nd (well actually the evening of Thursday 21st... I don't want to waste work time maintaining my site, and know that I won't be able to get up early enough of a morning to do it then). Almost as soon as I did this, the server disappeared again...

Of those of you that did get to see it when the server came up, I've had one comment so far: The intricate "Chickenman gets out of the car" sequence that I'm so proud of, happens at the same time as Chickenman is talking. This means that you are struggling to look at both of them at the same time.

Funnily enough, I wrestled with this when I animated it. I think I liked the idea of this being a sort of bravura show-off animation that's just lightly turned out at the same time as the action is going on. Maybe that was the wrong idea. Or maybe, as ever, it's just that I need to work on my timing. More comments welcomed.

Fame at last

Errrm..., or maybe not. As well as links from JavE, the Open Directory, and Ascii Arts Ring, I've now been linked to from a German site, which I mention only because it's entirely unsolicited, and it's nice to know that someone thinks it's worthwhile linking to. Doing something as complicated and possibly as pointless as this seems to be more worthwhile when that happens.

Caribou, where are you?

[27th Feb 2002 The Caribou are back in their cage] Caribouteries appears to be down - the domain name may have expired? I hope this comes back up again soon, because I think it really is the best showcase of asciimation I've seen on the web.

  touriste!
      \         ?        \ V\ /  
                          V__V  
             \ V \/       |oo  
              V__V        <  
              |oo|        \_/  
   __________/ \_/        /v\  
  /           / v        : C :  
  \||________||          8===8  
   |||      |||           |^|  
   |||      |||          .|||  
    --       --          ~-~-  
   B Bram                osfa

The prehistory of asciimation

[10th Mar 2002 more news on viewing ANSImations in Windows]

I've finally downloaded some vt100 ansi escape animations from textfiles.com - there seem to be a handful of examples of vt animations, which you will also find replicated elsewhere, like the legendary bambi.vt (Bambi versus Godzilla).

These ancient animations were designed for vt100 terminals which were used to connect to servers. They used ANSI escapes, which are sequences of control characters to control how text is written to your screen. For example <ESC>[5;10H would start writing Ascii text at line 5, column 10. Other codes would change colour, clear the screen etc. These ANSI escapes have survived past vt100 (most terminal emulators, like telnet and ssh clients will emulate vt100 mode) and you should still be able to view the animations by just typeing or cating the files containing these escapes from your command line.

However, though most Unix/Linux distributions, DOS, and Windows 3.1/95/98/ME have ANSI support, my Operating systems, WinNT and Win2K do not have inbuilt ANSI support. There is a circuitous way of tweaking it but, perhaps because it's so much quicker to read a file on a local system than over a network, the animations run much too fast to be viewed.

So I copied some vt animations to the web server, and ran them from a Unix session on there. Some of them are very good, and the wonder of it is that (as far as I know) they were written by hand without the aid of any sort of Asciimation (ansimation?) program.

If I have time (and if I had better programming skills...) I would like to write an ansimation -> .jmov converter.

Episode 4 - light and dark

The original draft of Ep4 had a simple plot.
  1. Chickenman and Red Ted are in the warehouse that Hooded Crow has led them to.
  2. Red Ted is worried.
  3. They hear a creaking sound, and move towards it.
  4. They hear a creaking sound in another part of the room, and move towards it. ("By Egg! The Hooded Crow is leading us a merry chase!")
  5. Repeat a few times till...
  6. They are led offscreen.
  7. A new, longer, louder creak is heard onscreen and...
  8. "Bored now!"

As this probably isn't even particularly funny, I should really spend time working on the farce/comedy aspect, but I got sidetracked animating the door opening...

8888888888888888888888888888888888888888888888888
8888888888888888888888888888888888888888888888888
888888888888888\             |8888888888888888888
8888888888888888.  MM        |8888888888888888888
88888888888888888. oo        |8888888888888888888
88888888888888888\<          |8888888888888888888
888888888888888888\-/   ^ ^  |8888888888888888888
8888888888888888888|\   @ @  |8888888888888888888
8888888888888888888| : ( o ) |8888888888888888888
8888888888888888888|=8  `+'  |8888888888888888888
8888888888888888888||  O-X-O |8888888888888888888
8888888888888888888||   /^\  |8888888888888888888
8888888888888888888|-___O O__|8888888888888888888
8888888888888888888|   ,888   8888888888888888888
8888888888888888888|  8888'   8888888888888888888
8888888888888888888|  `888   ;8888888888888888888
8888888888888888888|  8888   d8888888888888888888
8888888888888888888| ,888'   88888888888888888888
8888888888888888888  8'8'    88888888888888888888 

How exactly does perspective work anyway? I haven't taken an art class since I was 14 or so, and wasn't much good at it then. And I know it's mainly common sense, but I have very little of that...

I defined an origin for the light source at the top of the screen. Using the handy Auxhiliary lines button in JavE I could draw lines from the light source to add shadows. Doing the shadows for the characters is the hardest as I don't really understand the 'rules' of what I'm doing so it's pretty much a guess. The characters' shadows are antialised by JavE, whereas most of the rest (e.g. of shadows) is done manually, because I wanted the edges to fit along the line of the light-source, which the program doesn't know...

The door moves in a circular motion. (I drew an ellipse on a blank page, and cross-referenced every slide to see where I should move it to.) When the door reaches past half-way some light hits it so I use a gradient shading (HKQXS6YJtci= etc...) which I'd observed seemed to be the technique used by the Render 3D tool when rotating an object. By the way, I should really have just used the 3D tool but I was too scared to use it... maybe next time.

Like many sequences seem to be, this was drawn in reverse: I start with the door open and Chickenman and Red Ted standing in the threshold. Then bit by bit I close the door and add shading. I forgot to reverse as I was going along (d'oh!), and changing the order was a real pain.

And I have a technical problem.

The exported Javascript animations are always a little slower than shown in the JavE movie player. That's OK, I actually prefer them that way. However: for this movie, the Javascript animator is VEEEERRRRRYYYY slow indeed. I imagine that this is because I have so many characters on screen at the same time. The algorithm used by the Javascript refreshes all characters at the same time rather than just changes. Most of my animations are line based rather than shading based, and so they have very small amounts of text on screen at any one time, which is why they haven't had the same problem.

(Now, I don't know enough about Javascript/DOM to know if the Text widget allows text ranges to be changed: Tk does though! If it does, a Javascript animator could be optimised for adding just the differences each time, which would also reduce file size in some cases.)

Obviously I will post the .jmov as normal, but not everyone will want to download a new piece of software just to play the files. I can also use the JavE player applet embedded in the web page, but I have an impression that Javascript is still more widespread/robust than Java in many browsers. The other option of course is to release it in 'flick-book' style (e.g. a big text file that you put in your text editor and press the Page Down key to view. JavE does export to a text file, but I think it doesn't insert multiple copies of a frame (e.g. one that you want to hold for longer). I'll check that out.

I've also considered doing a version of the animation without shadows for people without a JavE player. I suppose someone with a faster computer than I do would also see the shaded animation quicker!

!$%&@*?

19:32 UK time, and perlmonk.org is down again...
Wed Feb 20
Wed Feb 27

Contact  osfameron  back to top  this page last modified: Sat Mar 16 21:06:16 2002 GMT