Closed alekseynp closed 6 years ago
Agree 100%, we just haven't had the time to tackle this and it hasn't been a priority from the community (until now?). We had briefly discussed implementing this in a few different way:
The easiest is 1). Do you want to take a stab at that through amending graphics.py?
I can also help you with that and/or answer any questions you have. I can also work on a couple of assets to help.
I started with a number for bomb life on top of the bomb icons. I wanted to stop where I am to be sure that you are satisfied with the approach. I am assuming that aesthetics will be handled by someone else. The relevant branch is here
This could be an approach. You're certainly right about the aesthetics not being satisfactory ;).
How small can you make it so that it's still ok for humans? What about moving to the corner or changing the alpha?
I thought we had an issue for game visual enhancements...
It will be hard to show both of these visually in a meaningful way. I see two ways we can display this information. One is through a number on the bomb. The other is with something like a "health bar" at the bottom of the tile. The first can be used to display the strength of the bomb and the second to display the time remaining until the bomb blows.
I believe in the real Bomberman you do not get a proper countdown until the bomb blows up. If I remember correctly you get a couple different type of wicks that give you an approximation of time reaming.
I've updated my branch with some minor aesthetic improvements and the addition of a label for bomb strength. I've certainly met my goal of making the information visible to the player. If the goal is to make a pretty game or a game that is true to Bommerman that my conflict. Personally I don't recommend having those goals. If they are a must, perhaps there needs to be a switch on pom_battle
for ugly mode?
My branch is here
OK. Here are a couple of ideas to display info about a bomb.
The color of the timer tells you how strong the bomb is. Then with each step one of the timer blocks disappear.
Here is what it would look like during game play.
Long initial detonation cord that gets shorter each step?
( Sorry for the bikeshedding - but sometimes it is hard to resist :-) )
I like this. Any objections to moving forward?
I have none. @alekseynp is there anything I can do or provide to help with this? Do you have any questions or concerns?
I'll say this. @weseldridge , I think you've proposed a very reasonable compromise between the goals of aesthetics and communication. If I had a full set of assets I would create a pull request that implements them. A bomb has 10 blocks at the bottom of its tile that disappear as its life diminishes. A bomb with default strength has yellow tiles. 3 as orange. 4+ as red.
However! I will not use this feature. This does not meet my goals. I will ultimately use and maintain my own branch that displays the raw values loud and clear in simple readable labels. When I combine this with the player agent that pauses for input (another issue), I will be able to record carefully considered, high quality human game play.
The 10 blocks are nice, though not easily flexed if the game is reconfigured to have more. I don't know the long term goals of the project, but I can imagine interesting scenarios:
Maybe a rule for the 5+ and above bomb strength would satisfy me. 2: yellow 3: orange 4: red 5+ number in a label?
I wonder if we could unite these goals.
Have you tried playing with the numbers approach @alekseynp? My fear is that it's going to be really hard for humans to digest all of that information. I think what you described at the bottom is pretty reasonable, albeit maybe we have a single color above a threshold rather than the number?
I think it's awesome that you are ready to utilize human gameplay in your research. With that in mind, could you run some trials with these visuals to see which approaches people are capable of absorbing and are comfortable playing?
@alekseynp , any update?
Thanks for the prod. Your last message was wise, and I agree that I should collect some experience. That will take some time and I'll update here when I have done so.
Ping?
Pong.
Unfortunately after reflecting during my recent vacation, I think Pommerman generally is a project that I'm going to have to drop.
I apologize if that means I've been more disruptive than helpful.
Aye, closing this, however I think that @weseldridge 's solution in https://github.com/MultiAgentLearning/playground/pull/143 is a 👍 direction that we can build off later as necessary.
This is important information that the agents know that is not shown graphically. For a human user to be able to play the game like an agent, it would be worthwhile displaying it. For a human user studying game play, it would be worthwhile displaying it. A human user with partial board observation will not be able to deduce these properties from having observed collected power-ups.