Close

Line drawing animation on the C64

A project log for Silly software wishlist

Motivation to do some software projects by writing them down.

lion-mclionheadlion mclionhead 11/10/2023 at 22:470 Comments

Reviewing how Aegis animator worked, young lion could have had a kick ass line drawing animation program on the C64.  At minimum, it could have just interpolated (tweened) polygon vertices between keyframes.  At most, it could have supported objects, grouping, translate, scale, rotate, mirror, perspective modifiers, all with their own keyframes on some kind of timeline.  That could have replaced all the pen & paper drawing lions did.  

While technically within the C64's limits, the concepts were just too far beyond young lion & the bitmap routines were definitely inaccessible to young lion.  An object oriented drawing program would definitely have been a noble cause & it could have been done in Logo.  Lions didn't discover object oriented line drawing until 1993.  Graphs of modifiers didn't come until the 2000's.  Even today it would be difficult to represent a graph that changed over time.

While Blender can do it all now, it has somehow managed to make line drawings impossibly hard.  That could be a rationale for making a simple line animation program in Javascript today.

The mane reason for retro computing today is to discover if something was ever possible in a certain time & to inform future decisions on declaring something impossible.  A big question was if a line drawing animator was ever available for the C64.  Aegis animator was only for Amiga.  All lions remember were pixel by pixel sprite editors.  The most advanced C64 program was super slow Gigacad on account of 3D support.  Practical use of line drawing animation today would be quite limited.

It seems like maybe it could find a place between full 3D character animation & static 2D drawings.  Young lion saw story boarding as a practical output for someone without the resources for full 3D animation or live action.

-------------------------------------------------------------------------------------------------------------------

A C64 implementation would probably be in C using CC65's graphics library.  The database from that could be reused in a Linux version.  The heart of it is a graph of line art objects, some of which are empty & only placeholders for modifiers.  Some of them are links to others.  Each object has a sequence of polygons for tweening, a database of curves for translation, rotation, scaling, flipping, show, hide.  Other modifiers might create opacity for closed polygons, transitions.  There's recursive application of the modifiers to child objects.  Show & hide eliminate the need for the graph to change over time.  The portable section has all the graph editing operations.

Then the C64 specific part is just the user input & display.  Finding a mouse input for a C64 emulator is the great task.  Lions didn't have a 1351 until summer 1988 so young lion would really have used a joystick.  Young lion would have had a much harder time capturing line art with a joystick than drawing it by paw, so that might explain why the idea never happened. 

Maybe there could have been a tool to convert freepaw drawings to line art by manually specifying keypoints in a freepawed image.   Maybe RLE compression & a reduced resolution could have allowed it to page flip just freepaw drawings.  Like a modern 3D program, you would draw objects in a scene. There would be a way to export & import individual objects. 

-----------------------------------------------------------------------------------------------------------------

There's an example of a timeline editor on a commodore 64 which stood the test of time.

It was all character based with a sprite mouse pointer.  There was much page flipping since they couldn't fit much information in 40x25.  That was written in the early 2000's & it's still for sale.  Lions just can't imagine any productivity being done on a C64 now except out of curiosity or maybe because the interface is particularly easy to use.

Discussions