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

Make ladder map selection non-random #319

Closed
aeoncleanse opened this issue Nov 1, 2017 · 1 comment
Closed

Make ladder map selection non-random #319

aeoncleanse opened this issue Nov 1, 2017 · 1 comment

Comments

@aeoncleanse
Copy link
Member

Introduce a non-random selection code to exclude the last played map of both players before rolling the dice. This will improve player perception of how random it is and avoid strings of playing the same map.

We could also add more maps to the pool to get a little more variety, and it would feel nice with this in place.

@FtXCommando
Copy link

Have the code look at the last 3 maps of each player. Take these 3-6 maps out of the potential pool of maps for this specific match between said players.

If possible make the parameter that tells the system how many maps it should look at fairly simple to change. When different ladder systems are decided upon in the future it may be necessary to downscale the quantity of maps that the system looks at.

Rackover pushed a commit that referenced this issue Mar 2, 2019
* Add sqlalchemy with asyncio

* Add test for excluding last played maps

* If all maps were played recently, just pick a random one

* Query laddergames by looking for "ladder1v1" gamemod

* Close db connections when server shuts down

* Only return map_id

* Clean up imports

* Remove mysql specific types

* Replace db_pool with sqlalchemy engine everywhere

* Add test for empty map pool case

* Remove logging cursor

* Rename faction "nomads" to "nomad"

* Add debug for game timeout

* Clean up some formatting

* Make sure to fetch ladder results.

* Add test for querying ladder history from db.

* Set ladder maps correctly.

* Replace fetchall with async for iteration where possible.

* Refactor update_game_player_stats

* Fix stuff I missed during rebase

* Row is a dict cursor

* Fix column name

* Add typing for map tuple
Brutus5000 pushed a commit that referenced this issue Jun 24, 2019
* Add sqlalchemy with asyncio

* Add test for excluding last played maps

* If all maps were played recently, just pick a random one

* Query laddergames by looking for "ladder1v1" gamemod

* Close db connections when server shuts down

* Only return map_id

* Clean up imports

* Remove mysql specific types

* Replace db_pool with sqlalchemy engine everywhere

* Add test for empty map pool case

* Remove logging cursor

* Rename faction "nomads" to "nomad"

* Add debug for game timeout

* Clean up some formatting

* Make sure to fetch ladder results.

* Add test for querying ladder history from db.

* Set ladder maps correctly.

* Replace fetchall with async for iteration where possible.

* Refactor update_game_player_stats

* Fix stuff I missed during rebase

* Row is a dict cursor

* Fix column name

* Add typing for map tuple
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

No branches or pull requests

2 participants