ok, so what are the parts going to *do*? what will they be allwoed? waht won't they be allowed? and in the end, what language will best suit them? also- what else might want this language (like, for kits and client-communication and command-line sort of stuff) well, I'm still not sure how much freedom they should have - certainly some agents will want to do magical things, teleporting around and healing creatures and so on - but others will only be mean if they can cheat like that, and should be confined to moving normally, consuming an appropriate amount of energy, etc... should they both even use the same language? how do I set all this up? make different "classes" of commands maybe? who says the parts have to have a specific language? well, it does kinda have to be one you can interpret... mm, so. what classes do we have? organic - uses chems and neurons to communicate, consumes some sort of chemical energy. inorganic - communicates by electricity or something, also gets power from there. agent - can do whatever the heck it likes. should we have object-wide vars for them to read/write? certainly there'd be useful cases for them... but might it be interesting to limit the organics to chemical signalling? also, parts might need some sort of efficiency rating. so, organic cobs are the common, basic ones: plants, animals n'stuff. they consume, excrete, reproduce and possibly interact in other ways. inorganic are the machines. vendors, toys, etc. they consume electricity, do stuff, and might want compound parts. idea: if we end up needing comp parts, might htey be implemented as actual parts with bodies of their own? each object needs a body to interact with the world; if a part wants to have a body that could be a separate thing to click on, with its own sprite n'stuff. although that is thinking of a creatures-like world... not sure how stuff like that would happen in AC. then there are agents... umm... magical stuff, I guess. things that want to screw around with the insides of other objects, or teleport around, or stuff like that. some stuff might be visible to only the user- scenery, rain, some agents, etc. what about external interaction? the user(s) will probably still be represented by a "hand" object; it'll get moved about by the connection. or if AC is used, it'll be handled there. as for external kits.. well, those'll be like clients, if we're the server then they'll probably just communicate via something like a caos comand line. darnit, I'm busy with other stuff, will have to finish this later. ... so. what actions might basic parts need to do? certainly they'll need to request a list of agents from the server - either visible or otherwise. they might also want to let the server know they're interested in unexpected events like loud noises... not sure exactly how that'll work. what else? well, going with the photosynthesis example, they'll want to send a signal to one (or all) of the agents in its list. say, give it some light-energy... whereas the leaf will want a "light" sensor that recieves that energy (kinda like receiving a msg wrt but simpler) and emits a chem, and a gadget may want to get electricity from it or simply change some var. also, let's say we want a switch on the lamp to control the brightness. hte switch would be a different part, getting click events from user and setting a "strength" var in response. then that var will be the amount sent out to the light-sensor objects. ot: would it be too complicated for a norn to see individual body-parts of a nearby object when focused on it? eh, leave it open in case I want to try a brain that does it. obviously we're going to need vars, and simple things like increments, and then these communication-related things. I'm not sure if part operation would be triggered or on timer or what, or both, but eh. figure it out later. I suppose I'll start by trying out flex stuff, and after I've fiddled with that for a while I'll see how it's going. hmmm, but for the light stuff... energy conservation... how do you know which megssages should take how much energy? well, let's start with a simple idea of making the value sent = the units of energy sent. then we have a simple way of knowing how much energy was transferred - this can be drawn from the 'electricity' for the lamp, added to it for the solar-cell, and... perhaps just wasted by the sensor. mm, waste heat. as for the leaf, it can now produce up to that amount of energy in chemicals - but, how exactly? does it just "produce" chemicals out of nowhere, or does it use the enegry to perform a transformation? producing a catalyst might be effectively the same - handled by a chem model instea, making the model more complex - but which would be best? transforming in the part would basically make it like an organ, but with energy limits. hrrrm, is that so bad? if we can't evolve parts, then yes. :P mmf, but what about the energy 'cost' of running this part while it's not collecting energy? also, what if you have several of this part in one object? does each part get its own bit of energy? do they share or is it multiplied? in this particular case I imagine multiplication would make sense (to a point) but I guess it might just be up to the lamp. which assumes the lamp knows there are multiple parts, unless there's a special thingummy in whatever function it calls. heck, with this simple of a language you could almost specify simple parts in the dna, and have the engine enforce energy conservation... er... but there will always be stuff for parts. complex stuff that needs code. also - on multiple parts. maybe there could be a 'size' instead? I dunno. but they need some way to regulate the amount of light they want to get. back to complex parts, I meant like norn vision- the part will have to get a list of visible agents, compare their relative 'importance' and pass along focus... the brain will probably need to use a few vars for tracking focus properly, that's one hack I doubt I coluld skip. so then the object-specific sense parts have to report on the focus object, and the action/muscle parts have to act on it... all that will require some hacks. and the senses will have to provide data in hte form of neurons... and relate those neurons to objects inside it, and so on.. actually seems simple now that I think about it. just wires and weights. but if hacks go in the engine, all critters are stuck with them. if they're in parts, those parts can be changed. maybe it's possible to squeeze the parts so that some stuff goes back to dna (have dna specify some details needed by the parts maybe) and other stuff goes back to the engine, and the parts are just the interface between the two, with little hacks as needed... also, I wish I could think of some way to mutate into using a different part without using something totally out of left field. but that's about the same as not wanting norn mutations that suddenly produce a grendel head - I'd like a solution but chances are there's no easy one. oh, and I think I'll definitely need parts for absorbing and excreting chems. which means a way of having chems outside of agents.... foo... that depends a lot on the physical world. anyways - photosynthesis. "Shorter wavelengths (with more energy) do not penetrate much below 5 meters deep in sea water." -- there's a reason for diversity in RL.the more powerful light is harder to get. but is it worth having any differences in freetures? I don't see a point in sending out different colours of light. as for the efficiency of leaves... eh. so long as it's below 100% I'm generally happy. maybe more efficient ones should have higher idle costs? so they'd consume energy when it's dark. and there's nothing to stop someone else from inventing lamps & leaves that use "red-light" or even "foobar". mmkay, so, in RL photosynthesis seems to have two stages: light gives the chlorophyll energy, which makes ATP and NADPH; water is consumed and oxygen is produced. then in hte second stage, co2 and hydrogen are taken from the air; the ATP and NADPH is used to trap them into carbs ([CH2O]n). whee, carbon fixation. sugar is in there somewhere... I suppose carbs are sugar. not sure how the plant gets the energy back if it needs it... is that cellular respiration? anyways. general idea is: do we make the chem reactions defined by the engine and just have the parts emit catalysts or whatever? or do we have the parts define the reactions (norn-organ-style) and just have some restrictions on energy conservation? I don't even know *how* to define the reations yet... just know that I want to be able to have something resembling plant & animal life cycles. as for more complicated parts... I'll figure it out when I get to them.