Hi all, after coming upon this forum and reading some of the posts I have decided this would be my best place to go for help and info. Well first off I’m a 3rd year CS major and have fairly extensive C/C++ experience. I came here looking for help on a question that has been annoying me and some other friends of mine regarding ASM programming. So without further ado here is my dilemma.

I play a fairly new and very large online MMORPG that I won't name in the forum, in which you control a virtual character of sorts, and fight various enemies. Certain enemies referred to as NM’s or HNM’s only spawn at various times and therefore have many people that wait (“camp) their location, so that they can win the pull and kill the monster for it’s rare items. Well somewhat recently there has been a new trend emerging of using a “bot to pull the monster for you, often without you even being there (helpful for very spaced out spawns), and with ridiculous speed (often they spawn, “claimed to others around). I’m not exactly sure what they are written in (I believe VB or C is probably used) as I don’t use one, nor do I plan on it, but you always hear people saying that if one could be written in a very low-level language such as ASM it would be the fastest possible. Now let me state right off the bat, that I have no intentions of trying to write or use one of these bots. However certain players on my server claim to have one of these bots written in ASM. Personally I don’t think it’s possible that this person could have gone through the difficult task of doing this, sense I don’t think he is that good of a programmer. Now what I’m looking for insight on from this community is exactly how hard is it to accomplish something like this using ASM? You have to take so many things into aspect. First the bot isn’t doing some simple task such as targeting a non-claimed monster quickly as soon as it’s visible and then executing the commands to claim in. A pull of this speed would have to be done by reading the incoming network packets, scanning through memory locations, to then decipher exactly where and when the monster would be spawning, and then sending in the appropriate network commands to pull the monster the very first possible second it is “pull-able on the network. Is something like this even plausible to be done with ASM? There are a few other factors that I have thought through as well, but aren't really worth the time, as I think that most of you that have read this far, understand the general gist of what is going on, in the situation I described.

Anyways to sum it up, all I’m looking for is just your opinions on this matter. Could this be done period? If it could be done, is it such an impossible task that anyone short of the absolute best ASM guru would have no chance of doing it? Lastly this is something that was just bothering me personally…. would this even be something that benefits from using ASM (going on the fact/opinion?? that since ASM is such a low level language, the exact same program written in C or VB, could be written in ASM, so that it “pulls faster) if both players had equal latency to the network, and identical computer hardware, or would there really not even be a difference in what language it was written in?

Thanks for your help, and nice to meet you all. :cheesy:

It is certainly no trouble at all to do Internet-interface programming in ASM. Take a look at the source code for Quetannon at http://flatassembler.net/examples.php for an example of using the WinSock API at low-level. I believe that bandwidth latency is going to be the biggest factor to determine who gets the goodies. So it probably isn't going to matter what language they program their bot in. A well-written ASM routine could better monitor and retrieve the particular bit of data faster than bloated, sluggish high-level code, but a multi-player, network-bound game is going to have many other factors determining its outcome. You might want to ask that dude if he also plays the game at the lowest-quality sound/visual settings so that it doesn't hog CPU time away from his precious bot so that it can have a better chance at being quick to detect the spawn.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.