About the jumptoolsFor many years, EvE has known travel between systems via stargate; there were several ways of navigating along these familiar paths. With the dawning of the age of Capital Class Combat ships, their tremendous size, mass and “jump drives” physically restricted them from even utilizing the known stargates and routes. In the glittering light of this new technology, an underlying stain spread slowly through the ranks and employers of those first Capital Class Combat pilots; the embarrassment of relying on antiquated measurement systems, self-coded programs, and sometimes just plain trial and error, to pilot a corporation’s crowning achievement from Construction Hanger to the front lines.
In the lesser-traveled backwater Galnet channels, rumors persisted that there was a tool under development that would change the way Capital Class Combat pilots would see the universe. Apparently after acquiring a comprehensive database of all known star systems, stargate routes, and their coordinates, a corporation involved in building the new capital ships had developed a programming solution to determine the distance between any two solar systems. By entering in the names of both solar systems, you could determine the straight-line distance between them. Since jump drives use straight-line distance, this was information that was critically important to the pilots of Jump Drive capable ships.
Based on the concerns of our own capital class delivery and combat pilots, it was obvious that improved solutions were needed. When jump capable ships needed to move long distances, it was difficult and time consuming to determine a possible path. As I analyzed the problem, I thought that f you could enter in the name of a solar system, and generate a list of all possible systems within reach of your dreadnought jump drive and your capabilities as a pilot, this would be a step forward in making an improvement in jump flight planning. It was at this point that I developed the jumprange tool tool. After a little testing, we released it to the pilots of EvE as an improvement to the existing distance tool developed earlier.
A friendly rivalry developed between our organization, ICSC, and Omega Enterprises, not based on competition in the manufacture of dreadnoughts, but in the tools to help pilot a jump capable ship. Shortly after release of the jumprange tool, Omega Industries fired back with their own version update; they had added programming to duplicate the jumprange tool, and upgraded their version to include a nice map.
Capital ship construction is a huge endeavor, involving many billions of isk in investments, contracts and logistics, to build a single ship. However, the number of organizations capable and determined to provide these ships to EvE pilots was small. Capital Ship construction was a new industry, the market was small, and the number of pilots capable of actually piloting these ships effectively was tiny, but growing. Alliances were involved in producing some ships for their own members, but construction times and the effort required were causing some hull supply issues internally. Also, there were few organizations focused on those pilots that were not members of the powerful 0.0 alliances, yet had the assets to actually purchase these ships. Marketing and sales were critical to the success of a capital ship building organization. As the jumprange tools became easier to use, customer traffic became a more important to the marketing and sales of Capital ships. Based on internal and external feedback, it was obvious that I needed to add a map to the jumprange tool, so I did.
The market had grown large enough to support many capital ship builders, all of varying capability, reliability and honesty levels. Things were slowly settling into a nice easy stasis… many Capital ship builders opened shop, and many more closed up shortly after they experienced the logistical nightmare that the construction process was. ICSC and a few other organizations were doing fine, things were moving along….
I was leaving the office late one Friday night and ran across one of our senior pilots. He was there late due to a particularly nasty jump planning session. We sat at the local bar and ordered up a bit of relaxation. After a cocktail or two, he got to the point.
“Elissen, we need a better tool for planning these deliveries. You already have a list of where you can go, pick out the one that is closest to where you want to end up, rinse and repeat. It can't be that difficult. All the coordinates are in the database. Are you admitting that you can not design a program where I plug in my starting point, my delivery destination, and what my capabilities are as a jump pilot, hit a button, and the shortest possible route is generated?”
I felt my face flush from the perceived slight on my programming skills. With an attitude and bravery born from that one extra vintage Nausschie Ale, I pushed off the bar stool and wobbled towards the door, doing my best to let him know how truly insulted I was. I shouted at him as I left the bar, “You lazy bastards make me sick… make up your freakin’ mind what you want!”
I ignored his dimwitted response, and yelled “You will have your damn tool by Monday morning!” as I slammed the door on my way out. Moron, it was never enough with this guy!
Leaning against the exterior wall, I mumbled to myself “Really now, how difficult could it be?”
And in my ignorance, I dived into the project. It turns out that this was the most underestimated project I have ever tackled… oh, and by the way, it was not ready on Monday morning.
“I don’t need no stinkin’ planning algorithms”, I just started working on the tool. After 1 or 2 evenings I had a tool that could plan a very simple straight- forward route, but when it got just a tad more difficult (i.e. you had to plan around some place you can't jump over directly) it would just crash. When it didn’t crash, it ended in a hell storm of errors, which apparently had no cause. When it didn’t end in errors, the mainframes sentry security would kill it after it used 30 seconds of the mainframes complete resources. That is when I started to read on algorithms and after a while settled on A*.
More then 100 hours of programming work later (most of it optimizing and tweaking code for maximum performance) the Jumpplanner is by far the most visited page on this server. It has been used more then 10.000 times in March 2006 (earth date); these are not just page hits, the jumpplanner has coughed up more then 10.000 routes in that one month. Considering the skills required to pilot these vessels, and the cost to build or buy one, this is a staggering number of routes for a very small elite fraction of EvE pilots actually capable of piloting these giants.
I am proud of the jumpplanner, and based on the effort that went into it, I am very pleased that it actually gets used.
I would like to thank my corp mates, in game friends and all members of the ICSC and especially my close friend Shard for their help and feedback during the development of both tools; without you they would not exist.