the beginnings

        Development anyflo spans over twenty-five years:
        I met the synthetic image at a time when computers and the programs were very frustrated and I was confronted very early implementation problems which were never raised or not solved. So I proposed personal methods (against all advice allowed) that proved relevant in the future. Thus in the 80 I advocated and implemented language users while the mouse was very honored. Some fifteen years later Maya MEL out his language, presented as a novelty ...
        As an artist I was not satisfied of the existing tools that were usually designed by computer scientists without any real knowledge of artistic problems. As a programmer, I was not satisfied of the existing languages, too restrictive
        My goal was to build a language with the specifics of a general computer language (such as C), tolerant enough to free the programmer from the worries of regular programming (malloc problems, consistency statements, ...) may meet the artists (graphic oriented, intuitive, real-time, ...) and especially open, that is likely to spread, and all this without losing the power of conventional programming languages
        I first designed in 1986, a fairly basic interpreter whose syntax was similar to that of C but does not have the characteristics of a real programming language (especially all variables were global). However, at that time, the language was object oriented, in the sense that the code could be attached to an object. This interpreter was the heart of a graphic program, anyflo, incorporating the main algorithms of synthesis and 3D animation. But face to the slow execution of programs written in this language, so I decided in 1987 to write an interpreter pseudo-compiled with the features of the C language. Object oriented and even self-generating, in that the code could be generated dynamically by the code itself, this language was flexible (allowing to define objects and arbitrary operations), very optimized (I 'commonly used to develop interactive installations), and especially open: so I had no difficulty in extending neural networks, genetic algorithms, and today the adaptive systems.


See articles:
Anyflo: Logiciel d´animation 3D (in Imaginaire numérique, HERMES 1986).
Procedural Art with Computer Graphics (1988)
Tools for artists (1991)

        Basically, anyflo system is built around:
        1) An interpreter to develop specific applications very quickly. A set of commands includes the C language keywords and other keywords.
        2) A synthesis module managing objects very general, ie without predefined property: It is possible to assign an object of standard properties (points, faces, surfaces, colors, fractalisation coefficients, etc. .. ), or novel properties defined by the user. By assigning a property of type program, in fact, an actor, which opens the way for behavioral animation. A set of commands allow to define objects, their properties and operations on these objects.
        3) Other layers, unlimited number corresponding to an application (written in C) and linked to anyflo may be present, each with its own set of commands defined by the user.
        4) a programming outlet for interfacing any software or directly to the shell or with the synthesis module.
        5) Standard inputs can be connected to any type of sensor.
        The famous trilogy modeling-animation-rendering has no reason to be, since animation is itself an object of type program manager events that are themselves programs. In fact, anyflo, there is no database.
        A special file inita.h says to the interpreter the directory where the files of its environment. Similarly initb.h is attached to anyflo, initc.h a user application, etc ...

A language

        It is essential that a system is not fixed and can change, the principle of language seemed preferable to choice, necessarily limited and predefined, in menus proposed. The problem of representation, for example, is usually solved by linear perspective. However, the representation of space is inseparable from the experiences of an observer to perceive it, projection algorithms should therefore not be preset but buildable by the user itself. Similarly, the problem of database presupposes a priori known objects in a 3D environment also known in Prior. However, for the same reasons as above, the perception of objects implies a set of manipulations and can not be predefined, except that limit their space, wired in the software. While predefined menus do not offer, at best, a course in a limited set of combinations, the notion of language can produce an infinite number of new proposals, and even define new concepts.
        This does not preclude the existence of an interface in the form of menus, provided, however, that they are programmable, and no not fixed by the software. .
        Finally, the fact of having and controlling all sources, eliminating the term "bug" (a shot dbx and there seems to be more) and allows us to consider software as a living organism in constant evolution. For artistic creation it is essential, in fact, control and be able to build the tool.

Succesive developments

        1977: First real-time synthesis software developed in assembler on intel machines of 8 bits. Early films synthesis. Writing software in pascal, algol, algol68, and Algol68 LSE.
        1984: Synthesis software development and 3D animation in FORTRAN language and incorporating user language. Many films 3D computer
        1986: First synthesis software and 3D animation developed in C language and integrating a language C inspired.
        1987: Pseudo-compiled interpreter and real-time applications, the first interactive installations. Many films 3D synthesis using behavioral methods.
        1997: Implementation of neural networks. Many synthetic 3D movies using connectionist methods.
        1998: Implementation of genetic algorithms.
        2000: Implementation of adaptive systems, first "smart" interactive installations.