Elite / Frontier Elite - Amiga Version - Detail questions

BlastDuke. It is always very nice when someone comes around with "new" stuff about old Elite versions. Your screenshots actually caused to me certain interest for trying Amiga version someday with emulator myself. I've not ever played it, nor ever seen it running live in Amiga.

This thread is the second most interesting topic to me. [yesnod]

Generally, I strongly encourage fellow Elite commanders to provide relevant stuff about all classical Elite and Frontier versions (possibly compiling easy-to-access link lists and anthologies of facts to the thread OPs) in these forums as I think this site is most secured against the tooth of time (at least should be!!!) for saving experiences and gathered data of traveled lightyears. I consider this site as Coriolis station orbiting on the planet of remote tech level 2 anarchy beyond 2 hyperspace jumps via other anarchies.

It's our duty as old veteran members of the Elite Federation occupying these spiral arms of the galaxy. Keep up continuing! They never go old!!! [hotas]
 
Last edited:
I have found just one more detail :)
I have played the mission 4 "Destroy the Cougar" again, but this time I have equipped my Cobra with the ECM Jammer from mission 5 (so something not possible in game without using the HEX editor).
I wanted to find out how the game handles the missile when the Cougar is cloaked aka invisible.

But the surprising fact is: The Cougar can ECM-blast the missile even when the ECM jammer is active!
So the Cougar is even more advanced that the Thargoid ships...unfortunately the Amiga version will never tell us who built this thing...

Fly save!
 
Hello. Bumping this very old thread as it is the only one, I can locate that actually is about the Amiga version of this all-time great.

I'm exploring the 8 galaxies of the Elite 2.0, trying to determine the shortest routes for going the far corners of each galaxy (doing the Constrictor and the Thargoid documents missions). However, I don't want to do it manually, so I've tried to locate the coordinates of each system within each galaxy. I found sets of coordinates for other versions of the game (Oolite site) but they are apparently different from the coordinates in the Amiga version.

So, my question is: Does anyone know where I can locate each of the system coordinate sets, for instance by reading af savestate file from WinUAE?
Any help is much appreciated.

Best regards.
 
Hello Manfred.

Thank you for your response.
I believe the coordinates are different in the Amiga version because a lot of the distances between systems are different from those on the Oolite site.

A couple of examples:
1) Distance between Zaatxe and Celabile: Amiga, 0,4 LY / Oolite 0,8 LY
2) Zaatxe/Malama: Amiga, 6,0 LY / Oolite 6,4 LY
3) Zaatxe/Inines: Amiga, 2,8 LY / Oolite 3,2 LY

A lot of distances are different but they are all off by only 0,4 LY and then again, a lot of the distances are correct. That makes me believe that either:
1) The coordinates are slightly different for some systems in the Amiga version (from the Oolite version)
and/or
2) The code for calculating distances between systems are slightly different in the Amiga version than in the original version

I suppose the easier part would be to verify if the system coordinates, in fact, are slightly different in the Amiga version but I have no idea how to identify those coordinates.
If the coordinates are identical, I would have to investigate how the distance calculation is different from the original one.
 
Last edited:
I think there were some systems that were at the same location in the original game. Maybe the Oolite engine "fixes" those a little. I'm sure the Oolite map must be close enough to use to work out the shortest route though, I doubt there's enough difference to change that surely. The interactive map here lets you plot the shortest route between two systems:

 
Thank you once again, Manfred.
I didn't know about the interactive map and it saves a lot of time using it.

However, using the interactive map also confirms that a lot of the coordinates in the Amiga version are slightly different from the Oolite ones. The majority of the suggested routes are not possible to complete in the Amiga version due to 7.2 LY jumps (in Oolite they are 6.8 LY jumps). But at least I can do adjustments from the Oolite suggestions.

Being a nerd about understanding how the Amiga version actually works, I'll keep on trying to ask if anyone knows:

1) how to extract the system coordinates from a WinUAE savestate file

and

2) what the exact algorithm for calculating the distance between those coordinates is (in the Amiga version).

Once again, thank you for all of your help.
 
Last edited:
For 1), I doubt any co-ordinates are stored in the savestate as the galaxy map will likely be generated procedurally on the fly as in other versions of the game.

2) is probably answerable, but not by me :)

So it looks like the Amiga version co-ordinates/distances don't tally with Oolite, but it would be interesting to know if they tally with the 8-bit versions of the game, particularly the original BBC version. The algorithm for generating the galaxies is pretty well understood in that case and you can even download a C/C++ version from Ian Bell's site (Text Elite). If the Amiga version matches that then you'd have more avenues to explore, but if the Amiga version is something slightly unique then you'll probably be a bit stuck.
 
Oolite uses the same algorithm as the BBC version, which has some interesting rounding going on with integer maths.
There are bits in that algorithm where a standard jump from A to B is >7 LY, but you can go A->C->B in <7 LY (and therefore on a single tank).
Equally you can get to systems which are 7.15 LY away, because the eventual distance has to be in units of 0.4 LY, and it rounds down, so you end up with it counting as 6.8 LY
There's also the oddity that the internal coordinate system goes from 0-255 on both axes, but on the X axis each coordinate step is 0.4 LY, whereas on the Y axis they're only 0.2 LY, to make the rectangular maps.

There's enough details as part of the original optimisations that attempting to emulate the BBC algorithm on the Amiga's less constrained hardware might have slipped in a few minor differences here and there.
 
For 1), I doubt any co-ordinates are stored in the savestate as the galaxy map will likely be generated procedurally on the fly as in other versions of the game.

2) is probably answerable, but not by me :)

So it looks like the Amiga version co-ordinates/distances don't tally with Oolite, but it would be interesting to know if they tally with the 8-bit versions of the game, particularly the original BBC version. The algorithm for generating the galaxies is pretty well understood in that case and you can even download a C/C++ version from Ian Bell's site (Text Elite). If the Amiga version matches that then you'd have more avenues to explore, but if the Amiga version is something slightly unique then you'll probably be a bit stuck.
I've been studying the algorithms of the BBC Micro version at https://www.bbcelite.com/ and found out that there are always 2 system seeds available in memory; the current system you're in and any other system you select from the galaxy map. It turned out that the Amiga version works the same way and I actually located the system seeds of the selected system in a WinUAE savestate file. So, naturally I immediately checked the coordinates of the systems which I thought were different in the Amiga version: It turns out that ALL system seeds (including the x- and y-coordinates) are identical to those in the original version.

So at least I know that the issues with getting different distances in the Amiga version must be due to algorithms used for the calculation. As the distances are calculated using the Pythagorean theorem (A^2 + B^2 = C^2), you have to know your way around doing the square root of a binary numbers. I've been trying to comprehend the LL5 subroutine of the original source code (https://www.bbcelite.com/cassette/main/subroutine/ll5.html) but I simply don't understand it... yet.

Another source of frustration is the fact, that the algorithm for calculating the distance states that the "y_delta" (the vertical distance between systems) have to be divided by 2. This is due to the fact that the galaxy the is rectangular and is twice as wide (x-axis) as it is high (y-axis), so to get a distance that matches the shape of the long-range galaxy chart, the distance between the vertical y-coordinates needs be to halved.
Anyway, as Ian Doncaster states below, rounding (doing either division by 2 or square roots) is no joke and I suspect I get it wrong at this point.

Having compared Tibedied's distance to all other systems, looking for distance deviations between the original and Amiga version, I can only identify one common thing with the deviations: The "y_delta" is an odd number on all occasions. However, not all distances with odd "y_delta" values are wrong. Most of them are correct. Any of my attempts to, logically, correct the algorithm have corrected some of distances, only to make others deviate. I guess it's all comes down to knowing how to divide binary numbers correctly as well as calculating the square root correctly.
 
Oolite uses the same algorithm as the BBC version, which has some interesting rounding going on with integer maths.
There are bits in that algorithm where a standard jump from A to B is >7 LY, but you can go A->C->B in <7 LY (and therefore on a single tank).
Equally you can get to systems which are 7.15 LY away, because the eventual distance has to be in units of 0.4 LY, and it rounds down, so you end up with it counting as 6.8 LY
There's also the oddity that the internal coordinate system goes from 0-255 on both axes, but on the X axis each coordinate step is 0.4 LY, whereas on the Y axis they're only 0.2 LY, to make the rectangular maps.

There's enough details as part of the original optimisations that attempting to emulate the BBC algorithm on the Amiga's less constrained hardware might have slipped in a few minor differences here and there.
Hello Ian.

Thank you for your contribution. It's quite interesting that an extra jump sometimes equals shorter distance.
As stated in the previous post, the rounding (both division and square roots of binary numbers) is currently beyond my comprehension. Even if I do get the hang of it, I still have take into account that the algorithm used in the Amiga version probably IS different from the one used in the BBC Micro Elite version.

I wonder if anyone ever got around to pick up the source code for the Amiga version (cf. a previous post of this very old thread).
 
Last edited:
That's some pretty impressive and interesting detective work. It's been many years since I played the Amiga version, but one thing I remember is that the world descriptions (the "goat soup" string) didn't match the original 8-bit versions. No Lavian Tree Grub for example. There were also extra cargo items, Medicines?
 
That's some pretty impressive and interesting detective work. It's been many years since I played the Amiga version, but one thing I remember is that the world descriptions (the "goat soup" string) didn't match the original 8-bit versions. No Lavian Tree Grub for example. There were also extra cargo items, Medicines?
The world descriptions are completely different from one another. Eventually, I'll have to figure out what the Amiga algorithm is for setting that. That goes for Population, Gross Producitivity ("GNP" in the Amiga version) and Average Radius as well. They are completely different from one another. For instance:

Lave data, Oolite / Amiga version:
Population: 2.5 Billion / 7.7 Billion
Gross Productivity: 7000 M Cr / 30.7 M Cr
Average Radius: 4116 km / 34256 km

There are also minor differences with the species adjectives. In the Amiga version, "Black" has been replaced with "White" in Species Adjective #2 and "Mutant" and "Weird" have been added to Species Adjective #3. For instance, the species of Esesla in Oolite is "Small Black Rodents", in the Amiga version it is "Small White Weird Rodent".

And yes, in the Amiga version "Medical Supplies" can be traded. Best way of trading is to buy them at Rich Industrial systems (price range per ton: 49.2 to 97.2) and sell them at Poor Agricultural systems (selling price per ton: 89.4 to 134.8). It's similar to trading Computers but a greater profit can be made. On rare occasions, though, you might suffer a small loss.
I don't know what the differences are in terms of available equipment. In the Amiga version, you can buy: Fuel, Missiles, Freight Chamber, ECM, Pulse Laser, Beam Laser, Fuel Scoop, Escape Capsule, Energy Bomb, Energy Unit, Docking Computer, Galactic Hyperdrive, Mining Laser, Military Laser and Retro-Rockets.
 
Last edited:
Back
Top Bottom