draw-something 0.4 will draw on a number of classic AI applications for its structure whilst building on the existing code and drawing style.
Harold Cohen, Tate Gallery, 1983, ISBN 0905005392
The drawing will consist of a series of figures, as it does now. Each figure will consist of more than one form, which has an outline and a fill. The outlines and fills of each form may touch other forms, and so not every outline will go all the way around each form. This is the equivalent of the linked lists of figures, developments and lines (each line consisting of a number of points) described in the Tate catalogue.
The First Artificial Intelligence Colouring Book, 1984, ISBN 0865760608
To help allocate space for figures in the drawing, draw-something will use a coarse grid of cells superimposed over the co-ordinates of the drawing, as described in “The First Artificial Intelligence Colouring Book” and elsewhere. As figures are generated, cells will be marked as belonging to each figure. This will allow fast location of space for new figures, and fast location of figures to overlap.
Fluid Concepts And Creative Analogies, 1995, ISBN 0465051545
Like AARON, copycat is a probabilistic rules system with a knowledgebase that constructs aesthetic structures. But copycat structures its rules as “codelets” and its knowledgebase is a kind of semantic network that allows generalisation, a “slipnet”. draw-something’s rules will be structured as codelets, initially just simple codelets that re-implement the current drawing system.
draw-something 0.5 will add more codelets and implement a kind of slipnet about pictorial and spatial construction. This is inspired by SHRDLU, which may also have influenced the “block world” version of AARON.
The interesting part of SHRDLU for draw-something is not its natural language processing but its spatial knowledge: SHRDLU knows how objects can interact and will not allow impossible interactions. draw-something will use a copycat-style series of codelets to identify properties of figures being constructed, and a SHRDLU-style knowledgebase to decide how they can go together.