Discussion External API Requirements Thread

Status
Thread Closed: Not open for further replies.
Interesting. I had a look at their site, and there's an interface box between the audio out and the transducers - does it encode it somehow? Or does it connect via USB or something? I could only find the audio box version online. I've been considering a butt-kicker anyway, but simvibe looks like a better solution (provided I have somewhere to mount it).

(sorry about the off topic).

Simvibe is only software. You still need buttkickers/transducers. Since simvibe has to formulate low frequency sound to send to the transducers using the in game telemetry, it has to use a second sound card (I use my 7.1 on board for sound and a 5.1 pcie for simvibe). each output of the second sound card can support 2 transducers (stereo sound channels).
Now you can buy and use regular buttkickers to use with simvibe, or you can use a regular, multi channel av amp connected to multiple transducers.
I use a Yamaha htr 5640 and two 200w sinustec bass shakers which in total cost £160 ( same as a single buttkicker) and I can attach up to 6 more transducers at a cost of £30 each.

The "interface box" your seeing is the amplifier, buttkickers come with their own but they are pretty cheap and poor quality.
 
Last edited:
The API, when queried for system data, should flag whether data has already been sold for the system at all. The thinking being to be able to quickly exclude 'explored' (even if only partially) systems from an exploration route. There might be a need for an API call that will give all the newly explored (data sold) systems in the last given time period so as to keep a third party database up to date.
 
I think its awesome that FD are considering the needs of the player base and i can only imagine what fantastic 3rd party apps will appear, be even better if they can be integrated into the actual game GUI (like blizzards WOW).

However, I do think this amount of information should not come free. If you visit a system/station ok, you get a snapshot of the date that can be used. But if you want real time data from all of the thousands of systems, it honestly think it is not realistic to offer this free. In the real business world, this kind of business intelligence is usually gathered and formatted and then sold.

I therefore (and I know i am going to get flamed for this, especially if it has already be discussed (i didnt read the whole thread)), propose that any live/detailed market data is paid for.

On another note. I would really like to see player designed paint jobs. I have mentioned this a few times. Why not open up the skins file to developers. That way 3rd party devs can offer up custom designs for the ships. FD could even allow them to be uploaded to the store where people can buy them and the dev and FD share the revenue. I think it would be brilliant to see a myriad of custom design ship skins.
 
I therefore (and I know i am going to get flamed for this, especially if it has already be discussed (i didnt read the whole thread)), propose that any live/detailed market data is paid for.
I can see where your thinking comes from, but perhaps you've neglected to consider players sharing the data they have. This already happens with tools like Slopey's BPC, EliteTradingTool, and more specifically the EDDN (Elite Dangerous Data Network). So if commanders get the local system/station data for free you can be sure it will get punted into EDDN or similar and thus everyone who's interested have access to a whole lot more data.
 

Slopey

Volunteer Moderator
I therefore (and I know i am going to get flamed for this, especially if it has already be discussed (i didnt read the whole thread)), propose that any live/detailed market data is paid for.

Pointless. I'll simply pay for it and share it via the BPC. If the cost was at such a level (like a professional API charge I might find for real world data of various types) as to make me want to cover it (and that'd be quite frankly a preposterous amount for data out of a game, which shouldn't cost anything), I'd cover it via donations/subscriptions but we'd be talking £100 pcm+ before it got to that level. Anything lower isn't a) significant enough to be worth it on the FD side and b) less than the infrastructure a tool like the BPC requires.

So that isn't going to work for a game. The APIs have to be free or FD would be met with extraordinary derision.
 
Last edited:
Historic data and companion app for tablets or smart phones, etc.

I have three ideas I'd like to toy with if there was an API:
1. Historic data: I'd love to see things like what star systems I have visited and when. What did I do in that system (i.e., planets discovered, stationed docked or things I bought). If you are already capturing some historic data it would be great to have access to whatever you have that might be interesting to us. Currently I have to write things down - not terrible but sometimes in the heat of the moment I forget important tidbits.

2. It would be great if either of the two side panels in game could be controlled via tablet or smartphone (i.e., second screen). It's nice to not have to loose the focus of the main screen but instead have a second screen to do things like: target something, request docking or pull up the galaxy map. We're seeing the second screen concept more in (Bluray) movie watching or even some console games. Here's an example from PS4 (since I can't add a link, google: "8 PS4 second screen apps explained"). An API that exposes some of that and allow direct control of the game would be great! *not easy so I don't have high hope - but I figured I plant the seed.

3. There are times when I want to see if any of my friends are online and playing xbox or playstation so I pull up their companion apps. It would be nice to see if a friend is online (on ED) and maybe some basic info on where they are and what they're doing. If they were take part in a community event I'd probably more likely to join in.
 
In a recent thread, there was discussion of the new "discovered by" info for explorers. It's been explained that we will be notified when selling data if there are any discoveries among them, but no (in-game) way to see our pre-1.1 discoveries, other than trawling the map. (Michael has suggested that a list might be made available through other channels, which would be greatly appreciated if possible). It occurred to me that the mooted API might be the perfect place for this sort of meta-data, so I figured I'd mention it here on the off-chance.
 
In a recent thread, there was discussion of the new "discovered by" info for explorers. It's been explained that we will be notified when selling data if there are any discoveries among them, but no (in-game) way to see our pre-1.1 discoveries, other than trawling the map. (Michael has suggested that a list might be made available through other channels, which would be greatly appreciated if possible). It occurred to me that the mooted API might be the perfect place for this sort of meta-data, so I figured I'd mention it here on the off-chance.

Definitely! A call to get the most recent discovered body, a certain amount (eg. the past 5, 6, 10, etc), or ALL discovered system data.
 
Position x,y,z
System name
If docked, station name
If commodity market, the commodity prices (item, buy, sell, demand, stock)

That would be very neat.
 

Ozric

Volunteer Moderator
In a recent thread, there was discussion of the new "discovered by" info for explorers. It's been explained that we will be notified when selling data if there are any discoveries among them, but no (in-game) way to see our pre-1.1 discoveries, other than trawling the map. (Michael has suggested that a list might be made available through other channels, which would be greatly appreciated if possible). It occurred to me that the mooted API might be the perfect place for this sort of meta-data, so I figured I'd mention it here on the off-chance.

I was going to add this idea myself, would be very good.

Just in case you haven't seen Mack has made the info MB made available into a handy look-up website http://dump.bass-speaker.com/discovery.php
 
I'd like to see a "Captain's Log" sorted - Vocal and playlist options, Global Hotkey - I've set a budget for it and advertised on Odesk online to get a developer to sort it. Advert here. https://www.odesk.com/c/jobs/Sound-Recorder-for-Windows_~~ab6c5bf7365496f3

If anybody wants to contribute additional Ideas for this, let me know. So far;

Personalized skins, ship names on app, playlist options for pulling certain logs, An example would be you might want trade run or specific system notes played back from a discovery or trade run mission -.

Anyway, I've a budget of $1000 for it and I'll keep you informed. Any advice / help welcome.
 
I'm excited about an official API because I think the experience of Elite: Dangerous would be enhanced with a great Captain's Log app. Now that an API is likely, I've started prototyping an (unnamed) app which:

  • Records where you've been and what you've done
  • Makes it easy to find that information quickly to make decisions, eg:
    • I want to buy Aquaponic Systems. Where did I see those for sale?
    • I want to go exploring. Which nearby systems have I already explored?
  • Lets you learn more about the stars and science of the places you've been

It's an app for people like me: who prefer exploring or trading to combat, and want to make that easier without taking away the fun. I don't want an app that calculates the best profit available or shows you how to min/max, because that takes away the challenge and much of the gameplay that I enjoy in Elite: Dangerous. But I don't want to have to resort to manually writing down paper notes or filling out endless spreadsheets manually... I want the drudgery removed so I can spend my time playing.

An app?

So why have an app at all? Why wouldn't it be better for Frontier to build a great Captain's Log into the game? Well...

  • Lots of us have other devices handy while we're playing Elite — a smartphone, a tablet, a non-gaming computer. An external app can make use of these when the game itself cannot.
  • If you like taking notes, it's a lot easier to do on a second device rather than switching into 'typing' mode inside Elite — and thus losing your ability to actually play and control your ship while making notes.
  • Exploring and trading usually require a fair bit of time looking at the galaxy and system maps, but while you're doing that you can't see your ship. I've been interdicted and run into stars countless times because I was spending too much time looking at the map. An external app lets you research and plan without taking you out of the game.
  • External apps can specialise, whereas Frontier have to cater to all their players. I'd like an app focussed on exploring; others might choose an app focussed on trading or on combat.

Prototype

Here's what my prototype is looking like right now (with all placeholder data!):
View attachment 13975
The key features I'd like to implement are:


  • A 'now' view that gives you a quick summary of what's going on, and helps you decide if there's anything you want to do in this system
  • A log view that records key events:, eg systems visited, bodies discovered, stations docked at, commodities at those stations, missions accepted — all logged automatically thanks to the data an ED API provides
  • A places view that lets you drill into the details of places you have visited: when you last visited, what they contain, what you can buy & sell there, etc.
    • At a stretch, I'd love this to also pull in information about the stars and other cosmic objects from external sources on the internet — something interesting to read and learn in those long journeys across the galaxy. My inspiration is the wonderful Sky Guide smartphone app that lets you point your phone at a star and it presents you a detailed article about the star and the history and mythology of its constellation.
  • Other views as an API would permit, such as a goods view to check prices in systems I have visited recently — but not some magic tool that finds prices anywhere in the galaxy even though I've never been.

Technical

This post is already getting long, so I'll wrap the technical stuff in a spoiler tag below:

What APIs do I need to implement this? I think there are two:

  1. A real-time event API, that is telling my app what's going on in the game client right now
  2. A reference API, that my app can call to query general galaxy information like the government/allegiance/known stellar bodies etc

The first is the critical one: just that alone would make the app possible. I would prefer that API to be provided by the game client rather than from an internet-based API — I imagine it would be faster, more secure and use far less bandwidth to do it that way.

A reference API could be provided by the client or by a web service, because it's not specific to the player. I don't have a strong opinion on which is better for reference data.

I'm prototyping a Mac OS X app at the moment; thanks to shared code I envisage I would make it work on iPhone and iPad as well. What technical requirements does that pose?

  • The real-time event API must work over the local TCP/IP network, whether it be provided by the game client or by Frontier servers. Any kind of Windows-specific protocol — such as a named pipe — would mean I cannot make this app.
  • If the game client provides the API (as opposed to a public web service), it would be preferable that the client uses a common network discovery service so that my app can instantly find Elite on the network without the user having to type in arcane technical details like IP addresses and port numbers. Personally I'd suggest Zeroconf because it's free, stable and backed by the IETF... and it's popular in the Apple ecosystem so it would make my life easy! :) It's better known as Apple Bonjour and so it's natively supported on OS X and iOS, and it has free libraries for Windows and Java (and thus Android).
  • As for how your API provides the data — streams or discreet requests, XML or JSON, authenticated or anonymous — I don't think it really matters to me. I'm sure any reasonably common technology could be supported in an app like this.

Note finally that my prototype uses lots of images from Elite: Dangerous itself. I wouldn't want to include your images in an app that I develop, though; that's partly because of the legal difficulties that could present, and partly because it would require me to update my app with new images every time you add another thing. What I'd prefer is that your API provides images to my app in real time. What I'm hoping for is the ability to request these images to display in the app:


  • Icons for stars, planets and other bodies — like the system map displays
  • Icons for each station — like the vector logo that identifies a Coriolis station and distinguishes it from an Outpost on the system map
  • Icons for each trading good — like the icons shown on the commodities market screen
  • Superpower icons — eg Empire, Alliance, Federation
  • Ship images — either wireframes like the loading screen, or fully rendered

One reason for this is, of course, that it would let our apps look much more attractive. But there is also a practical reason: helping exploration. One thing that I do as an explorer — and I suspect most other explorers do too — is look at the icons of the undiscovered bodies on the system map to decide whether they're worth going to investigate further and do a detailed surface scan on. So the icon images of stellar bodies are critical. It would be wonderful if I could display images of those unknown bodies in the app so that players can make this judgement without having to study the system map — with all the problems of interdictions, crashes and dropouts etc as I described above.

Now it would probably be a bad idea if the API provided specific details about unknown objects — eg an API that says "display the earth-like planet image for this unknown object" — but it could work if the API provides a raw image without description. It would be up to the app to display that verbatim, and up to the player to form an opinion on what the image is and want to investigate further. Some people might abuse such an API and develop image recognition to let players cheat and immediately identify unknown objects, but they could do that with the system map now and I don't think an API would make it significantly easier. Obviously an image API like this would be a lower priority than providing the basic textual data that lots of other people are clamouring for, but it's something that I'd love you to consider...
 
Hi all,
A friend and I have been tinkering around with Elastic Search, mining the data I've collected via the companion app API. Since the launch of the game, I've polled the server every 5 minutes for data on my commander, accruing a substantial log of activity over the last few months.

Here's an image of my credits over time during that period. As you can see it's very spiky as I've brought in a lot from rare goods trading, spent it all on another ship, died a few times, and bought expensive items like Class-A equipment.

ed_credits_test.png


One of the most interesting things for me is correlation. At any point in the graph I can wind back time and look at where I was, what ship I was in, the equipment I had, etc etc.

It all gives a fantastic bit of insight into what you were doing, when, and potentially how you made your money, or (if the API allowed it) when you made most inroads into faction reputation or system influence.

It's part of a wider tool I'd like to build which would form part of the Pilot's Log. It would give you a number of visual graphs about what's happened within the last day, week and month, along with 'current' information about where you are, what you're in etc.

Once the data exploration part is solid, it can be expanded to allow comparisons between commanders, and social tools to help coordinate small or large groups of players towards common goals.
 

Slopey

Volunteer Moderator
^^ nice, however that was explicitly forbidden by FD, you naughty boy!!! Tut Tut!!! ;)

(Why do you think we're not all ripping the Companion App API to shreds for our tools?).
 
I was interested in writing a Mumble plug-in, and would love to see the API extended to allow some better integration!

GUI:

It would be great if plug-in could do a limited sub-interface to the current communications frame to extend functionality like changing channels to within the Elite GUI.

The sub-interface could be a limited HTML subset, but even basic text exchange with up, down, left, right and exit may be enough, but you're leaving a lot of data grooming to the plug-in, then. Comms plug-ins would form and third category under the communications menu, supplemental to Friends and Local.


Real-time data:

Positional data of PC ships in the same instance to allow for positional audio
Wing Functions
- PC wing membership data - this allows membership to determine channel automatic join, etc
 
I'll second all those who have asked for API support usable by SimVibe (and other motion platforms)
The required output would IMO include live telemetry from the client on

-G-forces (maybe the same as what went into the Bobblehead earlier?)
-Throttle position / thruster status (for engine rumble)
-Shots fired, preferably with a designation of what weapon (laser and multicannon would feel differently in the ship)
-Hits taken, preferably differentiated in the API between hits on shield and hits on hull, and fore-aft-left-right.
-Same goes for impacts


Of lesser importance but nice to have:
-Shield recharge / shield cell used / chaff launched
-Status of cargo scoop, hard points, landing gear, (fuel scoop)
-Cargo canister / ore pick up.
-Ship in station status (I'd imagine you'd feel a low frequency rumbling from the station)
-Frame shift status (engaging, active, disengaging)
-Super cruise and hyperspace active (you'd may not feel anything i supercruise, but if the API sends a signal that "we're in supercruise", the SimVibe software could just put out an arbitrary frequency if desired)
-Interdiction status
-Touchdown on landing pads

Basically API output of any ship action that one would think could be felt in the cockpit.
 
Status
Thread Closed: Not open for further replies.
Top Bottom