mvnForum Homepage

Print at Dec 8, 2019 6:49:27 PM

Posted by Tallinnamany at Oct 5, 2017 6:18:50 AM
Exporting in-game data/features to support 3rd party development
Couldn't find this having been suggested previously (though did only do a quick search) so here goes.

Would it be possible to add a way to export data from the game in a structured way (eg json/csv)?
Essentially, it'd just be a way to export the data that you can already see in your client in a clean and simple way.

As a start, it'd be amazing if this was an option on screens such as the market trading screen, shop/ship inventory (and records) and shop pricing screens, allowing you to quickly gather the relevant data.

As it is right now, (as an example) running a shop efficiently usually involves a massive excel spreadsheet and a whole lot of manual work keeping the prices and such up to date. This can be quite off-putting/punishing for someone new trying to get started with running a shop.

Making it possible to easily grab the data would open the door for developers to jump in and create tool(s) to make it less of a mess to manage - As a developer myself I'm seeing that a 'shop managing tool' of some sort would be incredibly valuable, but the amount of manual work keeping it up to date is enough to put me off the idea to even get started. I wouldn't be surprised if there were other people/devs in a similar position.

--- Feel free to ignore beyond this point, got a bit rambly ---

Technical side (thinking as a java developer myself. May be completely wrong):
While I can't make assumptions about how the game client works internally (and 15 years of legacy code can give anyone nightmares), it makes sense to think that the relevant data is already available on the client side (as its being presented to the user). So I'd imagine this could be done all on the client side - Strip the objects of unwanted information, pass the collection through something like gson (converting the list to json) and write that to a file. But again, legacy code could make something seemingly simple nearly impossible.

Background/Why do I think this would be good/worth doing?:
After moving on from pirates many years ago, I got into Eve Online, a game that shares quite a lot of the 'meta' parts with PP (Huge social/community side of things, player driven economy, conflicts/wars over territory, even a nearly identical structure for player groups (crews/flags -> corporations/alliances)). And similarly to Eve, PP has a bit of a steep learning curve if you want to get into more advanced game play features.

To help with this in Eve, there is an ever growing community of 3rd party developers who continuously keep creating and improving tools that make the otherwise difficult to comprehend activities/things more easily digestible. But this is (more or less) only possible because CCP (the developers) have made a huge effort to make the in-game data/resources available for anyone to work with as well as working with the developer community to work towards making more useful things accessible.

This has, over the years, resulted in there being a tool for pretty much anything you could want/need, ranging from sites that provide useful information (eg for market data) to all sorts of planning tools (from your own character to managing complicated manufacturing setups) to tools that automate otherwise slow/manual tasks (for instance, automatically providing access to voice services to freshly joined members, removing permissions on people who have left).

While hoping for PP to have a full blown api/rest services to query some data/static data dump is a wild dream and would take an unimaginable amount of work/effort, I think even adding ways to manually grab some data would be a big step towards getting more people involved with creating tools, which in turn would hopefully have a longer term benefit in getting more people over the initial 'curve' and interested in more complicated activities in the game.

TLDR: If you build it, they will come - Add a way to export data from game -> developer(s) will start creating tools to make use of the data -> hopefully get more people to take interest in the more complicated parts of the game (which would be good for the longer term health of the game).
Meridian/cerulean: Tallinnamany
Obsidian: Johka
Software developer - Someone lazy enough to invest time in making a tedious/complicated task less so.

Puzzle Pirates™ © 2001-2016 Grey Havens, LLC All Rights Reserved.   Terms · Privacy · Affiliates