Runescape was the all the rave when I was in elementary and partially middle
school. Setting itself apart from the entertainment crowd that included Neopets,
Maplestory, and adobe shockwave/flash game websites, Runescape commanded an immersive
MMO/RPG game within the confines of a browser via Java. But as with all games, you want
to be the bigger, better player; or in the case of Runescape, have the highest level in a
specific skill. Enter scripting. Scripting, against the rules of Runescape, enabled
automating tasks (like mining, firemaking, etc) so that your character would level up
while you were away from the computer. While a game killer, this earned bragging rights
amongst friends, and ultimately, popularity.
The Start
As a scripter, you would use an API from a handful of providers that did
the hard work for you (figuring memory locations, providing hooks, etc). All you had to
do was write the actions you wanted to character to perform (like, walk to a location,
click specific interface icons to use items, or do actions). With a huge community and
tons of example scripts, getting started was a matter of copy-pasting lines and
compiling. This was a great dive introduction into programming as you had tangible
products from the get-go. The curiosity of performing different actions, or figuring
out ways to get around anti-scripting methodologies employed by Jagex (Runescape's
creator), led to the improvement in my programming ability. My motivation was no longer
to have the most powerful character, but rather, have the most useful and widely
known scripts.
My Contributions
I started this adventure into scripting when I was in the 7th grade. By the time
the scene quieted down some 4-5 years later, I had more than 250,000 unique users use my
scripts, at a peak of 10,000 unique concurrent users. I created a total of 8 scripts
which each focused on a different skill within the Runescape realm, with two flagship
scripts garnering ~70% of my userbase. As the exhilaration of creating the biggest and
best script pushed me to expand my scripts functionality, the technology turned away
from in-game features, to out-of-game features like metrics, analytics, and stats
tracking on a personal website, throwing me into database management, front end
development, and back end development.