These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

Eve Galaxy Map (EGM)

Author
James Fordia
Aliastra
Gallente Federation
#1 - 2012-09-16 02:10:32 UTC  |  Edited by: James Fordia
In the process of setting up this project on codeplex, here is the description....

Quote:
Project Description
Eve Galaxy Map (EGM)

EGM provides rendering of, and user-interaction with, a 3D map of the Eve Online universe. The application hosting EGM will have control over visual qualities of the map and can therefore use it to visualize arbitrary data, similar to the in-game Star Map.

EGM should support rendering of the following:
SolarSystems - represted by a circle, application controlled radius and color
Jumps - represented by a line connecting two SolarSystems, application controlled width and color
Text - drawn in 2D but associated with a 3D position, application controlled font, size, style, and color
Icons - drawn in 2D but associated with a 3D position, application controlled texture

EGM should support the following types of user interaction:
Camera controls (mouse and keyboard)
Selection of any graphical element from mouse input.
Storage of arbitrary application data per graphical element.

Technical Details:
EGM will be developed as a Windows MonoGame project using both VisualStudio 2010 and 2012.
EGM will be tested against a WPF host application while under development.

So question for other developers, does this sound like something of value? Another thought I had... its probably possible to actually use the in-game star map for visualizing custom statistics by modifying the star map's cache, anyone know if that is allowed and/or possible?
Shellac Brookdale
Cutting Edge Incorporated
#2 - 2012-09-16 13:51:13 UTC
There has been a session at fanfest hosted by the CCP web team talking about a javascript/webGL based star map that they were developing. It should have features similar to what you described and would be embeddable in any web site. Not sure about the status of the project though.

Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#3 - 2012-09-16 15:34:26 UTC
Doing it from a website isn't hugely difficult. Won't work in the IGB, but that's not a particular issue.


I played with Three.JS a while back and came up with:
http://www.fuzzwork.co.uk/starmap/constellation.html

It's purely a testbed, but you should see how it works. I stopped when I ran into the vector maths for three dimensional rotation from a 2 dimensional input.

Code at:
https://github.com/fuzzysteve/ThreeJs-starmap


The CCP one, I suspect, would be similarly handled.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

James Fordia
Aliastra
Gallente Federation
#4 - 2012-09-16 20:37:33 UTC  |  Edited by: James Fordia
Currently I am working on hooking up an EMDR data stream as an input to my EGM visualization. I think doing this as a reusable library is going to be difficult. I am leaning towards instead making EGM its own application but exposing an API for other applications to push data into it, maybe via WCF.
Risingson
#5 - 2012-09-16 21:07:52 UTC
Shellac Brookdale wrote:
There has been a session at fanfest hosted by the CCP web team talking about a javascript/webGL based star map that they were developing. It should have features similar to what you described and would be embeddable in any web site. Not sure about the status of the project though.


it is there for long http://www.eveonline.com/universe/the-world-of-eve/. its true they said they would make it available for third parties but did not read anything about it since back then.
James Fordia
Aliastra
Gallente Federation
#6 - 2012-09-18 05:02:16 UTC  |  Edited by: James Fordia
Progress! I have the whole galaxy rendering with 3D orbit-style camera controls.

Screenshot.

Each solar system in the galaxy is rendered as a simple camera facing triangle. The size and color of each is determined by the Node object associated with it. I also have click based selection of nodes working. What I don't have though, is any particularly useful data to render Smile

Here is how I imagine this being used....

A program like Eve-Refinery or Eve-Mentate would have a "show in map" button which would either redirect to the download page for EGM or launch it. EGM would then open a Named Pipe, something like "EGMDataPipe".

EGM then continually polls the pipe, expecting any date it reads to be in chucks of the following format:
int systemId
float size
byte colorR
byte colorG
byte colorB
byte colorA


EGM can also pass a systemId back along the pipe in response to a user selecting a node, although the application does not have to make use of this.

...

So do I have anyones interest in integration?