Miałbym pewne pytania dotyczące możliwości zapisywania dodatkowych informacji dotyczących obiektu ‘Creature’ (planuję zrobić testowy eksperyment poprzez modyfikację ‘reproduction’ (i bez używania GenePools), z ewolucją ukierunkowaną na szybkość chodzenia stworzeń).
Do bezpośredniego użycia są pola ‘user1’, ‘user2’ i ‘user3’, ale tylko 3 ‘bezpośrednie’ wartości to za mało. Zastanawiałem się o kilku potencjalnych możliwościach zapamiętania dla ‘creature’ dodatkowych wartości (w tym kilka lub kilkanaście typu ‘multiline string’), ale niektóre z nich mogą być niewykonalne, niektóre są niewygodne.
Poniżej opisałem kilka takich potencjalnych pomysłów - czy są one dobre ?:
1. W polu np. ‘user1‘ można ‘upchać’ dowolnie wiele wartości (także typu ‘multiline string’), tworząc
pola ‘wirtualne’, ale ich obsługa byłaby skomplikowana.
2. Może można wykorzystywać już istniejące pola ? Np. ‘velocity’ lub ‘distance‘ – chciałbym tam wpisywać wartości, które mój program (expdef) chce (i tylko wtedy, kiedy on chce) wpisać, ale tam ktoś ciągle wpisuje jakieś wartości, a nie udało mi się znaleźć miejsca w programie (np. w pliku typu ‘expdef’), w którym mógłbym wyłączyć automatyczne zmienianie zawartości tego pola.
3. Najlepiej by było, gdyby do obiektu ‘Creature’ można było dodać sobie dodatkowe pola, tak jak np. do obiektu ‘ExpProperties’ (w ‘expdef’) można dodawać sobie pola, używając ‘property’.
4. Można próbować wykorzystać istniejące pola, które może nie byłyby modyfikowane ‘automatycznie’ przez interpreter świata (może takimi polami w ‘creature’ byłyby pola ‘źródłowe’: ‘model’ i ‘geno’ - jeśli nie byłyby potrzebne).
5. Do pola np. ‘user1‘ można przyłączyć nowy obiekt typu ‘geno’ (z 4 polami ‘multiline string’) lub nawet typu ‘creature’, a do pola ‘user2’ obiekt ‘genotype’ (ze swoimi podobiektami), a w nich do pola user1 i user2 (w tym drugim ‘creature’ czy ‘genotype’) można przyłączyć następny obiekt itd..
Czy te dodatkowe obiekty byłyby do swobodnego użytku użytkownika, czy może interpreter świata sam zacząłby się nimi zajmować ?
6. Dla stworzenia ‘creature’ można utworzyć jednocześnie drugi przyporządkowany mu obiekt ‘creature’ (jeden lub więcej) w utworzonej dodatkowej nieaktywnej ‘population’ lub ‘genotype’ w nieaktywnym ‘genepool’, ale też nie wiadomo, czy nie byłoby jakichś skutków ubocznych (np. automatycznego zmieniania wartości pól w tych polach).
7. Może istnieje jakaś prosta, naturalna metoda na nowe pola, której nie zauważyłem ?
Można tak zrobić. Lepiej tak