Close

Constrained line drawing tool

A project log for Unlimited tile world on a Commodore 64

Unfinished childhood project

lion-mclionheadlion mclionhead 07/12/2024 at 00:040 Comments

A minimal constrained line drawing program ended up being quite difficult.  The algorithm ended up requiring a lot of lookup tables to determine the possible lines from every starting point.  The result will hopefully be art that can be created with a commodore character set & there will be enough characters to define all the possible lines.  The tool can only generate a PNG with the line art or a screencap.  A past lion might have grown it into a full character based paint program.

The details possible with this tool would be impossible by manually entering 1 character at a time or drawing in PC paint, as would have been done 40 years ago.  It would have taken forever.  The tool would have been much harder to write for a commodore in those days & 10 year old lion would not have been able to program it, but it's fun to imagine what could have been in those days.  10 year old lion knew nothing of the math operations.

There are also a lot of simplifications young lion didn't know about, like using the keyboard & text console for input in a full time project display instead of a menu system.  Programs which used keyboard input all flipped between menu screens.  Most by 1985 only had graphical menu input.  Young lion didn't believe the more primitive ways had any future once the graphical ways arose.  He could have also used the VIC1525 for a text console but like young animals today, he was more prone to following common practices than leading.

At least the erase tool is resizable.  Despite all its successes, the GEOS paint program only had a fixed sized erase tool.  It always annoyed young lion that the tools used fixed sprites instead of XORed brushes.  You most often used the paint tool's variable size brushes to erase.

Drawing double wide multicolor pixels again & all the tricks to account for that in the algorithm tickled the original memory of discovering fat pixels on a CRT.

Discussions