Elite Dangerous. Is it just it a game. Or can it be a learning tool?

Back in 2019, my two sons convinced me to start playing a game called Elite Dangerous. Before making assumptions based on the name, let me open you to a world I have found that I think could be a multi-tiered learning platform that includes math, physics, economics, budgeting, massive exploration, and on the side, some fun. Everyone loves fun, mix it with learning all of these topics, and I think it could be a great learning tool. Unfortunately, many are turned off by the name. I was for a couple years until I actually played it.

Beyond the obvious, being a great space and physics simulation, Elite Dangerous also gives you access to the data that tracks everything you do while in the simulation. This is a very robust JSON data set in a log file format that includes text, arrays, integers, objects, boolean values, timestamps in different formats, and other rich data objects that make any data head drool. And it is all right there, on the local computer to do with whatever you wish.

Over the time that Elite Dangerous has been around, since 1984, they have had ample time to improve their equations and galaxy generation system to the point that it is quite realistic. The body rendering system is also quite realistic. As you can see in some of the screenshots I have taken below.

Planet in an Unknown System Far Across the Galaxy
Heavy Metal Orb Somewhere Out There
My Ship, “U.S.S. Carl Sagan” Pondering The Future

I will not waste this post explaining what Elite Dangerous is, it is detailed quite well at the wiki page here https://en.wikipedia.org/wiki/Elite_Dangerous. This post is about how I think this could be a great learning tool. And how this ties in with the local journal data and the real world big data wave that does not seem will come to an end any time soon.

Included in the data that is fed into the journal log while the game is running is economic data for every system and every station you travel to. Along with the economic data is information about every stellar body that you scan while you are in that system. If you find a body in the system that is worth exploring you can go land on it and do more research on the ground. The franchise has recently released the Odyssey expansion which allows you to leave your vehicle and explore areas on foot. Currently there are still a few bug reports since this release was recent but I have had no real issues.

Technically you have to start by building a business. With your starter ship you really only have two options, haul cargo or fight pirates. This does take time, but there are deep math, economic, and ploitical power lessons here that can be analyzed with the data provided by the journal log. There is actually a site on the internet that does something similar to this but on a galaxy wide scale. This in its self is a learning experience in big data as the conglomeration of EDDN sites provide API’s and live data streams that have a fairly high stream rate as shown below.

This is a 24 hour window of the data flow from EDDN. If you check out their github page here https://github.com/EDCD/EDDN there are links to documents explaining what this data is, how they gather it, and now it can be used. I would deeply assume this can not be used in any kind of commercial project, so if that is the route you want to go this post is probably not for you. But as an educational tool with strict data control standards then I think that would be ok. There is some data in the logs that needs to be scrubbed for privacy, EDDN data has already been security scrubbed, local data has not, but it is not that difficult. But right there off the bat is Big Data Security 101, scrub all identifying information on a public use data set. Always, this is like rule #1, and something this project would have to deal with. Though if your are working with a different audience you could have big data expert scrub it for you. There is not much, but still good practice. Again, EDDN already does this so if you just access their data it is ready to use.

Once you progress beyond the cargo hauling and pirate chasing you will have gained enough credits to set your new path. I chose exploring. Once you start exploring then the game changes to physics and math. Every stellar body that you visit in the game gives you all of the physical information about that object. You do not have to land on the object to get all of this information, nor do you have to even spend the time to fly all the way to the body if you do not want to, sometimes this can take 15 – 20 minutes while you are doing nothing else. But you can if you want. Otherwise you can use what is called the FSS scanner to remotely scan the planets to get the same information. The FSS scanner is like a mini game in the simulation world where you have to scan frequencies to find planets. This is pretty cool because it is based on the scientific principles of what frequency the bodies emit radio waves. This FSS scanner is shown in the image below.

Once you have scanned all of the bodies you will have a library of information on bodies in that system that you can further investigate if you wish. You can see this information by accessing the System Map available in the game which will provide you with the information below.

The System Map

As you can see there is much information provided about each body in the system. With this information you can manually calculate orbits, or maybe the project is to write an app in some language that will calculate the orbits. With all of this information you could calculate if there is a possibility an Earth Like World could become an Ice World, or an Ice World become Earth Like. The data contains percentages of atmosphere type, body makeup, and well pretty much everything to build a solar system. If you want to compare your calculations to what Elite Dangerous thinks they should be you can turn on orbit lines and see what their Stellar Forge thinks. That would look similar to the image below.

Elite Dangerous Orbit Lines

Since the simulation is 3D you can fly into the orbit at any angle you wish to get a better look. I captured this one because one of the moons has a very tight orbit that I wanted to calculate. After you have discovered the planets you will find that some of them are landable. Not all of them, and for sure not Water Worlds, Gas Planets, or Earth Like worlds. The physics and computing time to generate AI for thousands of civilizations on possibly populated planets would be astronomical and at this time is not feasible. Though I do believe with enough support that will eventually be a reality.

Realize there is no monthly fee to play this simulation online. The fee is one time purchase of the game. Elite Dangerous is very much about reality of the physics, some disagree but I believe they are as accurate as they can be with the resources they have dedicated to processing the galaxy. Think about the amount of computing cycles needed to calculate orbits in 100,000 worlds at the same second. If you average the number of bodies in a system to 12 then the system is processing at the very least 1.2 million orbits per second. Orbit calculations are not easy, there are many values involved. If you stacked millions of AI bots to populate a planet the processing power becomes astronomical unless you want to, well, feel like you are talking to a robot. Give it time and funding I think it will get there. 100,000 is a total guess to prove a point, I have no idea how many orbits the Elite Dangerous system processes per second. Even with what it does now it is on par with NASA super computers just using procedurally generated data instead of physical data, though physical data are the seeds.

You can visit Earth, though it is not where you start and it can take some time to get there. Though after you arrive you can visit the Voyager probe and it will send you a message if you scan it. One of the first trips most explorers make is the voyage to the black hole known as SagA*, a representation of what science knows about the black hole at the center of our galaxy Sagittarius A. Unfortunately as a learning tool this becomes a bit complicated because it takes a long time to get there as an individual. But Elite Dangerous addressed this issue, kind of when they introduced the Fleet Carrier in an update not long ago. The Fleet Carrier can jump through space 500Ly at a time. It is quite cool to watch as shown in the YouTube video below.

Fleet Carrier Jumping Through Wormhole

Arrival at the destination is just as spectacular as shown below. In this video you will also see the Elite Dangerous representation of a neutron star. All known star and stellar body types are included in this galaxy of literally 100,000,000,000+ stars. At the current time only 0.04% of this galaxy has been discovered.

Now, in reality an individual ship could get there in 10 – 12 hours of constant flying with no exploration. A Fleet Carrier would take a bout 88 hours because they have to cool down for much longer before they can jump again. But this is where one idea for education and fun comes in. A fleet carrier can hold 16 smaller ships as it jumps though space. These act as a mobile space stations, a mini economy can be setup wherever this fleet carrier is. If you have multiple fleet carriers on the same path the number of ships/students would be an exponent of the number of fleet carriers. If you want to take 64 students on a field trip through space then you use 4 carriers. As you jump though space towards SagA, during cooldowns you could send out exploration missions to the nearby systems. Resource extraction would be a must as the materials found are required to keep things running such as making fuel and mining the needed supplies for the next hyperspace jump of the fleet carrier.

The setup that I run to process my local data is a combination of Linux, Elasticsearch, and Logstash with all programming done in nodejs. For a group of even thousands of students the hardware requirements are not that huge to do basic processing on this data. Now if you want to go to the big time and process the whole EDDN data set that takes a few more resources, but not much. I run the whole thing except the external web server on one server in my home lab that I paid $8k US to build. In my opinion this is not a bad investment for the learning value that can be gleaned from Elite Dangerous data, in short, learning while playing a game. This same lab server also processed the full real-time EDDN data stream.

This can be done in the open servers or in private groups. These options are selectable at game start. With a private session one commander, the instructor, would invite all other students/players to the group and those will be the only non AI players in that simulation. Some aspects of this iteration of Elite Dangerous make it seem like a learning platform as much as it is a game.

Battles are fairly fun but do not really provide a lot of metrics that are useful. As far as I can find there are no damage reports, heat reports, weapon usage reports or metrics like that. All I have found are targeting notices and bounty voucher notices, though this is still data that can be processed. All of the rich metric data is in exploration if you prefer aloneness in deep space or economics and politics if you choose to use the data inside the human core systems. Core systems are explained here here https://elite-dangerous.fandom.com/wiki/Core_Systems.

Again, you never have to actually play the game to access all of this beautiful data, you can always use the EDDN stream which is enough to keep you thinking for months.

Below I have included a record for one of the bodies that I have scanned during my exploration journeys through Elite Dangerous. This is for a Gas Giant named Ploi Aewsy UD-K d8-131 6. You will see that there is enough information here that when combined with the information about all of the other bodies in the system would allow you to plot orbit lines and even simulate future orbits in software if that is the project you choose. I see some orbits in this simulation that are hard to believe, being able to simulate them into the future would be nice.

{
  "_index": "local-elite-dangerous-realtime",
  "_type": "_doc",
  "_id": "DQtzpHsB8cSDY17s3nfJ",
  "_version": 1,
  "_score": null,
  "_source": {
    "WasDiscovered": true,
    "WasMapped": false,
    "AtmosphereComposition": [
      {
        "Percent": 72.524971,
        "Name": "Hydrogen"
      },
      {
        "Percent": 27.475039,
        "Name": "Helium"
      }
    ],
    "host": "star-cache",
    "SurfaceTemperature": 234.765518,
    "Volcanism": "",
    "path": "/home/bvest/Elite Dangerous/Elite Dangerous/Journal.210901204951.01.log",
    "@timestamp": "2021-09-02T03:01:02.175Z",
    "AxialTilt": 0.334997,
    "OrbitalPeriod": 12279852.032661,
    "StarSystem": "Ploi Aewsy UD-K d8-131",
    "Rings": [
      {
        "Name": "Ploi Aewsy UD-K d8-131 6 A Ring",
        "MassMT": 33194000000,
        "InnerRad": 64317000,
        "RingClass": "eRingClass_Metalic",
        "OuterRad": 72072000
      },
      {
        "Name": "Ploi Aewsy UD-K d8-131 6 B Ring",
        "MassMT": 253690000000,
        "InnerRad": 72172000,
        "RingClass": "eRingClass_MetalRich",
        "OuterRad": 115230000
      }
    ],
    "Parents": [
      {
        "Null": 15
      },
      {
        "Star": 0
      }
    ],
    "OrbitalInclination": -4.595237,
    "event": "Scan",
    "Radius": 38035556,
    "TerraformState": "",
    "@version": "1",
    "SystemAddress": 4511502437451,
    "PlanetClass": "Sudarsky class II gas giant",
    "Periapsis": 254.853377,
    "BodyName": "Ploi Aewsy UD-K d8-131 6",
    "Eccentricity": 0.011175,
    "Landable": false,
    "SurfacePressure": 0,
    "ReserveLevel": "PristineResources",
    "RotationPeriod": 58908.424164,
    "DistanceFromArrivalLS": 972.713479,
    "Atmosphere": "",
    "MassEM": 36.265446,
    "TidalLock": false,
    "BodyID": 16,
    "SurfaceGravity": 9.99132,
    "ScanType": "Detailed",
    "SemiMajorAxis": 219599461.555481,
    "timestamp": "2021-09-02T03:01:01Z"
  },
  "fields": {
    "@timestamp": [
      "2021-09-02T03:01:02.175Z"
    ],
    "timestamp": [
      "2021-09-02T03:01:01.000Z"
    ]
  },
  "sort": [
    1630551661000
  ]
}

Stars have their own type of record, FDSJumps have their own type of record, all stellar bodies have similar but unique records. Distanced between objects are expressed in light seconds from the system entry point. So this is logical thought and more math to figure the distance of every object and plot the orbit based on information similar to the example above including, Mass, Semi Major Axis, Eccentricity and all other values that work into this equation.

As far as displaying the data, this is one example dashboard I built in Kibana using body exploration data. I actually leave this running so I can see what I am doing real-time at a glance. The screenshot below shows this dashboard.

Elite Dangerous Exploration Dashboard

Even beyond that I have done some work plotting Elite Dangerous stellar body data into WebGL canvases for further exploration. I demo that nodejs application in the video below.

Elite Dangerous Star Map 320,000

This is only a small subset of EDDN data that I had collected over about two months by the time I made this video.

With the power of WebGL and three.js all of this data can be calculated into orbits; galaxy wide orbits if you have the processing power.

Elite Dangerous goes much deeper than this as far as the data goes. I hope this post has shown that Elite Dangerous I believe has a lot of potential as a learning tool. One other great aspect is that this can be played on a monitor just like any other game or it can be played with a VR headset to be fully immersive. Though this game is available on multiple platforms only the PC version allows access to the rich data set. With that in mind, neither a tablet, phone, or low power laptop will run this simulation. It takes a PC or Laptop with at least a little bit of power behind it. Though the expense is about the same. A quick price check in a Hewlett Packard Omen gaming laptop that would be able to run this is around $1200US. Of course if this was part of a student learning package it could be used for all other tasks also.

If this interests anyone leave a comment or get ahold of me on twitter at @cbvest or LinkedIn and I will work up a post with more technical information, my view of a lesson plan I guess you would call it.

I leave you with one of the last screenshots I took on my current exploration mission 6,600Ly from Sol.

–Parting Wisdom
-Almost all ideas sound good to someone-

–Bryan Vest

Leave a Reply

Powered by WordPress.com.

Up ↑

%d bloggers like this: