在先前的章節中,我們設計了許多類別,如Mover、Particle、Vehicle、Cell等,然後利用這些類別來建造模擬世界中的物件。在建造這些物件時,毫無例外地,我們必須為它們設定各個屬性的初始值。例如,我們必須幫Particle物件設定顏色及大小、必須幫Vehicle物件設定起始位置等。所以,我們是模擬世界的主宰,但這主宰看來實在是不怎麼好當;如果想讓模擬世界中的貓兒生小貓,身為全知全能的主宰,還得鉅細靡遺地幫小貓設定一大堆如大小、顏色、叫聲、性別等性質,才能讓牠順利地被生出來。
那是不是可以師法自然,藉由演化的方式,來自動產生小貓的各個屬性呢?這樣不僅可以減少許多設定的工作,也比較貼近真實世界中看到的情況。當然可以!這章的內容,就是要介紹自然界生物演化方式的原理,並把這些原理應用到程式設計上。如此一來,模擬世界中的物件也可以具有演化的能力,而賦予它們這個能力的我們,也會更像是真正的主宰。