RankedUps: A Client Requested Plugin
Introduction
Developing RankedUps came from a request made by a player in Torn, a text-based MMORPG. The goal was to create a script that gathered and organized information about weapons on the bazaar. This project was unique not just because of its technical demands, but also because the communication was facilitated by an intermediary, my sales assistant, an aussie girl. The actual player making the request lives in West Asia, which added an additional layer of complexity to the process.
This blog post will cover the technical challenges I faced while developing RankedUps, including intercepting HTTP requests, sorting and organizing the information, and designing a user-friendly display. However, the core of this project was understanding what the client truly wanted and ensuring that the final result was simple, efficient, and tailored to their needs.
Simplicity and Efficiency
The foundation of RankedUps was to make it simple and efficient for the end user to access valuable information about ranked war items. Here are the key points:
- Understanding the User’s Needs: The player wanted to quickly view weapons for ranked wars that were available on the bazaar, complete with bonuses and prices.
- Custom Grid Display: I created a custom grid that grouped and color-coded weapons based on bonuses and qualities, making the information easily digestible at a glance.
- Show/Hide and Copy Features: To ensure convenience, I added buttons to show or hide the table as needed, and a copy feature to export the table’s HTML.
- Price Formatting: To improve readability, prices were formatted in billions, millions, and thousands (e.g., 1.5B, 900M) for quick understanding.
These features were all centered around creating an easy and efficient experience for the player while maintaining clarity in displaying important data.
Key Points:
- The main goal was user-centric design—organizing information in a way that saves time and provides quick insights.
- Color-coding weapons based on their bonuses and qualities improved clarity and usability.
- Price formatting and copy functionalities were included to maximize ease of use.
Data Management
Managing data in real time was another major challenge. I had to intercept and parse the HTTP requests from Torn’s bazaar page to extract the necessary data, including item names, types, bonuses, and prices. This required careful handling of the fetched data to ensure accuracy and efficiency in sorting it into different categories.
Key Points:
- Data Parsing: The script retrieves weapon and armor data by intercepting HTTP requests, and filters out irrelevant items.
- Sorting Algorithm: Items are categorized into various groups (e.g., primary weapons, secondary weapons, melee weapons, armor) to allow for easy navigation and display.
- Optimization: I added sorting rules that prioritize certain items, such as armor, based on relevance (e.g., sorting armor by its type and importance in the game).
By categorizing the data and using optimized sorting algorithms, I ensured that users could easily navigate and find the items that were most relevant to them.
Before and After
Before:
After:
View the code and have more information on Greasy Fork
(It's not the actual code since the person paid for this script. It's the base 1st version I made before sorting all the elements.)
Conclusion
While the development of RankedUps posed technical challenges, such as real-time data extraction and management, the main focus was on understanding the client's expectations. The success of this project wasn’t solely determined by the quality of the code or how the information was displayed, but rather by our ability to accurately grasp what the player wanted.
Active listening and communication were crucial in transforming a simple request into a powerful tool tailored to the player's specific needs. Ultimately, it was this deep understanding of the user's requirements that allowed us to create a solution that not only met but exceeded expectations.
When developing tools for others, the primary challenge isn't just technical—it's about putting yourself in the user’s shoes. This user-centric approach is what makes tools like RankedUps truly effective.