Discussion External API Requirements Thread

Status
Thread Closed: Not open for further replies.
If we can put text on an in game screen there are all sorts of possibilities.

One idea is a community run wiki or noticeboard for each system, and when you visit that system, information about it pops up on screen. Sort of like ED Foursquare.
 
Mostly what I'm missing in game is what many of the trading apps try to do now. I'd much rather have my personal database though. Systems visited, past prices at stations, essentially an extensive log, routing information etc. A history of most of what I've done that's searchable; at least the stuff that's really useful to make queries against.


  • Where is the closest black market I discovered?
  • What station was that where Gold was selling for 7000cr?
  • Best Buy/Sell tables for commodities (based on my collected market data)
  • Eventually, where did I see that NPC last (when we have persistent NPCs)?
  • Waypoint to that asteroid I found which was 99% gold!?:)
  • Where did I see that A+ Class 5 Uber Beam Laser, I can now finally afford?
  • Historical market data, how much does the price in this system vary?

Lots of stuff like that. Since FD can't do it all, then this would be an ideal area for me and others to develop tools.


  • Access to current Data, i.e. everything I know about the current system/station/market etc.
  • Access to Galaxy Map / Route planner / Search - so the app can find stations and plan a route for me
  • Ability to query my status ( everything about my ship/pilot, like ratings/faction rep etc)

If FD collects all this data, then queries can go to the FD server directly; but an API on the client would be great as well, a simple localhost http REST/JSON API.

I'd like a callback or event system for the client version as well, so I wouldn't have to poll the client and waste processing time/power. Maybe websocket connections, or callback URLs. I'd go this route as it would be platform independent, support multiple apps without increasing system load too much, and it could allow desktop apps to avoid the need to authenticate, as they'd just use the logged in client as a proxy.
 
I was planning to make a App that would show the various toggles and states of the ship on tablet and or logitech keyboards.

That would require access to in game data like shields, hull integrity, silent running on/off, landing gear on/off.
Total Cargo space / free cargo space. lights current contacts, ect


And a question for the dev team: would Frontier consider making an app that could funtion as the pilot side screens ? I would love to use my tablet to select destinations, check contacts ect ...

the panels as Apps on Pads/Phones would be great

actually the community could make it if FD don't have the time
all we would need:
- READ: access to the panel-data through the API
- WRITE: create a new, alternative set of controls/shortcuts for the side-panels and then just create key-press through the apps, like with Power-grid
 
Add me to the list of people wanting to write a log analysis tool. Think of a Strava or Runkeeper for data-hungry Commanders.

As Andrew Sayers, RobFisher, slugsie and others have asked, a client-side event feed writing events as they happen in game to the commander to a log file or an in memory ring buffer would be great, thanks.

Off the top of my head:
  • Game session start/end (open/solo/private mode)
  • Server disconnect, disconnect warnings
  • Docking/undocking at station
  • Hyperspace jumps, fuel consumed and distance for an odometer
  • FSD arrival/depart of locations
  • Trades performed, volumes and prices
  • Mission acceptance, completion, abandonments, with credit and reputation changes
  • Rank changes
  • Outfitting purchases and sales
  • Ship purchases and sales
  • Fuel and munition purchases
  • Chat messages from other ships
  • Scans (passive and active) of other ships, pilot name, status, rank, bounty
  • Scans (type) by other ships
  • Kills and bounties awarded (with location), redeemed
  • Weapon firing, ammunition expenditure(hit?), other triggerable modules like interdiction or ECM
  • Point defense firing
  • Shields up/down
  • Damage taken
  • Collisions (with)
  • Ship heat changes (quantised to some classes?)
  • Repairs events
  • Silent running engaged/disengaged
  • Scoop/landing gear up/down
  • Cargo scooped
  • Fuel scooped, volume in session
  • Chunks scooped and canisters obtained from mining
  • Exploration scan results
  • Exploration data sale income
  • Ship destruction (cause)
  • Fines and bounties received, and paid off
  • Combat bonds received, redeemed
  • Landing permission requested/granted/retracted (I'd love a figure-skating style score to be given to each landing, hint, hint!)
I could go on and on...

- - - - - Additional Content Posted / Auto Merge - - - - -

Oh, and what I would also like for Christmas would be a terminal emulator in the cockpit, so I can run an IRC client in there or just tail -f the above logfile ;).
 
What I'd really like is real time ship telemetry/status.

The immediate project I've got in mind is having some RGB light strips change colour depending on my ships status (normal - white/green, supercruise - blue, under attack - red etc.)

But all sorts of things could tap into this - rumble sub-woofer for when you're hit; hardware ship status lights; remloc mask falling out of ceiling when your canopy is breached; full simulator integration. The list is endless.

It's not exactly a companion app I suppose. I'm intending to get a Raspberry Pi to control the lights* and tap into an API and I'd make the work open source so other people could add other hardware fairly easily. Hopefully.

* Actually this bit's already working, I just need a way to get status info out of E: D.
 
I'm not super fond of any 3rd party apps... but I would like to know more about where wars are happening. A Mercenaries Guild type thing.
 
I just thought. Is it possible to have an app to link to my telescope? I am so new but I was thinking we could look at a star, then fly there :) Or, send my travel log to my telescope and try and track some of the systems I have visited.

Just a thought

What an excellent idea! I might even buy a telescope if someone wrote that.
 
Hi FD!

I'm excited to see this thread. Honestly, it would be great just to be allowed official access to the existing API and its contents. I've been poking around at it just to see what's there (being careful, honest!) and what is there is already awesome. I'd love just to be allowed to query the market, shipyard, and outfitting for my current location, which is already in the API.

All of the following is already there:

* Current commander status, ranks, credits.
* Current station, system, services offered. Local market prices, shipyard, and outfitting availability and prices.
* My current ship, outfit, and stats.
* All the current ships in my "garage"
* Current stats and progress in trading, combat, exploration, fed rank, imperial rank, crime.
* My travel history. Where I've been.
* Mission stats and history.

Things I'd like to see added:

* Local faction details. What factions are there, current influence, my current standing with them. I'd use this to figure out the total influence of a faction, and which systems I should be running missions for.
* Local system exploration status. List number of known (to me) bodies, whether or not I've scanned them. I'd use this to remind myself to go back to a system someday.
* The galactic coordinates of my current system. I'd use this to plot my course back to places I know, or want to revisit.

Essentially, I'd just love to have programmatic access to all of the information I can already see in game. In general I'd just use it to log my own progress and sift through it looking for interesting things to do, trade, explore, and buy.
 
I like the idea that we could get ship status infos for the simpit builders.

But i hope that it will not be possible to for example read the shield values or your ships heat. This will surely lead to some tools that will trigger shield cells or heat sinks automatically for you.


As for a web api: currently the ios comapnion api need your credentials to work. This is fine as long as it is an official FD app.
But for the api discussed here i don't want to use my game (and shop) credentials to authenticate in a 3rd party app. So there needs to be a different authentication method, for example a unique key that is generated by the game.
 
looks like explores did not discovered this thread yet :)
as a dedicated space mole i dream about explorer's log. It would be great to have evidence of what i have discovered, what distance i have travelled, what time i have spent in void, when i have docked.
  • star date
  • System name
    distance of last executed jump
  • Celestial objects
    total sum of discovered objects
    • stars (if scanned)
      starname
      star type
      sun masses
      age
      rotation speed
      distance from primary star
      id of object image
    • planets (if scanned)
      planet name
      planet description (gas giant, ammonia world, water world etc.)
      planet mass
      distance from alleged star
      id of object image
      • rings
        name
        type (if scanned)
        type of reserves (if scanned)
        id of object image
    • asteroid fields
      name (if scanned)
      type
      type of reserves
      id of object image
    • black holes(if scanned)
      mass
      age
      distance from alleged star
      id of object image
  • Noncelestial objects
    Stations
    station name
    station type (outpost, station)
    controling faction
    facilities

And because i am very optimistic about future of exploring, i hope there will be much more to explore
  • Other non celestial object
    Description (if scanned)
    type of non celestial object
    mission available(?)
 
Last edited:
Either hosted as an API or as a resource pack: Assets.

Provide everything related to other things the API provides: Icons for ranks, commodities, factions etc. so web applications built around that kind of data can embed icons on the fly.
 
Hi FD

My only request is that if you're going to allow scraping of commander data (stats, not the Star Trek Android :D) then you make that an opt-in feature.

I have no objection if people wish to learn about other commanders, but only if there is consent.

Thanks
 
Hi Pirates!

Here is my first post since I even not finished yet to build my computer for running this jewel ;)

Nevertheless I'm well interested about this API idea.
By API it could be a real API or just logs, I don't care.

Well...
First of wall I don't think is mandatory to have something else than getters (API which extracts data).
Since the game is played through user's input, a third app can already emulate them.

Secondly I think we have to really take care about the quantity of information provided by API. Giving location in real time of entities could provide a good opportunity for developping bots and then... well probably nobody wants to see player's ship controled by a bot. Elite is not an FPS but having a third party being able to detect and automatically avoid missiles, or providing the best trajectory for following the escape vector would be too much.

And third, information is provided to user depending on context.
You can see the cargo only if you scan.
You can scan only if you target the ship.
You target the ship only if you see it,
and more, you can plan your journey only if you are on the map.
The API should not break this rule. The risk would be to give too much power to players having the good third party tool than others.

When you open you map you hide your view. Third party tools should have the same disadvantage.

I have in mind at least two usecases where an API will be a great addition.
1) Vocal assistant.
Some guys are doing really good jobs on voice attack for implementing a virtual assistant. Having data from the environment would be an incredible help for improving them. They will directly know if your cargo bay is open or not, if you are at 50% engine or more, etc. They will not have to maintain a fake status of your ship, but they will be able to read it directly.
For this, all visible informations should be available by API, that means all readable data visible on each panel of your ship.

Concerning the radar, we could imagine the list of items, and to have events if they appear or disappear. Each item should have an id.
The same ID should be used in the left panel describing your target. This in order to help third party tool to know which item is currently targeted.

One usage could be for instance when a target drops its cargo or when doing mining.
A third party tool would be able detect new containers, to scan each of them, and informing user "hey there are new gold containers!!!".

2) Motion seats.
I saw some projects of motion seats. But they are missing acceleration data.
In fact, since we are in space, everything can be computed from user inputs: if he goes left, the force goes right. But it works only if we are alone.

Since we touch another entity, land, get a missile in face etc, the acceleration is dependent to external elements.
The best would be to be able to get the acceleration in real time.
But it could be easily simplified by an event notification saying "vibration" or "big bump" in this or this direction in space.


Based on everything, what about a unique API?

This API (which could be even a simple log) would just provide events.
Event of new item in space
Event of increasing power engine
Event of a laser shot
Event of a finished scan, with its content
If the player draws a journey in the map, event describing each steps
etc... etc..
Probably events relative to sounds (far explosion, lasers etc)

What I see here, is that a third parties would read all data from this stream.
And it will interact on the game directly by simulating user inputs (as Voice Attack behaves).


The idea behind it is:
  • to a have a simple API (one for all), that you can improve easily (just put more events, more properties on those events)
  • to limit the advantage of using a third party tool compared to full human play (in any case it uses user input)
  • several tools can connect to the same data flow of event.

A such solution would impose to provide a bunch of events each time you restart your game, in order to inform tools of the current status.

The only remaining problem for me would be how to describe the map through events. Perhaps a graph of the n'th closests system near to your selection, I don't know.

Thanks!

Plousk
 
Excited by this :D I'd like to see the ability to send select information to the MFD's on the X52, say current target details like bounty, cargo manifest, faction etc - and for the game to set the LED colours based on fire group, landing gear, lights, silent running etc.

I don't think that would be too complicated, and it would both look great and be a lot of fun - and there's a lot of x52s out there to be happy with it :)
 
My 2cents

.) the prospective api should provide client-side end-points to allow non shared, just local 3rd party Apps to support players interested in enhancing their game without usage of information of other players.
.) the api should not be ONLY about sharing info with other players (also could be called collaborated "cheating" by those accepting the given in games info and systems ;).
 
A little off, I would like to work on a tablet app that can access the panels. It would be IO, so I can make navigation, transaction and contact (and subsystem targetting) adjustments on my second screen (the touch tablet).
I would usually suggest a 3 screen setup with the display in front and a tablet right and on tablet left, but I would skip the right screen since I never let go off the stick.
 

Slopey

Volunteer Moderator
I just thought. Is it possible to have an app to link to my telescope? I am so new but I was thinking we could look at a star, then fly there :) Or, send my travel log to my telescope and try and track some of the systems I have visited.

Just a thought

Or you can just use the GoTo feature on most consumer mounted scopes these days....
 
I'll add my voice to the request for in-flight data, for hardware/software integration:

  • Hull
  • Heat
  • Throttle
  • Velocity
  • Fuel
  • Gear / light / scoop / hardpoint status
  • Current weapon / fire group / ammo etc.

Both for commercial hardware like the X52 / pro, anything we might want to make ourselves, and software like VoiceAttack.

I'd like to request things like pulling panels off to separate screens but am aware of how it could be potentially unbalancing - to that end I strongly oppose exposing anything which a commander wouldn't normally have access to in-game to external APIs.

PS. To everyone suggesting technical details on how the API should be written - Frontier are hiring, why don't you apply :p
 
I strongly oppose exposing anything which a commander wouldn't normally have access to in-game to external APIs.
This I agree 200%
The dataflow structured around user inputs and user view should remain the same. API should be just at an higher level of that.
I know how much it could exiting to imagine having everything in hand for developing an external tool. But it will kill the game since, for sure, some players will use it in an "non-fair-play" manner.

PS. To everyone suggesting technical details on how the API should be written - Frontier are hiring, why don't you apply :p
In my case, I'm waiting for them to open an office in west coast of France ;)
Well even that my background is for sure not what they expect !
 
Status
Thread Closed: Not open for further replies.
Top Bottom