-*-Python-*- Things not yet written in D (or is this pre-D?) 0.0.8: life: after birth: play after puberty: seek parter found partner: keep wedding: spread announcement about it: at certain time and place go to that place at that time build home do things in general todo list (0.0.7) reproduce death: others announce it some closest relative decides on funeral date go there rumors: ask about where certain place is spread wedding, death and funeral info easier talking and understanding (=very simple language) esay: (Interlinguish)/WordNet: "Eating if more important than sleeping." "Goals of type 'A' are more important than goals of type 'B'.", Goals-> "#goal_noun1": 1. goal, end -- \ (the state of affairs that a plan is intended to achieve and \ that (when achieved) terminates behavior intended to achieve \ it; "the ends justify the means") of-> "#of?" type-> "#type_noun1": 1. type -- (a subdivision of a particular kind of thing; \ "what type of sculpture do you prefer?") are-> "#be_verb1": 1. be -- (have the quality of being; \ (copula, used with an adjective or a predicate noun); \ "John is rich"; "This is not a good answer") more-> "#more_adv1": 1. more, to a greater extent -- \ (used to form the comparative of some adjectives and adverbs; \ "more interesting"; "more beautiful"; "more quickly") important-> "#important_adj1": 1. important, of import -- \ (of great significance or value; "important people"; \ "the important questions of the day") than-> "#than?" goals: see above of: see above type: see above "#be_verb1": DONE: You own this house: verb="own", subject="You", object="this house" DONE: To have breakfast do this: verb="learn", subject="breakfast", object="imaginary('have a breakfast', 'morning', 'home')" DONE: Smithy resides at '(20,10,305)': verb="know", subject="smithy", object="(20,10,305)" DONE: You can buy axes at smithy: verb="know", subject="axe", object="smithy" I want to buy an axe: verb="buy", subject="I", object="axe" I live at '(10,100,50)': verb="live", subject="I", object='(10,100,50)' 2. occupy, reside, lodge in -- (live (in a certain place)) Where do you live?: verb="live", type="question", subject="you" Where does Brinor live?: verb="live", type="question", subject="Brinor" Miyora got girl: verb="birth", subject="Miyora", object="girl" I love you: verb="love", subject="I", object="you" Nisuf is marrying Miyora: verb="marry", subject="Nisuf", object="Miyora" Nisuf and Miyora have wedding at 612.01.30 12:00 in home of Brinor: verb="wedding", type="612.01.30 12:00", subject=["Nisuf","Miyora"], object="home of Brinor" I want to make love to you: verb="love", type="question", subject="I", object="you" misc things: DONE: copy argument for things (especially mind): DONE: make universal: pass it to super class DONE: use **kw for all things (implements inheritance in __init__) filter function to filter uninteresting events avay add goal to go into tavern in evenings: new time names (with time/timerange)? class human(body): sex: "female" or "male" when two unmarried age>=fertility_age people meet: may say 'I love you': if another has said same thing: organize wedding add wedding/funeral 'event' \ (imaginary except that it happens at certain place) add sex event (when receiving it: check some probability for birth) add hormones (sex drive?) rewrite/modify goal 'language' CORBA: new client initiates connection: server creates counterpart and begins to send events to that counterpart client can send further messages to that counterpart and\ gets as response all events it has gotten. client: send these events: bodyi: store them for next 'run_step' client: what events in my body?: bodyi: these events bodyi: run_step: store events for next client query return stored events from client @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 0.0.7: CORBA done: see observer.py, engne.py and msg.isl make simple graphical observer module need different tasklist based on age cleanup 0.0.6 (modularize more things, etc..): DONE acquire thing goalification DONE house destroy: destroy fire too DONE make house: (body is enough intelligent to use import house) DONE make build something goal: DONE make event DONE then change events DONE build home: use build something (did it differently for now\ because additional restriction) goalify make axe (build something) DONE use const.py for constatns DONE event.py: document all events DONE implement events between world and things: (between world and mind already done) DONE make events so that they really are strings (partially done) DONE rename noname to cyphesis DONE add time-range to goals DONE replace tasks with goals DONE write mind section in cyphesis.d: (and remove Job, Task_info, Task) @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 0.0.6: coordinates and real places: currently places are names like 'home', 'smithy', 'forest', etc...: how to initially define these?: knowledge base: home,field farmer specific smithy,forest village specific world shouldn\'t know those names only minds do movement: use diff vector(s) birth and dying: add age (seconds) when new character created it lives with its parents until 18: then it search for suitable place then it begins to build its own home: when it\'s ready it moves there @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 0.0.5: modularize events, thinking and doing! (maybe later?): hmm.. doing is partly already modularized slower creation of objects (check if already have too many): word creates 'axe' with status 0.1: then additional "make" -events will increase status smith remembers what he is doing!: set task_info right before calling it task.do: see if there is unfinished 'axe' do not buy more than once: memory: remember what I did earlier let memory age if too old: drop it #some future implementation: add importance house in fire: create some house thing random event: fire is 'kind of live' thing #future: exponential (even further future: complete simulation) fire will grow every round by 0.15 if it goes over 1.0: destroy everybody will go and try to extinguish fire every extinguishinger will bring it down by 0.1 Nutshell: retain status longer than just single cycle hmm... 'axe' should generate I exist events instead of generating\ I got destroyed event #implement in future @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 0.0.4: events: done: farmer goes to forest uses axe axe deteriorates over time Instead of describing what to do, describe goals and deduce what to do or in other words: simulate. Lets see: chopping trees requires axe => need axe at forest => bring axe from home