Showing posts with label hunter bot. Show all posts
Showing posts with label hunter bot. Show all posts

Sunday, April 27, 2008

Okay. =)

Well, 3 people commented in a month - which is enough for me, I guess. =P Plus who knows - more content means more search engine fodder, so more people might stumble across me.

So what have I been working on? Well I released the harvest bot (EverHarvest) and we've gone through several minor revisions, plus constant update when EQ2 patches and breaks the system. Some work has gone into two additional projects - AutoGrind (a hunter bot for EQ2, similar to Faldo's recently-abandoned EverHunt), and a project I'm calling 'GCB' - Group Control Bot, which will basically be an EQ2-smart multi-box helper.

AutoGrind is being implemented as an extension to EverHarvest; that is, the two programs will be contained in the same package, but still requiring separate licenses to activate. The reason I'm going this route is that the two programs are *incredibly* similar (walk around, target stuff, act on the targeted stuff) so they can share a great deal of code. Additionally, the two tasks can work in tandem - while you're harvesting, if you're attacked, it can attack back; or while you're hunting, if it targets a node, it can harvest it.

Group Control Bot (that's a working title) is, very simply, a program that allows you to control multiple instances of EQ2 (running on one or more *separate* computers) from one Master computer by sending commands from the Master computer to the slave computer(s). Unlike most generic programs which perform similar tasks, this one is EQ2 specific, such that it will understand commands like 'Target Me' or 'Move Behind My Target'.

Both projects are currently in their extreme infancy - GCB is mostly disorganized notes, while AutoGrind is a branch of EverHarvest code with a few modifications - nothing functional yet, or ready for beta testing.

Something I'm revisiting with the EH + AG project is the idea of smart pathfinding replacing the waypoint system. I did some early tests with this last year, with very limited success - I didn't understand how to build a Quadtree node connectivity graph (basically, for each square, finding that square's neighboring squares). I was using a *very* slow geometry-based method of comparing all the square's bounding boxes to eachother, returning a collection of all the squares that were touching.

As I said, I'm revisiting it - I rewrote my Quadtree implementation to remove most of the recursion from the methods operating on the structure, and did some additional research on the subject of node neighbor finding, such that I was able to construct a non-geometric solution to the problem that uses node traversal to find neighbors. This method is *far* faster, especially for large numbers of nodes.

I haven't yet written my A* implementation yet - doing some more research into this as my last attempt, while workable, was highly inefficient, as was my path smoothing algorithm (required for more human-looking path-walking).

So - that's what's been on my mind recently. =)

Thursday, November 29, 2007

Status Update

It's been a short while since my last update. Things have been pretty hectic around here, I have to say. Rise of Kunark really screwed us over in terms of Evercraft's compatibility with the game, though the changes that were made seem to be for the greater good. In particular the auto-configuring hotbar on the tradeskill window is especially helpful to us (as well as to all the non-macro crafters out there), which can only be a good thing.

In response to RoK's release, we've made several changes to Evercraft that amount to essentially a band-aid on the gunshot wound... We removed the Hotkey Setup step, taking full use of the new hotbar. We also did the Vista users a favor and changed the Coordinate Setup system such that it is *much* faster - near instant on Vista and XP machines alike. As a consequence of this change, Coordinate Setup is also easier to use - you don't need to mouse-over the white box anymore, and because we perform Coordinate Setup at the beginning of each job, the tradeskill window itself can be moved around - no more frustration! =)

The harvest bot beta was also disrupted by the RoK release, in particular the fact that the memory data collected was no longer correct, and with SOE's habit of patching on a daily basis for two weeks after a major release it made little sense to try and collect that data again until the game was more stable. I only recently got the bot running again, just in time to release the next version yesterday. As far as the hunter bot goes, I'm not sure what Faldo's progress on that is - which is a shame since I'm really anxious to see it working.

Work on the new pathing system is pretty much at a standstill while Evercraft is being worked on. All my proofs of concept still function and are relevant, but I just haven't had the time to devote to it. As such, I think I'm going to go against the majority of my beta testers (who have expressed the desire that I delay the release of the harvest bot in order to get the new pather working) and release the bot (once finished) with the walkpath pather instead.

One thing I am devoting some time to, however, is the next version of Autocrat, which will be built on top of the .NET Framework 3.5. Autocrat35 will be a massive improvement over the current version, but mostly in terms of developer productivity - that is to say, it'll take *much* less time to get something out the door with this version.

So that's been my life lately. =P Sorry for not updating sooner - just hasn't been on my mind until recently.

Saturday, October 20, 2007

Stage 1

EverHarvest Beta Stage 1 has begun! =) 25 beta testers have been granted access to this stage, where we test the methods the harvest bot will use to gather information from the EverQuest II client. This information gathering is critical to the functionality of the bot, and that made it the ideal place to start testing.

So far, so good! All of the testers I've heard back from have reported that Stage 1 is successful, and so I begin work on Stage 2 - the walkpath test.

More to come!

Tuesday, October 9, 2007

More EverHarvest Progress

Faldo helped me out today in-game with the player detection / node-stealing avoidance code, and I gotta say it works beautifully. smile_teeth I added a few more human-mimicking routines as well, all to help mask the fact that it's a bot we're running. All these tweaks will be optional, and set through a Tweaks dialog, which has yet to be written - Michael's going to start work on the bot's UI tomorrow, after I give him the details.

Faldo also showed me a quick demo of the hunter bot he's working on. If all goes well, we'll be offering it through Macrocrafter.com, and then everyone will get a chance to sample it. smile_teeth I'm really happy with how this partnership is shaping up - Faldo's an excellent hacker, and a great guy besides. A true pleasure to work with. smile_teeth

Ah well - I gotta run. It's past my bed time! smile_confused

Wednesday, October 3, 2007

EQ2 Core Interface

Faldo's making excellent progress with the EQ2 core. We're pretty much able to start work on the Harvest Bot right away - Hunter Bot progress will commence much the same way after the Harvest Bot beta is finished.

We're using very non-invasive methods of data gathering for the EQ2 Core code. Everything we're doing is done by reading into the memory of EQ2 - something that is very difficult to detect by the EQ2 client itself, and because the information we gather with this method is far more accurate than screen-reading, this system will be incredibly robust.

The Harvest Bot will be very simple at first. For setup, you'll need to adjust some EQ2 settings, set up a hotbar, tell the bot what nodes to gather from, and create a walk-path (or download one that someone else has made). A walk-path basically just tells the Harvest Bot where to walk within the zone - you create one by recording your path. You walk around, and the Harvest Bot's pathing engine will record where you walk, then when the bot is running it will play back the recorded path.

Once the setup work is done, the bot is ready to run - it will walk the walk-path, all the while looking for the nodes you specified during setup. When it finds one, it will walk up to it, harvest from it, then move on its merry way. Optionally, it will look out for other Players in the area of the node, and if it finds one within harvesting range, it will ignore the node - that is for preventing node stealing, which is generally considered to be rude and suspect behavior.

For the time being, more advanced activity like agro avoidance and the like will be left out of the bot, but we do intend on improving the software after release, so expect these features shortly after the bot comes online. =)

Wednesday, September 26, 2007

New Developments...

... quite literally. =)

We've recently had a new developer join our team - his name is Faldo, and he'll be helping us with a couple new EQ2 projects that we're just beginning to work on - namely, a Harvest bot and a Hunter bot. This may come as a pleasant surprise to some of you, who have been requesting such programs for, well, a long time... =) None of the work that follows will have been possible without Faldo, so please join me in welcoming him!

If all goes to plan, we should have a beta test for the Harvest bot available in a few weeks, with the Hunter bot beta following a few weeks after that. We'll be sending out an email regarding these two beta tests, so keep an eye on your inboxes!