haul: Route planner for EVE Online
EVE Online, often nicknamed "spreadsheets in space," is a multiplayer game where you explore, fight, and trade in a persistent universe. I’m still learning its complex systems.
Hauling Basics
Hauling covers everything from small arbitrage to massive fleet operations. This project focuses on smaller, informal opportunities in high-security space (high-sec). Key factors for choosing a ship include cargo capacity, align time, warp speed, hitpoints, and cost. Modifications can enhance these traits further.
This tool was designed around the Sunesis, a special edition ship given annually. With a 600m³ cargo hold, sub-2-second align time, 4 AU/s warp speed, ~10k HP, and a price of 20 million ISK, it’s perfect for high-sec hauling.
Risks in High-Sec
High-sec hauling isn’t without risks. Gatecamps and attacks at stations are common. The Sunesis’s sub-2-second align time makes it hard to lock onto, and its HP lets it survive one or two smartbomb rounds. Kill reports posted online help track hotspots, allowing me to adjust risk assessments dynamically. Ahbazon, a major system on the Jita-Amarr route, is a frequent pinch point requiring constant vigilance.
Major Trade Hubs and Routes
EVE’s economy revolves around five trade hubs: Jita (the largest), Amarr, Dodixie, Hek, and Rens. Hauling often involves buying at smaller stations to sell in Jita or distributing Jita’s goods to other hubs.
Using a custom map, I calculated the fastest routes between these hubs, factoring in time and risk. Despite Ahbazon’s risks, it’s the quickest route to Amarr. Another insight was that intra-system travel (within a solar system) is often slower than inter-system travel due to warp mechanics. Warp speed depends on factors like inertia and sub-warp velocity, while jump times are fixed.
Finding Arbitrage Opportunities
To find trades, I downloaded all high-sec buy and sell orders. After filtering for cargo below 800m³, I removed unprofitable options using a fixed transport cost. The remaining items were ranked by profit per cubic meter (profit/m³) and per ISK invested (profit/capital). From this, I generated optimized routes to buy and sell within cargo limits.
This process ran once to build an itinerary. Dynamic updates would be interesting, but I kept it simple. Market data updates every five minutes, and I initially included a sniping feature for high-profit trades. These were too competitive, so I later disabled it.
To speed things up, I precalculated all station paths. This worked well for steady routes but required manual risk updates. Automating this would be a worthwhile improvement.
Losing a Sunesis isn’t costly (20m ISK), but valuable cargo raises stakes. I capped cargo value at 100m ISK to balance profit and risk.
Lessons Learned
This project was a rewarding challenge. I learned OAuth 2.0, which I later applied professionally, and improved my methods for identifying arbitrage, optimizing routes, and caching data efficiently.
Creating a trade hub map was especially tricky. Travel times often violated the triangle inequality, requiring overlapping lines for accuracy. Even simplified to five hubs, the graph still had an overlapping line.
Building this tool was a fun dive into EVE Online’s economy and logistics. It combined game mechanics, data analysis, and problem-solving in a satisfying way. There’s still room to improve, like automating risk updates or refining maps, but this project was a great learning experience