Space Dredgers, according to the BBC B Elite manual (THE Definitive
Guide :), are 40 miles (64.4 kilometers) long.
According to the various Star Wars web pages, the Executor-class Super
Star Destroyer (the largest ship barring the Death Stars) is a paltry
17.6 kilometers long, based on calculations only seriously bored or
nerdy geeks could possibly have come up with.
From this, we can say that a Space Dredger is well in excess of three
times the size of the Executor Super Star Destroyer from Star Wars.
Since it goes into war zones and Thargon-riddled systems, we can
assume it to be well in excess of three times as well-armed.
Yes, I know there are Deep Space Dredgers in oolite, but the fact that
they fit into the memory of a computer is evidence enough that they're
nowhere near the level of size and sophistication they "should" be,
given the above calculation.
However, herein lies a problem. Most of the Elite engines I've any
experience with are designed with the idea of one laser per side.
Again, according to Star Wars websites, SSD's have 600+ lasers per
side. Thus, Space Dredgers have 1800+ lasers per side. How do you
model a ship with that kind of firepower? (Let's say you model it as a
formation of ships that happen to interlock and appear as a single
ship - even if you only consider the "ships" on the side you're
facing, it's many hundreds of times the number of ships most of the
gaming engines could begin to cope with, even on the fastest gaming
machines out there. If you consider all the different sides, you'd
need a Blue Gene/L before you could begin to crunch the numbers.)
Of course, this raises another issue. Given they have 1800+ lasers per
side (and likely military beams at that), who the hell WANTS to run
into one of these? Even if you use the BBC B's commander editor and
give yourself a 255-strength energy unit (just sufficient to collide
with a space station and actually drill a hole right the way through
it in the original game), that kind of firepower would reduce your
ship to quark soup, never mind ashes.
But, then, I always was a bit nuts...
LOL, good read thanks.
Er, my main concern with 1800+ lasers per side would be clipping... You
can guarantee all but 2-3 of those lasers would at their max turret arc
hit the body of the ship itself! ;)
Hehehe, good old Elite.
That still means 2-3 lasers in every moment, no matter which part of the
dredger surface you are near.
But it could be that I'm missing the topic here.
Smart bomb. ;-)
No, that sounds about right and fits the way battleships have always
been designed and how a comparable spaceship might well work.
On the other hand, if all lasers DID target you regardless of
clipping, you could get one of these beasts to shoot itself to bits,
if you skimmed close enough to it and there was some superstructure
you could dodge round (such as the command deck on those Star
Destroyers I mentioned). It would be incredibly tough, but it might
make for an excellent mission!
Yeah, and then some smart alec coder requires you to fly through the
infrastructure and detonate it next to an unfinished reactor core, to
have any effect.
TY. Ok, well, two lasers at a time would be much less drain on the
system, so might be doable. If anyone has a Blendered image of a Super
Star Destroyer, we could probably duplicate the mid-section enough
times to make up the extra length, and then just scale up the end of
the ship to make everything still connect up. Getting the game engine
to cope with a ship of that size might be somewhat harder, as we are
talking a fantastic number of turrets and it's got to know which ones
it can use. It also has to know about more than one turret per side,
if this is done as a single entity, although as I said, if we trick it
by using an amazingly large number of independent ships that are
flying locked together, each ship can have one turret per side and the
engine doesn't require changing.
This would be hellishly hard to get into the game.... ....but so, so
definitely worth it! (Picture a mission in which an invading Thargon
asks you to do a fly-by to take photos of the Space Dredger...)
There is so much in the original novel and original manual that would
add to the basic Elite gameplay. Mambas being able to travel
underwater, for example, which should be (comparatively) simple.
Having a truly, utterly, staggeringly good AI (too strong for normal
circumstances) to represent pilots involved in the Dark Wheel would be
an interesting addition too. However, as fun as these would be, they
would be something any competent programmer could add, given time. The
Space Dredgers... ah, that will push the game engine and the computer
to the absolute limits and beyond. To do a Space Dredger right would
stress every component and reveal every iota of unnecessary latency.
Space Dredgers, then, are not just good for gaming, but good for the
game software as well. Flawed software won't cope with that kind of
overhead.
> Since I mention these wrt creating a model of one, I thought I'd get a
> few thoughts on the subject.
> Space Dredgers, according to the BBC B Elite manual (THE Definitive
> Guide :), are 40 miles (64.4 kilometers) long.
> According to the various Star Wars web pages, the Executor-class Super
> Star Destroyer (the largest ship barring the Death Stars) is a paltry
> 17.6 kilometers long, based on calculations only seriously bored or
> nerdy geeks could possibly have come up with.
Are you talking about theoretically implementing it in BBC Elite?
Aside from lasers would it really be that hard to implement? How long
would it take fly past it? How much bigger than a space station would
it be?
For that matter how would it compare to a planet? It would be
difficult if not impossible to make that comparison as the ship is
destroyed at a certain altitude above a planet so I'm thinking you'd
never see the scale of it as you would a dredger.
Andrew
--
It's hard to gauge the size of planets in BBC Elite, and there's no
point of reference on the surface, so I'm not sure it's a very useful
thing to compare with. Space station protection zones, on the other
hand, seem to be a bit easier. I'm going to guess that the radius of
the protection zone is two, maybe three, Space Dredgers-worth. It
would certainly be impossible for a Space Dredger to ever manoever
within the protection zone. Even a SSD had trouble handling Death Star
II and that was the size of a small planet. Space Dredgers are three
times longer, so could be expected to have 4.5 times time mass and
therefore 4.5 times the inertia. It's unlikely a Space Dredger could
comfortably orbit anything as small as a Death Star. It could orbit an
Earth-type planet at geostationary orbit - perhaps - but I wouldn't
want to fly one any closer than that.
IIRC, a space station is a kilometer across. So it would be 64.4 times
larger than a space station. The main problem is polygons. The two
spacestation types (dodos and Coriolis) are very simple structures
with few protrusions. A simple wedge Dredger would look something like
a Viper, only much, much bigger. This would be fine on BBC Disk Elite,
as the spaceships are all stored in the data files and so long as you
know the format, you simply replace one existing ship that uses the
right number of vectors (indeed, replacing the Viper might be a good
place to start) with something that of the right size. Well, "fine" is
perhaps a bit optimistic, it depends on the number of bits available
per vector. If a vector cannot be bigger than, say, one spacestation
in length, you are going to have a very hard time editing the ship
data to support Dredgers, as you'd need something with 64 times as
many vectors in it in order to avoid seriously messing up the record
structure.
(The two Great Wizards Of 'Leet read this group from time to time, so
if they can suggest any other way of coding it, I'd be grateful.)
Even with such a design, though, it has one laser. Total. There's
nothing you can do to change that. That's 7,199 lasers too few to be
an accurate representation. You MIGHT be able to wrangle it, even
then, if you hacked the code to let you have 7,200 tessellating ships
that always moved together. As I recall, four Thargon motherships plus
four Thargon drones seriously impacted performance. It was playable,
sure, but it was getting close to the limit of what the machine could
handle. Now, having a thousand times as many ships simultaneously on-
screen would knacker any real BBC and bring any emulator to its knees
before chopping its legs off. Even if you gave the emulator some
serious welly and gave it access to the full speed of a modern
machine, I just can't see how you could possibly support that number
of simultaneous ships. (This is also assuming you rigged the code so
that it could handle 8.000 concurrent ships.)
Now, if you go onto something like Oolite, where it becomes practical
to play with the source, it becomes a different matter. There, it's
possible to play with the field widths, create ship design records
with the right characteristics without risking buffer overflows or
record overlaps, and so on. Sure, it's then quite easy to create a
simple, skeletal oversized Viper that was the right size. You're still
missing all the guns, so you'd need to revamp the entire combat engine
to support enemies with not just multiple turrets but multiple turrets
on the same face.
However, modern Elite play-alikes and modern gamers expect a bit more
from a ship than an oversized doorstop. The only ship in sci-fi with a
remotely similar size, capability and purpose was the Executor-class
Super Star Destroyer, and even then you need to scale it up by about a
factor of 3. So, what you're really looking for to make this right, is
to program something with three times as many polygons as one of the
most complex sci-fi vessels ever designed, complete with a comparable
number of docking bays (so you've effectively multiple space stations
shoved into it as well, though they'd all use the same trading data,
so you can't just treat it like you would a planet with multiple
landing sites in the Frontier series).
> IIRC, a space station is a kilometer across. So it would be 64.4 times
> larger than a space station. The main problem is polygons. The two
> spacestation types (dodos and Coriolis) are very simple structures
> with few protrusions. A simple wedge Dredger would look something like
> a Viper, only much, much bigger. This would be fine on BBC Disk Elite,
> as the spaceships are all stored in the data files and so long as you
> know the format, you simply replace one existing ship that uses the
> right number of vectors (indeed, replacing the Viper might be a good
> place to start) with something that of the right size. Well, "fine" is
> perhaps a bit optimistic, it depends on the number of bits available
> per vector. If a vector cannot be bigger than, say, one spacestation
> in length, you are going to have a very hard time editing the ship
> data to support Dredgers, as you'd need something with 64 times as
> many vectors in it in order to avoid seriously messing up the record
> structure.
It would be impossible, unfortunately. The ship vertex co-ordinates
are 8 bit, with another byte for the sign. I've not entirely worked
that part out - considering how compact most of Elite is a whole byte
for the sign seems a bit of overkill. Anyway, the Dodo space station
is almost maximum possible size, as is the Python. Oddly enough the
Python model is longer than the Coriolis station is wide, but can
still be seen to docking with one sometimes.
--
Simon Challands
A byte for the sign is really strange. Is it using the whole byte (as
in 0x00 and 0xFF for the values) or just the first bit? If the whole
byte, does it look as if the code could have originally been written
with the intent of using 16-bit vertices? Other than as an overflow
for the sign bit, is the second byte actually in use at all?
> A byte for the sign is really strange. Is it using the whole byte (as
> in 0x00 and 0xFF for the values) or just the first bit? If the whole
> byte, does it look as if the code could have originally been written
> with the intent of using 16-bit vertices? Other than as an overflow
> for the sign bit, is the second byte actually in use at all?
I didn't find a use for the rest of it, although that doesn't mean
there isn't one. IIRC there were a few bytes that I never got to the
bottom of. Whilst having 16 bit values sounds plausible there are no
ships in the game that use them (there were two objects that I never
found, the missile and the Thargon, but they're both small), and it's
possible that they had to remain 8 bit in order to be fast enough on
an 2MHz 8 bit processor.
--
Simon Challands
How far did you get into the code? There's one thing that's always
puzzled me about the original Elite - if the laser strength is very
low (say 0x01) you can't even destroy cargo canisters. I was never
sure whether that was because of some function for laser damage
converting this to a zero-strength laser or whether computer-
controlled objects recover over time and this rate of recovery
exceeded the rate at which damage could be done with such a laser.
(Actually, there are several things that puzzled me, but this one
always struck me as being the most curious.)
There was also one race condition that I discovered. I could never
quite figure out exactly what the conditions needed to be to trigger
it, though. If you enter a space station at the precise moment you
enter witchspace, you end up docked in the space station at the point
of destination. Although I got to the point where I could invoke this
bug reliably, I never did discover the parameters it worked under.
> There was also one race condition that I discovered. I could never
> quite figure out exactly what the conditions needed to be to trigger
> it, though. If you enter a space station at the precise moment you
> enter witchspace, you end up docked in the space station at the point
> of destination. Although I got to the point where I could invoke this
> bug reliably, I never did discover the parameters it worked under.
That's interesting. I'm assuming you're talking about the original BBC
Micro code here? The ZX Spectrum version had a similar bug but the window
was much wider -- if you entered the space station at any time during the
hyperspace countdown you would end up docked in the target system. IIRC
this bug was removed from later editions of the game, along with a
notorious and trivial to find exploit that could give you silly amounts of
money right from the start.
I don't know how much of Braben & Bell's original code was transplanted to
the Spectrum version. I'd guess not much, if any, given the differences
between the 6502 and the Z80 so it's odd that a similar docking bug
manifested in both versions of the game.
--
Kev
__________________________________________________________________________
"Enclosed is a ruff draft of my resume."
From a resume cover letter
I don't know about the cassette version of Elite, but yes, this was on
the disk version for the BBC B. My guess is that even though the code
was not re-used, the algorithms (as near as possible) probably were,
and that this was a quirk in the algorithm.
Ah yes, I remember that bug well. I was so crap at docking with
stations (at something like the age of 10!), piling straight back into
the station with the hyperspace countdown going was my only hope of
getting enough money to buy a docking computer. I seem to remember
finding the bug out of frustration. Great days!
Dave
Heh. I got good at docking quite quickly, but once I got the Elite
Commander Editor, I stopped needing to. The fuel unit had a strength
associated with it, which determined how fast your energy banks and
shields recharged, it wasn't just a simple three-way state (none,
standard or naval). If you set the fuel unit to maximum strength
(0xff), you could actually fly straight through the space station. So
long as you were going slowly, the collision damage was always less
than the recovery rate of the fuel unit. (What's more, this was never
classed as an attack, so the space station wouldn't launch vipers and
prevent you docking, although in game terms, I'd hate to be on the
space station at the time!)
The practical upshot was that so long as the program detected you as
being in the right place for docking, you could dock from just about
any direction you liked. It made absolutely no difference.
This was actually a Good Thing to discover, as the docking computer
sometimes did indeed try to smash through from the side or the back of
the space station. It made no effort to go round if the space station
was directly between the ship and the planet.