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

Battle Royale Style "Shrinking" Map #26

Open
MCSnapTurtle opened this issue May 2, 2019 · 3 comments
Open

Battle Royale Style "Shrinking" Map #26

MCSnapTurtle opened this issue May 2, 2019 · 3 comments
Labels
enhancement New feature or request

Comments

@MCSnapTurtle
Copy link
Contributor

Is your feature request related to a problem? Please describe.
A large map with many bots may take too long to play out. Simple strategies such as hiding in the corner of a extra large map becoming too viable. There is less incentive to engage with others because the winner is the one who lives longest, so the one that avoids confrontation will do better.

Describe the solution you'd like
"Battle Royale" style games encourage confrontations by penalizing those that are on the edges of the map, as time goes on. Therefore, we could implement a mechanic such that bots that are too far from the center of the map will take damage continuously, until they come closer to the center.

This "damage zone" could have a red hue to it, to show it visually. As time goes on, the "damage zones" get larger, (ie. For a 1000 x 1000 map, the damage zones could start at x = 0 and x2 = 1000), and increases/decreases by 1 per step, so at step 100, any bot whose x location is between 0 and 100 or between 900 and 1000 will take a set amount of damage when they are in the zone, ie. 5% of max health per step). The same thing will occur on the y-axis. Bots are allowed to enter this zone, but they will take damage. This encourages bots to move to the center of the map and engage with others.

Describe alternatives you've considered
An alternative is to shrink the playable map size as time goes on, in the same way, instead this time, they can not physically enter area.

Additional context

@mcstoer
Copy link
Contributor

mcstoer commented May 2, 2019

On the 1000 by 1000 size arena, the games are quite fast paced. How large of a map size do you think this would be ideal for? Would the bots know the current location of the damage zone? 5% of health per step is quite a large amount, since a bot which is in the zone for only 20 steps would be destroyed. Maybe 0.1% of health per step?

@MCSnapTurtle
Copy link
Contributor Author

Further testing needs to be done, as we haven't tried 8 bots, or a large arena before, but something like 3000 x 3000 could be large enough for this feature to work.

As the zones are directly related to the current step, I think the bots should be able to calculate the current location of the damage zone. No additional function/message call is needed.

I agree, 0.1% would be a good start. Further testing is required. The main thing we should keep in mind is that we don't want to penalize too heavily a bot that's in the zone or else the danger zone would be essentially a insta-kill barrier. There should be situations where going into the zone would be beneficial, such as avoiding other bots temporarily.

@dbakewel
Copy link
Owner

dbakewel commented May 3, 2019

I really like this idea. I have only read it quickly but I have a few notes:

  1. All the specific values you are discussing should just be the test defaults. The server should have command line options to change them. So you can implement it fist and then play with it. After that you can do another update to tune the default values. What I'm saying is worry about those details later.

  2. Have you considered something like a trash compactor? This would be a different model, and not necessarily better than what you are already thinking. What would happen is that outer border (outer wall) of the arena would slowly move in towards the middle. Robots would get pushed in and take normal wall collision damage if they don't get out of it's way.

  3. Finally, we need to consider how robots will know about the shrinking map. What data do they get in the server conf? Can they get any data about the shirking map by sending messages?

@dbakewel dbakewel added the enhancement New feature or request label May 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants