What is Generative Design?


Generative design is often mistakenly used to describe design processes involving any kind of computer programming or scripting. It almost seems that calling design generative is intended to obscure the used methods and make the outcome look and sound esoteric. In my opinion, this is exactly the opposite of what generative design should be about – being explicit. While all design exercises are typically generative, they are not necessarily computational. In this article, I am using the term generative design only in the computational context.

Perhaps it is good to first explain what generative design is not, before trying to nail what it exactly is.
I believe that the most important and distinguishing part that makes a computational model generative is the feedback loop. The feedback ranges from simple mechanisms, where the model takes its own output for input, to relatively complex ones incorporating design evaluation routines. Generative methods have their roots deep in the systems dynamics modelling and are by nature repetitive processes where the solution is developed during several iterations of design operations. In the generative design process the production of complexity usually happens through aggregation.

Two types of models

There are two essentially different patterns that generative models follow. Let’s call these tentatively the evolutionary pattern and the self-organisational pattern. In models following the evolutionary pattern the full design sequence typically involves modelling, analysis and interpretation. When this sequence is closed and the information from design analysis is fed back into the modelling procedure, the feedback loop is formed and the model becomes generative.

The self-organisational models feature feedback loops that takes place between design agents and the modelled environment. The whole concept is built around the sematectonic or stigmergic communication. During the design process, the agent evaluates its environment and makes some changes to it. The changes in the environment constantly trigger new actions which, in turn, cause further changes. This type of feedback loop can be used for creating highly dynamical systems of design.

The following presentation helps to explain the two patterns


In the future articles, I will talk about some generative models of both types.


Generative design

13 Responses to “What is Generative Design?”

  1. Fatiha Loumi says:

    I just would like to add that evolutionary processes are mainly concerned with adaptation and optimization as opposed to generative processes where the outcomes are not necessarily the best solutions.

  2. Renee says:

    Thanks, Fatiha – I absolutely agree with you.

  3. Terrance says:

    I am in the process of writing the abstract for my M.Arch thesis. My focus is on generative design and your explanations here helped clarify my understanding a bit more. Thanks!

  4. […] in product design, communication design and art. Companies such as Convivial Project started using generative design technologies in order to customize patterns based on people’s design preferences. This […]

  5. Hi, Renee! After your post I came to conclusion that evolutionary processes are iterational and self-organizing are recursive in terms of feed back loop. Am I right?

  6. […] Статья  «What is Generative Design». Renee Uusepp […]

  7. […]  «What is Generative Design». Renee Uusepp Понятие рекурсии. Связь между рекурсией и итерацией […]

  8. Renee, there is no doubt that evolutionary processes are generative, since they are widely considered to be one of the main generative techniques).

    I guess, I found something really interesting in question what is generative and what is not at the moment. To my mind, the feedback loop is not necessary for generative design and that’s how I made such conclusion.

    I think that the feedback loop is needed to add certain dynamics to a system, otherwise it will be just computational not generative. The dynamics is given to an input data through every iteration loop. When the operating data is dynamic we cannot predict the exact result and the system is performing with a certain degree of autonomy.

    But it is not necessary in case the input data is already dynamic. For example when system receives data from a sensor gathering it real time from outer world. I guess such system will still be generative even without feedback loop in its body.

    So I find feedback loop just a possible, but not critical condition for generative system. What do you think?)

    • Renee says:

      Very good point, Sergei. Dynamic input alone does not yield generative design in my opinion. The question is rather how the input becomes dynamic? If it is the design procedures among other external factors that makes input dynamic then yes, I would consider it as generative. Otherwise, I would say that the design simply responds to the input and as such is merely parametric.

      Your question is if feedback is needed at all. I would put it into a slightly different perspective and ask whether straightforward recursive procedures make design generative? If not, then simple procedural modelling (and L-systems for that matter) should not be considered generative either. To be honest, I have no definitive answer here. I guess we could differentiate here between simple recursion and feedback.

      Another option as you also seem to suggest, is to bring in the notion of emergence and autonomy.

  9. I completely agree with you in question of dynamic input. The essence is really in how the input or I would say data becomes dynamic.
    For your question whether straightforward recursive procedures make design generative? – I would say yes. I still think that the key thing for generative system is data dynamics. And the simple recursion or feedback being different methods are doing basically the same thing in this particular case. So I find them just two different options for adding dynamics to generative system data.

    As you suggested, I also focused on autonomy notion and at the moment came up with next conclusion. As far as autonomy in general means freedom from external control or influence, in case of generative design system it can mean freedom from external data modifying. Which means first of all freedom from direct Designer intervention to system’s data.

    As you mentioned it is very important for data to be modified by some design procedure. And I completely agree with that. I would just say it must be modified by the system itself. That’s how I see autonomy aspect in generative system.

    What do you think about next condition for generative system?

    At each iteration of system performance the data must be modified and only by the system itself.

    P.s. Thanks for sharing your ideas. It really helps me a lot.

Leave a Reply