Monday, August 20, 2007

Why create a bot?

Finally, I have created this blog. I wanted to do this for a long time now but keep delaying because of lazyness.

Anyway, like many people, I am a computer Gamer, currently playing World of Warcraft (WOW).

About a year ago, I started playing WOW because of my friends. We are a close group of friends playing C&C, Diablo since college. We just want to get the good memory back, and yes we had a lot of fun playing WOW together. Initially I started about 2 weeks late then my other friends, and that translated to about 10 level of difference (when we started). Oh God that 10 level is a huge difference. We tried to play WOW like Diablo II, but I just can't survive, you can't hurt mobs 5 level above you, that pretty much prevented me from playing with my friends! Yes there is a rest bouns, but since we are so new, none of us have much use of that. Also most of us are married and have a day job, so it is impossible to play the same style when we were in college (Yes, huge difference). Beside that, Wifes, Girlfriends all have huge impace too, so for us working class, there is no way we can spend more than 3 to 4 horus a day playing.

The initial excitment around WOW also caused major argo upon my wife. With the 3 to 4 hour of my life each day spend to WOW, I don't have much time with her any more. Well, I tried to get her to play WOW, but she doesn't like the 3D interface. The argo was so bad the tension is killing me (imaging half way in a dungen I have to hold all my teammates and go argo management on her).

WoW also has other interesting spots, like professions. Very usefull but very time consuming! One day while I was fishing, I got so bored and I thought, this should not be done by me, this should be done by a program! As a engineer major I was interested in computer programming since highschool, so a fishing bot is piece of cake. Basically image recogination (finally stuff learned in school became usefull). At the time I was not aware of any EULA etc, but since I am the only user this is no big deal. The result? fishing 300 without much argoing from wife Smile And ZoloFisher is born (At the time I call it WowFisher), if you are interested check out at http://www.zolohouse.com/wow/wowFisher

So why stop there? why not making a Fighter bot? I am no stranger at hacking, back in college years, I hacked school's network (appletalk share), various games. I still remember we laughed so hard one day when I helped my friend with a hacked c&c beat a much skillfull player, and of course diablo fix file offsets etc. I was a warrior with a ton of mana and a mana shell top of my head. One PKer with a huge axe tried to kill me, and got a huge surprise instead Smile

OK, long story short. hacking started. @#@$%^$E%! WTF?? This is not the old C style game any more, this is post Y2K DX9 MMORPG!! The hardware mapped memories, uses of std library, threads OMG. Well, I am no average programmer either, I have a wide range of interest, from how CPU works (back in high school, read that whole book), embedded systems, linux kernels , C/C++ to Java, C#, php, I know a lot of crap. This is certainly different than when I was digging RFCs, but presistance paid off (You will know what real presistance is if you are debuging on a 3 year old single core machine with a 5 year old graphics card, dumping 300mg of memory and analyzing on it).

With the initial link open, the rest is to implement a program to take advantage on it. All it remains is to read my position, and find the nearest mob, and keep pressing the same set of keys over and over till the mob is dead. I was so happy! I still remember the first day when I was testing out the turning, that was learned either from high school or mid school (tan, atan etc), at last have some real usefullness. why we need schools? The stuff I learned from school, beside reading and basic math, most are useless (Well, history is very important, if the teacher is good, you will learn the mistakes of your predcessors, if the teacher is bad, you learn the event and forget afterwards).

Well, that is pretty much how zoloFisher and zoloFighter are born. Wife still argos, but not as badly, most of the time I just need to setup the toon and check back once a while, and I am very proud of my work, so I decide to share it out. That was a hard process. If the product is just for you, you don't need to make it user friendly at all. Now it must be user friendly (that is good to me too, the initial row product is very very hard to use, even the waypoint has to be set 1 by 1). Also I found the EULA, and because the bot will be open for inspecting, proper hidden method must be used. To make the product flexiable, javascript engine from Mozilla is embedded so other engineer types can use it to customize the fisher/fighter to their own needs. Initially it is used to let people add their own whisper engine.

Well, I will stop here today, back to work now.
Panda

No comments: