From: Markus R. <rol...@un...> - 2008-03-31 19:37:48
|
Hi all, Ben wrote: > 1. Where should 'Behavior' be installed in the object hierarchy? > TrainControl should be able to enum all the behaviors. It should go below 'user/agent/' I think. > 2. Dynamic connect and disconnect? Should the integrated agent be > like the one in AgentControl, in which agents' connection is dynamic. > What does it mean for an integrated agent to be dynamic? Behavior nodes could register to the TrainControl (in their OnLink()). The traincontrol then uses the GameControl Server to create an AgentAspect (mGameControlServer->AgentConnect). As Hedayat already wrote the agent then use their init effector to construct themselves. When the behavior node is uninstalled it's OnUnlink unregisters from the TrainControl. The TrainControl then disconnects the agent (mGameControlServer->AgentConnect). In this way behavior nodes could be installed an uninstalled at any time. > 3. Write an interface class to provide internal information, such as > transformation, joints. The information can be used by scenario > training or some learning algorithms. This internal information is specific to the soccer simulation. We should implement it but put it in a derived class, something like SoccerBehavior that is a specialized behavior. The base behavior soukd only contain the mechanism to register with the TrainControl and some Send/Receive message api. As Hedayat already noted the setup of training situation should be done using the TrainerCommandParser interface that is already there. cheers, Markus |