@Murderburger shared a question about an EVE Online mining bot:
I explored and added an implementation to add this to the display:
In this video I explain the development process:
@Murderburger shared a question about an EVE Online mining bot:
I explored and added an implementation to add this to the display:
In this video I explain the development process:
Jim @ElHefe shared an improvement to EVE Online mining bots here:
This gives an app-setting that lets you define what you want the threshold to be. It keeps the default at the original 99%.
When I have a 7000 capacity in my Ore hold, and my ice miners cycle at 1500 each every two minutes, I donât want to waste two minutes every round trip for the last few percents to fill up.
Several people asked about adding defense functionality using drones to EVE Online mining bots. We had people come up with different approaches to defend against rats, and these resulted in various implementations.
Now I made this video of a more recent variant, explaining how it works and showing all the programming:
The merge commit with the code changes is at Merge - add drones defense for EVE Online mining bot ¡ Viir/bots@485cec1 ¡ GitHub
Today I updated the botengine reactor and the catalog.
In the view of online sessions, you can now directly see the beginning of the description of the app used in that session. You can see this, for example, in the list of most recent online sessions:
People reported problems with composing the commands used to run apps with non-default settings and running those commands in the Command Prompt. The catalog can now do this for you automatically. All you do have to enter your settings into the input fields. The system then generates a script for these settings that you can download and execute via double-click from the Windows explorer.
The settings you enter here are stored in the URL in the web browsers address bar, so you can bookmark your settings or share it with others.
This new configuration interface is automatically available for all bots you published on the catalog; you can open the tool using the âď¸ Configure app
button in the catalog entry:
I updated the example projects for EVE Online to improve app settings. Last weeks changes benefit both users and developers:
Common.AppSettings
module contains building blocks to help with parsing and generating specific error messages to guide users of your app. As shown in the example projects, apps integrate the app settings parsing and validating using the new parseAppSettings
field in the framework function to compose an app.Allan shared a new feature for the EVE Online mining bot with us: This version he published on Github docks to structures:
You can run this mining bot from FrontendWeb.Main
To make finding bots and other artifacts easier, I added this search box to the catalog today:
The search box lets you filter published artifacts by their description text, tags, the names of authors, framework version, etcâŚ
Today I expanded the guide on developing for EVE Online. The newest chapter explains the overall app code structure and data flow.
Here is a direct link to the new chapter: bots/developing-for-eve-online.md at 56333a44d00364cb9a45558faa6600a26b7212de ¡ Viir/bots ¡ GitHub
Cameron shared an improved version of the EVE Online local watch intel tool: His version sounds an alarm only when a new pilot with bad standing appears.
You can find his version here: FrontendWeb.Main
Credits also to @Terpla for sharing sample data for reading the pilot standings from the game client, the basis to develop the reading functionality in the app:
@Kawz helped to make the most popular bot even more robust. They discovered a scenario were the Tribal Wars 2 farmbot did not work correctly. This bug caused the bot sometimes not to see all owned villages, which in turn resulted in farm cycles ending too early.
Based on their report, the root cause was identified quickly, leading to fixing the code and version 2020-07-06 of the farmbot.
Debugging apps for EVE Online became much easier this week.
Have you ever wondered what the bot did when you werenât looking? What kind of NPC destroyed your ship? Or maybe it was another player? The time machine helps you answer these questions.
The development tools introduced this week help us travel back in time to examine past states of an app and see what happened in the game at that time. Using this tool, you also have a new way to check if the code you wrote worked as expected. I added the section âObserving and Inspecting an Appâ to the guide on developing for EVE Online, explaining how the new tools work: bots/developing-for-eve-online.md at f69463028e163511e870ceb03c2885d7f582de91 ¡ Viir/bots ¡ GitHub
@BrianCorner explored how you can repair your ship in EVE Online.
Adding this behavior to your bot means further reducing the time spent on manual maintenance.
They also provided the training data for the parsing of the repair shop window from the game clientâs user interface. The parsing framework now has a guide to this window in the new repairShopWindow
field:
There is a new video for EVE Online developers:
Here we take a look at how you make a bot see anomalies and other pilots in the overview. You can use the functions introduced here to get more information about your surroundings in the game. These building blocks are also useful if you want to make your bot remember in what anomalies it found other pilots on arrival.
Also interesting for developers in general: In this video, we also see how to use simulations to quickly test new reading and parsing code without the need to start a game client.
I have news for developers regarding app-settings:
You can now use line-breaks to organize settings strings for your apps. Version 2020-08-07 of the botengine for Windows supports encoding line breaks as \n
in the app-settings string. To make it easy for users to compose these strings, the configuration interface on the catalog entries for apps now contains this multiline textbox for the app-settings string:
To see how to adapt your app to support the line-breaks to separate assignments in the app-settings, see the example projectsâ changes at Improve readability in app-settings ¡ Viir/bots@1ab3cf1 ¡ GitHub
Version 2020-08-14 of the botengine for Windows brings a new feature to simulations.
When developing a new feature for your app, you sometimes want to add a new app-setting to let users configure that feature. But how do you test this with a session replay? The app-settings are defined in the session events, so we donât want an exact replay but one with modified events.
To make modifying the app-settings events easy, the simulate-run
command offers the --replace-app-settings
option. When you use this option, the engine replaces the app-settings string with the new value for each app-settings event in the loaded session, before giving it to the app.
Forgot to mention this earlier: @Threepwood shared numerous functions for parsing the user interface of the EVE Online game client. Many of these support running missions, including reading the agents in the station window and information about the current solar system. You can see the new parsing functions here:
There is a new version of the AppSettings
module to build configurable apps. The latest version provides more specific and more detailed error messages when parsing settings strings, so users donât get stuck trying to figure out the configuration.
What is the AppSettings
module? Many apps support configuration with an app-settings string like this:
anomaly-name = Drone Patrol
anomaly-name = Drone Horde
hide-when-neutral-in-local = yes
rat-to-avoid = Infested Carrier
The AppSettings
Elm module contains functions to parse settings like these, to get the individual assignments and finally transform them into a strongly typed value that you can use in your bot decision logic:
type alias BotSettings =
{ hideWhenNeutralInLocal : AppSettings.YesOrNo
, anomalyNames : List String
, ratsToAvoid : List String
}
But the role of the AppSettings
module is not limited to parsing. It also generates error messages for the user if they try to enter settings that donât match your app.
This week I got around to examine that module and improve the messages to guide users on how to configure your app.
The parseSimpleListOfAssignments
function now provides users with several new messages that are more specific than the older ones.
For example, in case we misspell the name of a setting. In this case, the app automatically identifies the most similar setting name and also lists the available setting names. Here is the full error message from parseSimpleListOfAssignments
:
Failed to parse these app-settings: Unknown setting name 'rat-avoid'.
Did you mean 'rat-to-avoid'?
Here is a list of supported settings names: 'anomaly-name', 'hide-when-neutral-in-local', 'rat-to-avoid'
(In case you see a particular way of misspelling appear frequently, you could also define it as an alternative name for the same field)
I updated the example apps to use the new version of the AppSettings
module. You can see the code changes here:
I got around to compiling a guide on running bots on multiple clients. It describes the most common type of multi-client support and how you use bots following this approach. You can read the full guide at https://to.botengine.org/guide/running-bots-on-multiple-game-clients
@Neled77 expanded the libraries for developing for the EVE Online game client.
Neled had a look at the EVE Online game client and collected training data for the fleet window and watchlist panel to help you keep track of other pilots:
The resulting new shortcuts to these UI elements are useful for a lot of multi-account players.
For more information about these parts of the games UI, see
https://wiki.eveuniversity.org/Fleet_interface#Fleet_Watchlists