This is a little program I've whipped up to help track my experience gain to try to find the best routes. I have put some work into cleaning it up to find the best exp routes for when 1.0.5 rolls around.
Very early alpha version available:
xplogger-d3 - Screenshot analyzer for route optimization - Google Project Hosting
Check the downloads section. Source code is uploaded using SVN and is available to the public. This project was developed in Eclipse RCP version 4. It uses many Eclipse libraries, and a couple of public 3rd party libraries (guava, etc.) as well as a utility library from work. At the moment it is currently bound to the Eclipse IDE. If you are interested in understand the source but unfamiliar with MVC/MVP, you're probably going to have a bad time! (just ask)
3 requirements:
- you NEED (REQUIRED) Java 7 32-bit. java 6 does not provide hooks to get event notifications when a file is created on the OS
- you must install tesseract. grab it here
- the game must be run in 1920x1200. support for other resolutions will be added later
This is an early version. The core functionality works, but errors may exists.
Please leave feedback, questions, and comments.
How to use:
1) start up the program (eclipse\eclipse.exe)
2) select your screenshot directory, and hit start.(C:\Users\USERNAME\Documents\Diablo3\Screenshots)
This will start the process which watches for screenshots being created in your screenshot directory
3) at the beginning of your run, take a screenshot with your mouse hovering over the exp bar. this will give a starting time and value for the run.
4) take periodic screenshots with your mouse hovering over the exp bar.
Thats it, when the screenshots are created, they are analyzed and compared against your previous exp values and screenshot creation times. It should even continue to work if you level up during a run.
Each row in the table is considered a run. A new run automatically begins when it reads two screenshots with the exact same exp amounts, or you can simply click the new run button.
Example usage: If you were running Alkaizer's run in act 3. You take a screenshot when you first start (Core of Arreat), then another at the start of each of the zones (damned, keeps 2, bridge, crater 2), finally port back to town and take the last screenshot. the info for this run will be updated in the table as you take each screenshot.
rinse, repeat to infinity.
The stop button kills the thread which is watching for the screenshots being created. The clear button simply removes all data from the table.
NOTES: if you take a screenshot without your mouse over the exp bar, that screenshot will simply be ignored. the program tries to parse text in the center of the screen just above the exp bar.
Explanation of the following image:
- each row is a run. this is a log of me doing alkaizer's run 5 times
- each column represents a different zone. parsing the zone names from the top right doesn't work well since the background can contain artifacts which makes it difficult to use OCR
- the values contained within the cell are experience and time spent
- Experience is measured in the millions. Likewise with exp / hr
- the rows marked 'avg' and 'xp/hr' are the summed values for that specific zone across all runs. (i.e. in the first column, those two values represent the average exp gained, and experience gained per hour for the core of arreat)
No memory reading is used in this program. This simply analyze's screenshots in a specific directory.
Alternatively, you may specify a directory, hit start, then copy the screenshots (one at a time) to that directory. Windows usually copies files in reverse order if you copy/paste multiple images.