Monday, June 8, 2009

A break...

I've been posting every day for a month or so and I've decided to take a bit of a break. I've got an anniversary coming up this weekend and priorities are shifting into the Domestic area of life. I'll be back in a week.

Saturday, June 6, 2009

The Macro Hauler experiment continues...

I’m using autopilot to move between systems. I know, it’s not really efficient but it is effective. Today or soon (haven’t decided which) I’m going to implement the “sniff a bunch of points” concept and once I do I should be able to set a destination, and then intelligently warp to zero all the way there. That will significantly increase the speed of my agent.

But speed doesn’t matter yet; I’m still in the “Prove this will work” phase. After adding some more code so that I don’t deny courier missions (any of them, this time) the agent seems to be working like a champ.

I need a task list.
* Create a Warp To Zero function, and put it in your master class, which will replace your autopilot code
* Test the Hauler Agent on level 2 courier missions
* Eventually you’re going to have to test a missions not only for “Is it a courier mission” but also “Does it go through low-sec.” Don’t forget this – it could be embarrassing!
Yeah, there’s probably more I’m missing but I’m tired and I’ve been staring at the computer for too long.

I’m up to about 500 million ISK now, a new high-water mark for me. The courier missions have slowed my income a lot…I make a pittance on them, and for ISK they’re a real waste of time. At least, the level 1’s are.

Friday, June 5, 2009

Hauler works for a while, then breaks...

So I ran my Hauler Agent last night and got about 40 missions done before it crashed out. Well, it didn’t technically crash out; technically it right clicked in the wrong place and then crapped out. I’m beginning to think that the “sniff a single point and then react” process isn’t the ideal solution for EVE and perhaps a “sniff a bunch of points, and wherever it equals X, that’s the point you want” process will work better. The location of data is, generally, always in the same place with EVE, but it’s often a few pixels different between one iteration and another. This is because a mission’s title is two or three lines long, instead of one. Or a system’s name is so long it causes the click point to wrap around three lines instead of two like you coded for.

So I think I’m going to write a function that has an upper left bound, a lower right bound, and a “test color” variable. Then I can basically say “If you see this color inside this rectangle, then give me the point that equals that color.” Easy as EVE!

So how much corporation faction did I gain after 40 missions? I lost about .2! Why? Because of a glitch, which only occurred on missions whose names are longer than two lines long. The extra line caused my test points to be pushed too far down, and so the agent didn’t recognize it as a courier mission. Still, I managed to get 2 empire faction missions and after I completed them I gained about .2 empire faction. Slow, I know, but it’s the beginning. Things are always slow in the beginning!

Thursday, June 4, 2009

I'm not really a coder, I'm just a quirky MMO player...

I ran into several technical difficulties last night while I was debugging my Hauler Agent. I know that most people think that EVE’s an easy game to write programs for, but it really isn’t. There’s a million different ways the developers twist up the user interface to prevent it from looking the same way over and over again. You don’t notice it as a player, but when you start NEEDING the interface to be consistent it becomes an issue. For instance, it took me three different if/then statements just to determine if I had just been offered a courier mission. And then, for some odd reason, sometimes an agent will leave up the missions window and you can just read it without having to reopen it. Then, other times, they close the window and you have to click “View Mission” every time you dock. Why? Probably just to give me a headache.

So these difficulties have slowed down my development. I can complete a courier mission, start to finish, right now if all the stars align (puns make me smile) but that’s pretty rare. The agent usually breaks about halfway through, either deleting a bookmark (instead of warping) or failing to warp to the correct location.

But it’s not a total loss so far. This was the first time I’ve written a new agent from scratch and I was able to make huge structural improvements to the program. Instead of having all the code in one long function, I created several small functions. This made it a lot cleaner and easier to write, and has lead me to think that I should create a sort of “master” class. But that’s an issue for another day.

Wednesday, June 3, 2009

A Macro Hauler is....what...exactly?

I’m disappointed with EVE Wiki. Why? Because I expected it to be able to tell me what a Macro Hauler was. Instead I had to go and figure it out for myself and, frankly, I’m not 100% sure I understand what it is.

Best I can tell, a macro hauler is an application that automates courier missions in EVE Online. And, I’m about a day away from completing mine.

I didn’t even realize what I was doing, which is a pretty common thing for me. The way my mind works, I envision what I’d like to do and start figuring out the best way to do it. The only reason I even bothered looking at what a Macro Hauler was, was because I was (jesus, how many times can I use “was” in a sentence?!) researching courier missions in general. I was looking for a way to quickly increase my faction standing with an empire, and it seems the only way to do that was to do a LOOOOOT of missions. Well, then I was thinking “How can I do a lot of missions, without having to work on it? Oh, right, duh, I’ll make another agent!”

Turns out that that’s what a Macro Hauler is.

So I spent several hours yesterday coding it up and testing it out. I’ve got it to the point where it will accept a mission, check to see if it’s a courier mission (if not it declines it and asks for another) undock and start flying to the correct stargate. Just a few more steps, a lot of which are simply the reverse of what I’ve already coded in this agent, and I’m done. Yay me!

Once I get my faction up to 5.0 I’ll find a nice little spot in .5 space and set up my first POS. Hmm….I should start planning that out too so I have the resources on hand. See you next post!

Tuesday, June 2, 2009

A new agents was born...

A little while back, I defined what some of my short, medium, and long term goals were. Well, with well over 500 million ISK, I think it’s time to start planning on completing those medium term goals.

Sadly, in order to do so I must raise my empire faction to, at least, 5.0. And, being the lazy fuck that I am, there’s NO WAY I’m going to do that by hand…so it sounds like it’s time for a new agent! Hmm…I wonder what I’m going to call it…

Tonight I’ll be running a few missions by hand in order to work out a process for this new agent. I’m fairly confident that I can code this solution in about a week, but I’m a little lost on what kinds of missions I should code for. I know that I want to use an agent who only has 2 types of missions because that will reduce the variability (decreasing the amount of code I have to write) so Astrosurveying, Mining (I know, ironic, right?!) and security are off the table immediately.

That leaves only Kill and Courier mission types and I don’t know which I would prefer to do. Courier missions are very straight forward so I think I’ll lean towards them for now and see how it goes. It kind of sucks that I can’t JUST do courier missions, because that would make life a lot easier.

Hmm…I COULD code it to just keep denying missions that are not couriers. With an agent type that gives me a 95% chance to get courier it’s going to be highly unlikely that I’ll have to decline many missions. But, I don’t like the thought of declining missions just on principal, ya know?

Welcome to the joys of coding AFK Agents – lots more questions and doubts than answers at the beginning.

Monday, June 1, 2009

Answering CrazyKinux's

Today’s post comes to you via the blog challenge posted over at CrazyKinux's Musing. This is an answer to his #7 - "What 3 things haven't you done in EVE and why? Would you be willing to try one day? Why so? Why not?"

Thing 1 – Pirating. Up until recently I really haven't had the resources to effectively enter low sec space, let alone pirate there. Now that I do, I still see no reason to go there and pirate - why would I want to grief random people who did nothing to me? /shrug

Also, since I'm a loner, it doesn't seem like pirating would be particularly effective. I MAY decide to level up my stealth skills eventually and grief a miner in order to influence low sec mineral prices, but that's not really likely.

Thing 2 – Enjoyed a fan-made video. Now, I do NOT want to be insulting here – I appreciate all the time and effort that goes into making a video and I realize it is not easy work. I just don’t enjoy them. At all. Not even a little bit. To me they all look exactly alike and I can rarely understand what’s going on in them. Again, this is probably a “me” problem but, well, I guess that means I just can’t or don’t enjoy them, ya know? There is ONE video I found interesting, now that I write about it some – Bumpageddon. But even that video was only exciting because it involved miners, griefing, and bouncing ships. Outside of that, as my wife says, “EVE always looks exactly the same. It’s a ship, on a black background, over and over again.” That does not make for entertaining videos.

That said, I may actually make an EVE video one day, but only to show off the awesome that is my Agent. Of course I won't be expecting anyone to be impressed with the cinematography or anything like that; it would only be to show what the Agent is capable of, how quickly he works, and how he can recover from bumps/losing targets etc.

Thing 3 – Corporation management. I’ve never run a corporation because that would require working with other people, and frankly, I don’t like other people. Still, I may do it one day - if I become a paraplegic.