Elite:Dangerous – Solar System Exploration

After having played around for a bit following my last post on Elite:Dangerous, I finally decided to “reset my commander” and start from scratch. And one of the things I wanted to show you today is how to explore a solar system you are new to and know nothing about. I have taken my ship to a system called LHS 3479 (not that it matters but that’s its name).

Image 01 - New to the Solar SystemMy built-in Cartographics Database  shows me a system made of three stars – for one of them, I already got information on some astronomical objects orbiting this sun.

Image 02 - LHS 3479Now, keep in mind the notation: the system I am in is named LHS 3479. The first star (the one I am currently examining) has received the letter “A” as designator, so it is LHS 3479 A – the two other stars will be LHS 3479 B and LHS 3479 C.

As I am currently really close to the star itself, the other objects appear “in sequence” – although in reality, their display is “by distance”. The first planet orbiting LHS 3479 A has received the designator “1” – it is LHS 3479 A 1. Now, I have already explored all astronomical objects in this solar system but I did not touch the two other stars yet – so my next target is LHS 3479 B.

Image 03 - LHS 3479 BThe image above shows: it is entirely unexplored (by me) – I know nothing about it… now, the good question is: how do we get there?

Size actually does matter!

Before I tell you a bit on how to find the next objects worth exploring, let’s take a look into the real universe, at our own Solar System. Why? Because Elite:Dangerous – like very few other games – is actually really close to some aspects of sciences. And understanding “the real thing” might help a bit in the game (plus: Astronomy is an interesting hobby to explore, too!).

First, let’s talk about our Sun: she is a quite “regular” star in our Milky Way, a so called “Class G” star. This actually touches what is called “Stellar Classification” and goes far beyond todays topic – but in a nutshell, a “Class G” Star is pure “mainstream” – not too big, not too small, not too hot, not too cold.

There are other classes – a “Class O” star, for  example, marks the one extreme on the classification: is is a giant star, huge, super hot and bright. A prime example of this type of star is Alnitak in Orion. It is a triple-star system (just like the one in Elite:Dangerous shown above) with the main component, Alnitak Aa being a a super-giant star, almost thirty times the mass of the sun. It is 19 times larger in radius than our own Sun and about 180.000 times more luminous. It is “one hell of a star” – you’d get yourself a sunburn really quickly 😉

By the way: Alnitak Aa is named this way because it is itself a double star system (with Alnitak Ab being the second component). The double-star system is itself a component of a binary system with Alnitak B being the other (third) star in the game. Now take a look back up at how the stars are named in Elite:Dangerous: we got LHS 3479 A, B, and C which tells us (if all is properly named) that the three stars are forming one system without two of them making up a double-component.

Back to the stellar classification – if “Class O” are the super-giant stars, the other extreme are the “Class Y” stars: the Brown Dwarf stars. They are small (about a couple of Jupiter masses) and cold. They are strange worlds with no or almost no light.

And then, of course, we need to talk distances. Elite:Dangerous uses Light Years on the galactic distances and Light Seconds once you have entered a solar system. Both are true astronomical units. The Light Second is easy: it is the distance the light can travel in one second and we know that this is (roughly!) 300.000 km or 186.000 miles.

In our own Solar system, Neptune is the planet farthest from the sun. It is roughly 30 times farther from the Sun than our own Earth is. So let’s do some math:

  1. The distance between the Sun and the Earth is roughly 150.000.000 km. Which means that light “leaving” the Sun needs about 500 seconds (at 300.000 km/s) to reach Earth. A bit over 8 Minutes. Or – in other words – the Earth is 500 Light-Seconds away from the Sun.
  2. Neptune is an unbelievable 30 times farther out – roughly 4.500.000.000 km. Light “leaving” the sun needs 15.000 seconds (or a bit over 4 hours) to reach the planet. So we can say: Neptune is 15.000 Light-Seconds from Sun.

So our Elite:Dangerous solar system LHS 3479 is significantly more packed than our own Solar System. But hey, that is game-play – and you will see in a moment, why.

How do we get to LHS 3479 B?

Leaving the real universe behind: how do we find LHS 3479 B? At least in the beginning, we cannot rely on our built-in ship scanner – it is of minor quality and will only find astronomical objects within about 400 – 500 Light-Seconds (Ls). That’ll do for some planets but not other stars.

I basically found three ways of isolating directions to fly to for further exploration:

  1. If there are other ships around, you can see their trail very well and you can just try to follow them.
  2. Even if you have lost the visual contact to another ship, it will leave a signature when leaving hyperspace: a Frameshift-Drive Wake (FSD Wake). These are discoverable by targeting them (and that will work beyond 500 Ls).
  3. Apply practical Parallax observation. Elite:Dangerous features a 3D-Universe and this does work – I will show you later.

Bot for now, let’s focus on FSD-Wakes first.

Image 04 - FSD WakesThe image above shows a targeted FSD-Wake in about 800 Ls distance. This is (currently) beyond the range of my basic discovery scanner so the thing to do is throttle up and head into the general direction of the FSD-Wake signature. When coming closer, I use the discovery scanner again, this time within its range limits.

Image 05 - Scan ResultsThe result: 12 new Astronomical Objects discovered. Now, there is no “up” or “down” in space but by coincidence, I was approaching the discovered system right “from the side”. In order to see another interesting feature in Elite:Dangerous, I had to get out of the orbital plane of the planets.

Image 06 - The OrbitsDepending on the view angle, you can see the orbits of elements around its center body – that is the orbits of planets around a star or (when further in) the orbits of moons around a planet. The image above shows five planets orbiting the star and an almost straight line representing the star’s orbit around the center of gravity of the triple-star system (which we will see later).

Now you need to scan the unexplored items – and that works automatically but depends on the size of the object and your distance from it. Target the object, then move in. Scanning will start automatically. For stars, they can be scanned from about 100 Ls, Planets from within this range.

Image 07 - ScanningSee the red frame in the lower left corner? This is where the scanning and eventually the scanned results are shown. All you need to do is target the unexplored… which is only a bit of work once you discovered them.

Now, in my solar system, with two stars discovered and their planets scanned, I am heading out to find the thirds star. Which proofs to be a but tricky… first of all, I really need to “leave” the two solar systems – here is a look back from about 2.300 Ls out (and we already know that the dimensions in Elite:Dangerous are smaller than in the real universe).

Image 08 - Stellar OrbitsThe image above neatly shows LHS 3479 A (selected, on the right) and LHS 3479 B with their respective stellar orbits. On my way out, I found another FSD-Wake signature (as described above) and then scanned the area with the basic discovery scanner. This is what I found:

Image 09 - Gas PlanetNot the expected third star but a giant gas planet, orbiting not one of the known stars with both – designator LHS 3479 AB 1. Plus five moons, classified as “ice planets”. Eventually, it turned out that there was a second gas giant out there: LHS 3479 AB 2.

Finally, I found my last missing star – again, a FSD-Wake helped but this time, I wanted to show you the parallax approach.

Image 10 - Parallaxe MovementThe two images above show my view of the space while approaching the third solar system. Between them lies possibly 60 seconds of flight. The top one is the first one – the objects marked are actually planets, the third star is the red “dot” in the center.

Between the first and the second image, some objects that could have been perceived as background stars actually moved – that is because they are much closer than the stars in the distance and as I changed my position, they also changed their relative positions compared to the (unmoving) background.

Image 10 - Parallaxe Movement IIIn-game, the effect is much more obvious as you can see the “dots” moving across the background once you found out what to look for. Finally, I had found the third star with its orbiting planets.

Image 12 - LHS 3479 CNow, with the entire system scanned, I headed of to a different star system to dock at McNair Gateway Station. And since money is always (and with Elite always was!) a concern, I am delighted to see that my work can be sold for roughly 19.000 Credits once I reach a system that is more than 20 Light-years away from the scanned system.

Image 13 - Selling Nav DataNice to see that there is an “exploratory way” to earn money…

Posted in Elite:Dangerous | Leave a comment

Elite:Dangerous – A new Life 3300 A.D.

In my previous post, I wrote about another classic computer game reborn: Elite. By the time I wrote the last entry, the final version of Elite:Dangerous was not yet available – but now it is. So time to catch up.

Once the new game client is downloaded and launched, I am greeted with this beautiful menu background picture showing a very well-known item: a classic space station.

Image 01 - Classic Space StationWhat a gorgeous sight – I must admit, I was a bit skeptical about the in-game graphics being “alike” but once I got into the game, I must say: they are as beautiful as the image above.

I am flying a Sidewinder spaceship – just like any other rookie. One of the first sights is the one from the cockpit into the surrounding launch pad. This one is taken a bit later in the game after I made some few flights – but rest assured: this is true in-game graphics.

Image 02 - In the Launch PadThis is kind of the “main menu” when the ship is docked in a space station. “Space Station Services” brings up the menus for trade, changing equipment and repairing the ship – next to some other ones. “Back to Surface” is the actual launch command which brings your ship back to the surface of the space station.

Image 03 - Before the LaunchThe sight above tis what I am seeing once my ship has been lifted up from the under-ground hangar onto the launch platform. What you are seeing is actually one large space stations and I am inside. This kind of view was impossible in the old days of Elite – the station was just slightly larger than the ship itself but nowadays, the station is huge.

Image 04 - Almost collidingYou actually have to fly the ship out of the station – and since Elite:Dangerous is a multi-player game, others may do just the same (plus some AI-controlled ships). Here, I am almost colliding with another ship on my way out – its pilot decided to pull right into may way…

Image 05 - The StationOnce I made my way out and gained some distance, I can look back to the Space Station – as I said: it is huge. And it is active – there is tons of traffic going and and coming out, many other ships to worry about.

Image 06 - Setting CourseSo let’s bring up the Galactic Map and set course to another star – in my case, I have targeted the Kini System.

Image 07 - Engaging Frameshift DriveThe way to travel from one system to another one is by using what they call the Frameshift Drive. Once the target it set and the FSD is engaged, you can bridge the distance very quickly (although the sequence still takes a few moments to complete).

Image 08 - Jumping out of HyperspaceLeaving hyperspace brings you very close to the star you jumped to – which means you need to take direct evasive action, otherwise, your ship will come too close to that sun, overheat and break up.

Now, I have been playing around with Elite:Dangerous for an hour or two. I was engaged by a single ship (which I destroyed, claiming the prize) and I spent the rest of the time exploring. So keep in mind: this is a big universe and (like back in the 80s) a lot of time is spent exploring, trading, earning money – unless, of course, you decide for a more… aggressive… way of developing your career… I shall keep you posted on mine 😉

Posted in Elite:Dangerous | Leave a comment

Another Classic Computer Game as been re-born: Elite Dangerous

Image 00 - Classic Elite Splash ScreenMany years ago, in the mid 1980s, a computer game challenged the imagination of boys like myself: Elite.

In its time, almost 30 years back, the original Elite introduced many concepts new to the world of the still young home computer industry and the games we were playing.

An open-ended game in an open-world setting where you would define the story yourself, a then revolutionary 3D-Graphics-Engine producing wire-frame 3D graphics, and almost infinite universe to explore.

Image 01 - Elite Dangerous LogoNow, almost 30 years later, there is a modern-day equivalent to the classic: Elite Dangerous. Or at least I hope it to be an equivalent.

The first sight of the logo is promising – the look of the bird is familiar and brings back the old Elite-feeling. Check the splash screen of the classic version above – can you see the bird?

Online Purchase, Installation & Start

So I buy myself a copy online which is pretty straight forward and install the game. Great, so far, that was easy… then I start the launcher and get an error. Pretty bad start if you ask me. Especially as the software tells me a particular DLL would be missing.

Image 03 - Error Message (German)The problem is resolved by installing an “old” version of DirectX – not sure why but hey, if that solves my issue… and it does! After slightly adjusting the display options, the background art is already impressive.

An impressive Display of Graphics

Now, we have come a long way since the mid 1980s (an long ago, I did a similar post on the progress in Microsoft’s Flight Simulator) – but Elite was leading-edge with graphics and I do expect nothing less today. Now, the background graphics already look stunning, I have to admit!

Image 04 - Background Graphics

In-Game Graphics

But what’s the game like? Well, at the moment, that seems a bit hard to tell because I ended up buying after the beta-phase was closed and about two weeks before the game will become available. Yet, you can already get a taste: the current “Mercenary Edition” does offer access to some tutorials you can play right now – which is what I did.

The ship that you can fly through the tutorial missions is a Sidewinder. It was one of the classic Elite ship in the mid 1980 although the player did start with a different one, a Cobra Mk. III – an amazing display of 3D-Vector-Graphics in its time.

Image 05 - 1980s SidewinderOf course, nowadays, we do expect slightly more, don’t we? And we will not be disappointed. Although I currently only can access the “Concept Drawings” that are prelude to the tutorial missions, here is the current version of the Sidewinder. Once the fill game is there, I will also provide a screenshot of the (still existing) Cobra Mk. III.

Image 06 - Modern SidewinderMoments later, I am sitting in the cockpit of my Sidewinder – about thirty years after my last Elite mission.

Image 07 - Cockpit Front ViewSome things have changed, of course, but the core elements are still recognizable, especially the large 3D Scanner Screen in the center.

Image 08 - Cockpit Front CenterOn the left side, sort of a hologram, is a display of the currently selected target. Center is the 3D Scanner that shows your your own position (center) and then the positions of other elements around you. It includes – like the classic version – a 3D component that shows you where in the three-dimensional room your opponent is located. On the right, you can see your own ship including its shields and their strength.

Image 09 - Target selectedOnce you have a target selected, the display changes and the target itself as well as information about the target is displayed.

If you – like me – consider the displayed graphics phenomenal, you might as well enjoy them as a movie (unfortunately, the direct video inclusion does not work for me at the moment).

Another thing I must admit I do like is the interface. By looking to the left or right, you will get different screens presented that you can directly interact with. On the left is Navigation – Transactions – Contacts:

Image 10 - Cockpit LeftThe right side holds the displays for Status – Modules – Fire Groups – Cargo – Functions. Particularly nice is the fact that you not only can display the current information, you can also modify it right there.

Image 11 - Cockpit RightThe status, by the way, is funny and brings over some of the dry British humor that is behind the game. The old days, you had a personal status – “Harmless” was the beginner’s rank. Nowadays, you get your personal Combat Rank (“Harmless”), your personal Trade Rank (“Penniless”) and your personal Explorer Rank (“Aimless”). I just hope, that with so many new features, I am not left “Clueless”…

Image 12 - Personal RanksSo far, so good – I guess, I am really looking forward to playing the full version once it comes out after December 16, 2014… I should be able to report more early next year…

Posted in Classic Home Computer, Elite:Dangerous | Leave a comment

Moving a SVN Server from Windows Home Server to a QNAP NAS – Part IV: SVN Operations

With Subversion now moved to my new QNAP, I need to start worrying about proper operational procedures under the new environment. One important bit is worrying about the Backup.

My repositories have grown rather large (at least some of them) and a daily full dump of the data is out of question. Instead, I am looking for a method that allows me one full dump, followed by a set of incremental dumps, created each time data is committed.

For the moment, let’s just assume that I will place the incremental backups in a dedicated directory on my RAID 1 Mirror (later-on, it might be an external HDD attached to the QNAP).

The implementation is easier than you might think – especially when using the already available SVN Hooks.

Image 01 - The SVN Hook DirectoryThe one we are interested in is the post-commit hook. Simply copy the post-commit.tmpl file to a file names post-commit (without extension). Then make the file “executable”.

chmod +x post-commit

Now edit the file, for example using nano. This is what you want to have in the file:

Image 02 - Post-Commit HookWhen you now commit to the repository, it will automatically create the backup directory if it does not exist and perform an incremental backup of the committed revision into this directory.

Note that the hook is repository-specific! You can copy the file to a different repository (again, into the hooks directory) and all you need to do is rename the PROJECT variable to make sure to commit into a different target location.

Image 03 - Results of Post-Commit HookWorse comes to worst, you can now restore your Subversion Repository from a baseline (full dump) and the incremental revisions.

Posted in QNAP | Tagged , | Leave a comment

Moving a SVN Server from Windows Home Server to a QNAP NAS – Part III: Setting up the QNAP

With the general possibility explored in my previous post, I have decided to grab one of the smaller 2-bay QNAPs, a TS-221. Two 3TB Western Digital Red HDDs will form a mirrored drive array (RAID 1).

Initial Installation – One HDD

Installing and initializing the NAS was easy, the whole procedure of plugging the disks in and getting the drive connected was less than five minutes. Next was using QNAP Finder to locate the drive in my local network, then kicking of the initialization.

Image 01 - Initializing QNAPOnce the new firmware was loaded and installed, the QNAP did present me with the choice of setup – I selected the Manual Setup.

Image 02 - QNAP Setup ScreenThat took a little longer – the process ran for about 30 minutes. Also, I did start the drive with only one of the two HDDs inserted to prevent loosing time on the RAID Initialization just yet.

The initialization process took quite a while and also rebooting the drive requires some patience until the system becomes accessible again. But finally, the system decided to come back and allow me to connect.

Initializing the RAID

Once installed, the next step is initializing the RAID-1 configuration. It takes a few moments for the NAS to recognize the second drive, afterwards, you can create the logical volume and allow the system to setup the discs. Mirroring will take a little while, in my case about

Image 03 - RAID1 MirroringInstalling IPKG

To install Subversion – which is not a standard application supplied by QNAP – you first need to install IPKG. This is done quickly and easily via the App Center.

Image 04 - Install IPKGOnce the installation has finished, you will find a new icon on your QNAP Interface, showing a LINUX penguin and the label Optware IPKG.

Image 05 - the Optware IconInstalling Subversion

Now comes the funny part – and it will take you down on the Linux Operating System Level of your QNAP. Get yourself PuTTY or a similar client, then connect to your QNAP and log in.

First, we need to update the IPKG Software Catalog.

ipkg update

It works similar to other package manager updates, for example apt-get if you are using Ubuntu.

Image 07 - IPKG UpdateNow, you should be able to install Subversion (with the package name svn). The command is simply

ipkg install svn

It will run for a little while and eventually will succeed (hopefully). And because I am in need for a text file editor, I also install Nano.

ipkg install nano

With that done, Subversion is on the system. And so is Nano.

Image 08 - SVN Installation finishedYou may also want to check that you actually have added the packages – a simple command will list all installed IPKG packages.

ipkg list_installed

Will produce an output similar to this one.

Image 09 - IPKG Packages installedNow, with the server installed, it is time to worry about the Subversion Repositories. First of all, we need to find an appropriate storage location on the disks. This can be different from QNAP to QNAP so you might want to find out which disks you got:

df

The command df stands for “disk free” and provides you a general overview of the disks in your system and their usage.

Image 10 - DF UsageOn my QNAP, it shows that /dev/md0 is the device (my RAID 1 Volume) and the location is /share/MD0_DATA. This is where I want my repositories to go…

Now, here come an interesting question: I can create the /svn directory on the command line or I can create it through the QNAP’s FileStation as a shared folder. I have decided to go with the latter as it makes the repositories visible through the QNAP’s web interface. Either way, listing the directories in /share/MD0_DATA is done with the ls command.

Image 11 - Content of MD0_DATARemember my previous post about restoring the SVN Repos I did backup before? I moved the repositories to a Ubuntu machine but in fact, it is not much different here. First, we create the target directory.

cd /share/MD0_DATA/svn
mkdir lego

Then, I need to mount the share on my other QNAP that was holding the SVN Repository backups. On the QNAP, however, you need to use a different way of mounting:

mount.cifs [IPAddress of remote QNAP]:/[Share] /mnt/QNAP -o user=[User],password=[password]

Of course, the above assumes  I have created a /mnt/QNAP directory as mount point. With that done, the next step is then creating the target directory. I am going to use my LEGO Repository again as an example.

svnadmin create /share/MD0_DATA/svn/lego

And I can verify the result in my web interface via the File Station application…

Image 12 - File Station with LEGO RepositoryNow, I should be able to load my previously dumped repository into the subversion repository on my QNAP.

svnadmin load /share/MD0_DATA/svn/lego < /mnt/QNAP/Subversion/LEGO.dump

Of course, you want to make sure that the paths you are using are matching your installations and shares! During the load, the QNAP gets pretty busy – CPU-wise, not so much traffic-wise.

Image 13 - Loading the Dump FileEventually, the load finishes and the repository should be up and running, full with data.

Image 14 - Load succeededWith that done, we need to look a little bit into security. For now, we only need to worry about access to the SVN Repository or Repositories. You got two options – you can set up a global security where all your repositories share the same users and passwords or you can setup a Repository-Level Security where you can define users and passwords per repository.

Image 16 - SecurityIn both cases, security is goverened via two files – passwd and svnserve.conf. The difference is their storage location. For Option 1, they go to the root of your repository directory, for Option 2, they go into the /conf directory within each repository (or at least that are the accepted standard locations).

Let’s look at svnserve.conf first. This file defines – on a general level – how your respository can be accessed:

[general]
auth-access = write
anon-access = none
password-db = passwd

You can already guess the scheme – what are authenticated users allowed to do (write), what are anonymous users allowed to do (none) and where are the passwords stored (passwd). The password database looks equally easy (and be aware: it is currently not encrypting the passwords!)

[users]
<UserName> = <NotSoSecretPassword>

Finding out how you can encrypt the passwords is now up to you… oh, an one more thing: this setup does not enable access to Subversion via HTTP/HTTPS – you will have to use the standard SVN Protocol.

Some Testing

Now, I got my LEGO Repository on both, my old server and my new QNAP. I am creating a test directory on my Windows client for each one of them an perform a full check-out to see how the QNAP does performance-wise.

This is a bit like comparing apples and pears because one is running via HTTP Protocol (old server), the other one is running via SVN Protocol (QNAP) but at the end of the day, the check-out takes roughly 107 Seconds on the old system and 83 Seconds on the new one.

Next, I am going to load a larger repository – the Dump-File is about 40 GB in size. This one really maxes out the QNAP’s CPU – the load took just under four hours to complete (over the network).

Finally, I have copied the next Repository to a USB 3.0 Disk and connected that one to the target QNAP. That second load (Dump file roughly 50 GB) took four hours and 30 minutes… seems like the limiting factor is not the network. But now I got two of my major repositories transferred and hooked up (use the SVN Relocate command on the client – you do not have to check out the repository from the new location!)

 One last thing

One last thing remains to be done: auto-starting the Subversion server when the QNAP is rebooted. First of all, it needs to be mentioned again that the reboot of even the small QNAP takes time: about 2 minutes until a ping -t can receive a response from the box, another 2 minutes until the administrative web interface becomes available. Just be patient…!

I have implemented a QPKG-based autostart method as described in the QNAP Wiki. This has been combined with the more robust approach to start the server described here.

Once the QNAP is back up and running, log in to a command shell and execute the following command:

ps | grep svn

If all has gone right, you should see two lines returned: your grep process and your svnserve process!

Posted in QNAP | Tagged , | Leave a comment