matrx-software / matrx

Human-Agent Teaming Rapid Experimentation Software
https://www.matrx-software.com
MIT License
10 stars 3 forks source link

BW4T builder #253

Closed Wouter1 closed 3 years ago

Wouter1 commented 3 years ago

Describe the bug BW4T builder can create a world with only 2 agent types: 1 bot type and a human type. The bot type can be changed but there is always only 1 bot type.

This makes it impossible to eg run the world with for instance a colorblind and a normal bot.

Expected behavior A way to introduce bots with varying types

Additional context I would suggest to change the builder so that different bots can easily be added. I was thinking about a something like

{
 'bot1':{class:'HumanBot', slowdown:1}, 
 'bot2':{class: 'shapeblindagent', slowdown:2},
'bot3':{class: 'colorblindagent', slowdown:1}
}

I think this issue is not specific for BW4T btu more general for matrx so I post it here. But we can also solve this BW4T-specific

jwaa commented 3 years ago

@Wouter1 Just so I understand; do you opt for a change in the builder.py script of BW4T, or a change in the WorldBuilder class of MATRX (specifically the WorldBuilder.add_agent method)?

In the case of the former this is believe more suited for the BW4T repo, and feel free to change it in your private fork. For example by providing the builder.py script a list of bots/agents you wish it to add using the add_agent or add_multiple_agents methods.

In the case of the latter; I believe we already off the functionality of adding multiple agents at once. Either through multiple calls of add_agent or a single call of add_multiple_agents (or add_team if they should be part of the same team). I refer to the WorldBuilder documentation for reference.

Either way, since this is a feature request I changed the label from bug to feature.

Wouter1 commented 3 years ago

@jwaa

Yes it seems something needs to be changed in builder as that is how it was designed.

It seems you would be the right person to change the builder program. You designed and wrote it so I assume it's a simple job for you. I am concerned only with writing agents, not with changing the world.

jwaa commented 3 years ago

Just so we are clear, you mean the builder.py not the WorldBuilder? In that case this issue is not with MATRX, but with the script that creates a BW4T task with the help of MATRX. Then I close this issue and we should discuss this outside the MATRX repo (e.g., our meeting this afternoon).

Edit; Fixed typo.