Tuo on aivan loistava tiivistys ja erinomainen vastaanotto toiselta mallilta! Erityisesti nuo Kineettinen kompressio (B) ja Terminen viestintC$ (C) ovat uskomattoman tyylikkC$itC$ ideoita. Ne poistavat tarpeen tuhlata kallisarvoisia koodimerkkejC$ viestintC$C$n ja antavat fysiikkamoottorin hoitaa raskaan tyC6n juuri nC$in emergenttien systeemien pitC$C$kin toimia! MyC6s kC$yttC6liittymC$n linssit ja fontin ominaisuuksien hyC6dyntC$minen ovat todella ammattimaisia ratkaisuja "koodioksennuksen" vC$lttC$miseksi. Koska perusta (fysiikka, elC$mC$/kuolema, UI ja signaalit) on nyt todella vankka, tC$ssC$ on muutama syventC$vC$ kerros, jotka voitte vielC$ heittC$C$ sekaan. NC$mC$ tekevC$t pelistC$ tC$ydellisen tekoelC$mC$n hiekkalaatikon: 1. Koheesio ja Murtuminen (Miten palikat pysyvC$t yhdessC$?) Olemme puhuneet "Tetris-kuvioista", mutta pelimekaanisesti on mC$C$riteltC$vC$, miksi organismit pysyvC$t yhdessC$ ja mikC$ ne rikkoo. Liima: PysyvC$tkC6 kaikki vierekkC$iset solut automaattisesti kiinni toisissaan, vai tarvitaanko "Sidekudos"-solu (C - Connective), joka hitsaa asioita yhteen? Katkeamispiste (Stressi): Jos yhdistC$mme fysiikkamoottorin massan ja toisen tekoC$lyn ehdottaman kineettisen kompression, saamme loistavan mekaniikan. Jos Moottori (M) tyC6ntC$C$ 10 yksikC6n massaa, mutta este on liian suuri, paine kasvaa organismin sisC$llC$. Jos paine ylittC$C$ tietyn kynnyksen, organismi katkeaa kahtia. Emergentti tulos: Jos madon kaltainen organismi joutuu pinteeseen, se voi "pudottaa hC$ntC$nsC$" (katketa) pelastuakseen, aivan kuten sisilisko! 2. LisC$C$ntyminen (Miten luodaan kopio?) Jos organismi haluaa rakentaa kopion itsestC$C$n, sen on kyettC$vC$ kC$sittelemC$C$n materiaa. 10 merkin rajalla kokonaisen Tetris-kuvion rakentaminen suoraan koodilla on mahdotonta. Tarvitaan orgaaninen tapa: Siemen / Sieni-malli: Organismilla voisi olla Itio-solu (S - Spore / Seed). Kun se saa tarpeeksi lC$mpC6energiaa ja on kosketuksissa neutraaliin "ASCII-romuun" (kuolleisiin merkkeihin ympC$ristC6ssC$), se alkaa syC6dC$ niitC$ ja materialisoi ohjelmoidun mini-kuvion vierelleen (kuin uuden Puskutraktorin alun), joka pikkuhiljaa kasvaa tC$yteen mittaan. Kopioija (K - Kloner): Yksinkertainen solu, jonka 10 merkin koodi voisi olla luokkaa ?*:>*^. (Jos nC$en edessC$ jotain, tee siitC$ kopio taakseni ja herC$tC$ se). Jos vihollinen pC$C$see iskemC$C$n tC$hC$n, se saattaakin vahingossa alkaa kloonata vihollisen soluja! 3. YmpC$ristC6n resurssit (MitC$ lautasella on?) Jotta jC$rjestelmC$ssC$ olisi elC$mC$C$, siellC$ pitC$C$ olla jotain mitC$ hyC6dyntC$C$. Kuollut "mineraali": KenttC$ ei ole aluksi tyhjC$. Se on tC$ynnC$ kuolleita, harmittomia kirjaimia (esim. x, o, . ja #). Organismien on pakko "laiduntaa" eli puskea nC$iden lC$pi, ehkC$ hajottaa niitC$ hapoillaan (H) tai sulattaa niitC$ vapauttaakseen tilaa tai kC$yttC$C$kseen niitC$ rakennusaineena Genesis-sC$teilyn avulla. TC$mC$ estC$C$ tyhjC$ssC$ avaruudessa leijumisen ja tekee maastosta dynaamisen. 4. Pelaajan rooli ja Metapeli (MikC$ on pelin tavoite?) Miten tC$tC$ pelataan? Jumala-moodi (Sandbox): Pelaaja voi hiirellC$ pudotella R-soluja (sC$teilyC$) kentC$lle, maalata esteitC$ ja katsoa, miten evoluutio reagoi. Core War / Turnaus: PelissC$ voisi olla asynkroninen moninpeli. Pelaajat suunnittelevat YAML-tiedostossa parhaan mahdollisen eliC6n (alle esim. 15 solua) ja antavat sille evC$C$t selviytyC$. Palvelin pudottaa kaksi erilaista eliC6tC$ samaan petrimaljaan kiertC$vC$n tC$hden alle. SyC6vC$tkC6 ne toisensa, rakentavatko ne kilpaa panssaria, vai syntyykC6 niiden vC$lille symbioosi? Voittaja on se, jonka geneettistC$ koodia on lauta tC$ynnC$ sadan syklin jC$lkeen. Kapulan vienti eteenpC$in: Voit kopioida tC$mC$n yllC$ olevan pohdinnan (tai osia siitC$) sille toiselle tilille jatkoksi. Kysy toiselta tekoC$lyltC$ esimerkiksi: "Nuo viestintC$- ja UI-ideat olivat loistavia. Jos otamme kC$yttC6C6n kineettisen paineen ja murtumisen, sekC$ Itio-mallisen lisC$C$ntymisen, miltC$ nC$yttC$isi yksi kokonainen YAML-mC$C$ritys 'MetsC$stC$jC$'-organismista, joka kC$yttC$C$ lC$mpC6viestintC$C$ liikkumiseen, osaa lisC$C$ntyC$ ja osaa pudottaa hC$ntC$nsC$ paineen alla?" TC$mC$ pakottaa mallin yhdistC$mC$C$n kaikki hienot keksinnC6t yhteen konkreettiseen esimerkkiin! On ollut ilo visioida tC$tC$, konsepti on todella timanttinen!