archive by month
Skip to content

both DLL and EXE?

A question for bot authors.

One of the changes Dave Churchill made to UAlbertaBot after I forked off Steamhammer was to make it work either as a DLL with direct access, or as a separate EXE. For running in a competition I think the DLL is more natural, because it should have lower overhead. But there are reasons to prefer the EXE. Dave Churchill said that it made his debugging much easier, and he strongly recommended the change.

For my debugging style, I don’t see an advantage. I could borrow code from UAlbertaBot, and unless I’m missing something it wouldn’t be much trouble to implement. Nevertheless, I haven’t been in a hurry. But maybe I don’t get it, or maybe I am some kind of freak. So my question is:

Do you see it as a useful feature? I expect I could implement it for the version after next, if people want it.

Update: After painstaking examination of the quantity and tenor of the comments, spending entire seconds of deep concentration on the task, I conclude that there is other than a groundswell of support. Steamhammer will stay DLL only.

Trackbacks

No Trackbacks

Comments

Ankmairdor on :

It seems to me that the benefits of choosing one over the other are unclear, and the way to implement either way is something I haven't needed to care about. I recall hear-say on Twitch that EXEs didn't get properly restricted by frame time-limits. I simply used Dave's bots in their default configurations. While the ability to quickly switch between DLL and EXE might be useful (at least, until bwapi 5.0), knowing more concretely about how they work and the benefits would be better. I think it's pretty low priority as a feature, but if you do it then be sure to include a read me somewhere obvious otherwise it won't be used.

MicroDK on :

More or less a useless feature. Work on anything else like macro. micro, opponent model, recognizer or bugs fixes... or a decent production BOSS for Terran and Protoss. ;)

krasi0 on :

One advantage of having your bot run as a client (EXE) is the ability to use a newer / non-standard C++ compiler or even a different language. That was my main motivation for switching to EXE a few years ago.

Add Comment

E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Form options

Submitted comments will be subject to moderation before being displayed.