balketh

Eggbug was here. Eggbug mattered.

Goblin Party @ My Brain 24/7 | A week shy of 33 before Cohost closed. Cis, ACAB forever, Trans Rights Are Human Rights forever.

RIP Cohost 2024. You were the best social media site to have ever been done. Long live eggbug. If you're seeing this in the future, on some archive, be kind to others. It's the only way things get better.

Links in bio.



It's one of those cases of 'implementation and maintenance time cost' vs 'total benefit gained' situations, but...

I'm so tempted to just get drawn back into writing extensive AutoHotKey scripts - AHK programs, effectively - to the extent of making a whole, custom macro tool. Logitech's software is... Getting less and less tolerable, and I'm pretty certain I could just make a script straight on top of a stable config for it that won't interact with its macro tools, and just like, usurp the handling of macros.


I did this way back in the day when I first played Sunless Sea - like, early patches. It was a set of dynamic automation scripts to help automate the Salt Lions trade run regardless of its location (before they capped it), and to automate the Mirror-Catchbox fill-trade run (also before they capped it). I called it The Shaggy Quartermaster, and IIRC it even had settings for loops. It worked by a very early/rough implementation of image-search, allowing it to work pretty much regardless of the resolution, position of game windows, etc. There's way faster ways to do just that now, like, suuuper powerful, just in basic-ass AHK scripts, buuuut...

It's a loooong-ass project. The bare minimum is many features - record/save/replay macros with a lot of configuration, like being able to record a macro that can then be played back in multiple changeable ways such as playing back a just-recorded macro but now with uniform timings between each action of a given value, or the original values reduced by a given percentage, while sitll retaining the ability to play the original macro if desired. Being able to (as a benefit of using AHK) reclaim buttons on my keyboard that can't be rebound via Logitech's software - being able to bind the scroll wheel as something outside of volume! Or even configurably outside of volume, such as with a modifier! The ability to chain together saved macros, have them only fire when a desired window is in focus, the ability to easily access and change these things!

I even got as far as building UI for The Shaggy Quartermaster. In AHK. Just straight up juryrigging a whole-ass program out of a script manager. Probably not the most efficient way of writing that kind of thing, I guess, but AHK was weirdly easy for me to learn, which is always a plus for me; didn't have to wrap my head around object/class situations, or, y'know, even more advanced shit than that.

It begs the question, I suppose, of whether there's a better method out there or not? Is there something more suitable for this task than AHK, that doesn't require picking up a whole new programming language? There might also be unsuitable limits to extensive AHK scripts. Not sure. Just pings around my head a lot.


You must log in to comment.

in reply to @balketh's post:

Is there something more suitable for this task than AHK

Yes.

that doesn't require picking up a whole new programming language?

Ah.

I was in your boat once, with an elaborate script written in AutoIt to scrape furaffinity.net for porn. When that whole mess (my script) collapsed under its own weight, I rebuilt it in Qt (C++) with Python as a scripting language. That program works so well that it still runs twelve years after I first wrote it!

Yeeeeaaaahh. I don't know what it is, but I've yet to grasp anything beyond very basic, "naturalistic" programming, regardless of how advanced I seem to get in it. I've never had an object-oriented language click for me; not enough that I can expand beyond whatever tutorial I'm following.

I got pretty decent performance off AHK despite some complexity, and there's no intent for any kind of remote or online functionality, it'd be entirely local, but yeah, I do potentially foresee performance problems down the line.

Makes me kind of wish there was a game like Bitburner for other languages. I picked up proficiency pretty quick in whatever version of JS it uses; in a very responsive and goal-focused framework I can get Far, which is I guess why AHK also worked really well for me - didn't need a project-killing amount of fundamentals to do enough.

Tough problem. Thanks for chiming in. Glad to hear your software has remained robust!