It's me again!
I'm not entirely sure this topic fits within the series as it’s not directly related to understanding the source code of Draft Day Sports: Pro Football 2016, but I’ve decided to include it because it can help us test various theories and build ideas (and because it’s the most interesting sim-related topic that I’ve been working on lately). The target audience for this post is users that already have a bit of experience in working with the sim--if you are brand new and just looking to start experimenting with the sim, there are probably better threads and guides out there for you to get started.
Before we start, I have to say that this post would not be possible without the help of my Royals teammates @abh89 and @Z-Whiz. They have been invaluable in providing critical feedback, helping me test this utility at different resolutions, and keeping me sane while fixing various bugs in the early stages of development. If you’re not familiar with our team, London went 2-6 through the first eight games of the DSFL schedule before going on a five-game winning streak to clinch a playoff spot. During that time, abh89, Z-Whiz, and fellow rookie @crow19 have become heavily involved in simulating a variety of different strategies (hundreds of repetitions per week? thousands?) for our team to give us the best chance of winning, so I’ve created a little script to make this process more efficient. As an aside, I really believe that we have implemented a great base in London for rookies to get involved and stay engaged, but enough doting on my team for now.
As a point of reference, let’s talk a little bit about the current unofficial process for simulating batches of games. After setting your depth chart or updating your strategy, what you are probably doing is using a program called ‘Auto Clicker’ / ‘AutoClickers.exe’ to click the Sim Game button, dismiss the results window, and repeat ad infinitum. Like this--
This is obviously far superior to manually running a large number of tests. You can just set the program to run for a few hundred trials, leave your PC, and come back to see the results of your test. That’s the classic appeal of an autoclicker, but there are a few limitations--
So let’s talk about the additional functionality and what you’re seeing here.
Disclaimer: For your first attempt, I’d only run it with 5 or so games in case anything weird happens. Part of the loop closes a game window by pressing Alt + F4, and I don’t want to be responsible for closing everything on your desktop if you somehow hit Alt + F4 a ton of times consecutively. As I said, we’ve tested this on runs of up to 1,000 without that occurring, but just try it out with small runs until you’re comfortable with how the script works. It's closer to a one size fits all approach, but I can't say we're 100% there yet. Maybe one size fits most.
Let me know what questions you have. ‘Til next time!
----------------------------
Also, I wanted to include my thoughts on the DSFL running back meta here. It’s currently buried in the Ultimus Week task--please check it out if you missed it!
I'm not entirely sure this topic fits within the series as it’s not directly related to understanding the source code of Draft Day Sports: Pro Football 2016, but I’ve decided to include it because it can help us test various theories and build ideas (and because it’s the most interesting sim-related topic that I’ve been working on lately). The target audience for this post is users that already have a bit of experience in working with the sim--if you are brand new and just looking to start experimenting with the sim, there are probably better threads and guides out there for you to get started.
Before we start, I have to say that this post would not be possible without the help of my Royals teammates @abh89 and @Z-Whiz. They have been invaluable in providing critical feedback, helping me test this utility at different resolutions, and keeping me sane while fixing various bugs in the early stages of development. If you’re not familiar with our team, London went 2-6 through the first eight games of the DSFL schedule before going on a five-game winning streak to clinch a playoff spot. During that time, abh89, Z-Whiz, and fellow rookie @crow19 have become heavily involved in simulating a variety of different strategies (hundreds of repetitions per week? thousands?) for our team to give us the best chance of winning, so I’ve created a little script to make this process more efficient. As an aside, I really believe that we have implemented a great base in London for rookies to get involved and stay engaged, but enough doting on my team for now.
As a point of reference, let’s talk a little bit about the current unofficial process for simulating batches of games. After setting your depth chart or updating your strategy, what you are probably doing is using a program called ‘Auto Clicker’ / ‘AutoClickers.exe’ to click the Sim Game button, dismiss the results window, and repeat ad infinitum. Like this--
This is obviously far superior to manually running a large number of tests. You can just set the program to run for a few hundred trials, leave your PC, and come back to see the results of your test. That’s the classic appeal of an autoclicker, but there are a few limitations--
- There is a single, global variable sleep timer between clicks. This means that your delay setting has to be set to the maximum value necessary, and it happens between every click.
- The whole array of clicks must occur for every loop, meaning that the AutoClicker is only capable of completing the exact task and can’t do anything else.
- Since the AutoClicker relies on mouse coordinates, a ‘one size fits all’ approach is not feasible due to different screen resolutions, multiple monitors, etc
So let’s talk about the additional functionality and what you’re seeing here.
- The GIF starts on the configuration menu. This is to demonstrate that the ‘Enable Personalities’ box is unchecked.
- When the user kicks off the script via a simple keystroke, a menu appears where the user is asked to enter the home and away teams as well as the desired number of games to simulate.
- At this point, there’s no more user input required. Based on your inputs, the script takes care of running all of the trials. The number of sims is limited only by the game itself, but we’ve verified that it can handle up to 950 games without issue.
- Once the simulations are complete, the script checks the ‘Enable Personalities’ box, saves the configuration settings, and then exports the .csv file for analysis.
- This script is entirely customizable if you know or want to learn how to write AutoHotkey scripts. This means that different delays can be set between different steps to optimize speed--in fact, the demonstration has actually been slowed down a bit for visual effect. If you really crank up the speed, you won’t even see the game window appear, but you won’t suffer any loss of data.
- The user no longer has to remember to handle the pesky ‘Enable Personalities’ box. That’s all taken care of by the script. The user just needs to open the league file, set the strategy as desired, and kick off the script to get an export of several hundred files in just a couple of minutes.
- The script does not use targeted mouse clicks! This has all been completed via keyboard shortcuts. Hopefully this will allow for a more global approach that does not require you to tinker with the settings before running the script.
Disclaimer: For your first attempt, I’d only run it with 5 or so games in case anything weird happens. Part of the loop closes a game window by pressing Alt + F4, and I don’t want to be responsible for closing everything on your desktop if you somehow hit Alt + F4 a ton of times consecutively. As I said, we’ve tested this on runs of up to 1,000 without that occurring, but just try it out with small runs until you’re comfortable with how the script works. It's closer to a one size fits all approach, but I can't say we're 100% there yet. Maybe one size fits most.
Let me know what questions you have. ‘Til next time!
----------------------------
Also, I wanted to include my thoughts on the DSFL running back meta here. It’s currently buried in the Ultimus Week task--please check it out if you missed it!