As the interest for speedrunning in the popular videogame Minecraft has spiked in recent years, the usage and development of external software and tools have increased in growth as well. Like many of my projects, I tend to create them as a challenge to either code in a new environment or, in general, develop tools that I think would be useful. The following project is an example of such a challenge that spiked my interest. The project was successful, and I chose to make it available through open-source on my Github page (linked down below).
The software provides multiple different functionalities that help the user find the stronghold structure in the videogame Minecraft. By pressing the hotkey, the software automatically screenshots the game window and reads both the player's position coordinates and view angle by using the Tesseract framework and custom-made training data (specific for the Minecraft font). Keep in mind; the program doesn't interfere with the running game in any way (It doesn't read memory address from the game). The tool allows the user to:
→Choose more specific what game window to use by listing all the currently running processes filtered by their name and relevance to the "Minecraft".
→Bind custom hotkeys that will execute the process and get the player's current position and view angle.
→A graph will showcase the stronghold rings, the estimated stronghold position, and the total distance from the user's current position (in blocks). Stronghold rings are ranges of coordinates within the overworld in which the stronghold can be found.
→Option to enable automatic update of the user's position on the graph, with custom choice of interval (standard 10 sec). This also includes a reference line that helps the user know that they are heading in the right direction.
→Option to customize X, Y, Width, and Height used by tesseract to read the coordinates and angle. This also includes the functionality to update and read what's on-screen in real-time (so you know the inputted values are correct and tesseract reads the correct numbers). Keep in mind, to change these values, you will need to check the "MODIFY" checkbox in the right top corner, and you will need to press "save" to save these for the next time). The "switch" button allows switching between values in pixels or in percentage (in reference to the game window dimension).
→Everything is saved to an XML file, so the user doesn't need to repeat the steps each time they start the program