Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

show bomb owner in game_state #9

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Philipp-g
Copy link
Contributor

Currently the game_state does not provide the owner of a bomb.

Without this information the model can't really differentiate if a result occurred because of its own bomb or because of the bomb of another agent.

Since this information is also provided in the graphical representation of the game (color of the bomb), I think it is only fair to include it in the game_state too.

@fdraxler
Copy link
Collaborator

Thanks for your contribution!
I agree that this information is available in the GUI. However, I think that it will not change the way people train their agents and the information that an agent cannot drop a bomb is available in the agent's state.
So I am leaving this open until the project is over.

@Philipp-g
Copy link
Contributor Author

Philipp-g commented Mar 22, 2021

I think it makes a huge difference during training.

Consider this example:

The bomb of Agent_1 kills Agent_2 => Reward 5 for Agent 1

now take the same state and replace the bomb of agent_1 with the bomb of agent_3

Agent_3 kills Agent_2 => Reward 0 for Agent_1

Without the information of the owner of the bomb these would be exactly the same transitions to the agent but with completely different rewards.

I agree that you don't really need the owner of all bombs but you at least need to be able to differentiate if the bomb belonged to you or another agent.

@ukoethe
Copy link
Owner

ukoethe commented Mar 22, 2021

Knowing the owner of a bomb indeed makes a huge difference. However, I think this information is not made explicit in normal game play, i.e. when a human player only sees the GUI. Instead, one needs to infer ownership from the game history. Thus, learning ownership is much more interesting (from a didactic point of view) than just providing this information in the API.

@Philipp-g
Copy link
Contributor Author

I think the GUI makes this information quite explicit because different agents have different bomb icons. Of course if everyone specifies the same custom bomb icon then this information is no longer there. But this could also be applied to the agent icons themselves and the API still provides a way to differentiate the agents.

@fdraxler
Copy link
Collaborator

I agree with you that the information is explicit in the GUI together with the game history.

But if you just want to know whether it was your bomb that killed another agent (and this is the moment where your agent gets its reward), use the game event KILLED_OPPONENT. It is fired in addition to OPPONENT_ELIMINATED when your agent was the one who put down the bomb.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants