Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

RFC: Fancy classics

General discussion for players of Oolite.

Moderators: winston, another_commander

User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

I got it wrong - that is more the style of the cobra-clipper.
The courier is the existing cobra with a couple of extra engines center.
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Post by Yodeebe »

Simon B wrote:
How many turrets should an anaconda have?
Would people with turret experience please advise on anything I'm likely to get wrong?
so they can be seen by left & right & rear views is good. you can steer on a constant tangent to the victim, spin round him/her/it & blast away.
I see you've got one on the tail already.
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Yodeebe wrote:
Simon B wrote:
How many turrets should an anaconda have?
Would people with turret experience please advise on anything I'm likely to get wrong?
so they can be seen by left & right & rear views is good. you can steer on a constant tangent to the victim, spin round him/her/it & blast away.
I see you've got one on the tail already.
Yeah, I was trying to work out what turreted combat would look like. I probably need to play with a griff boa or something.

With existing ai for the anaconda, it would be most likely to try to run ... so rear turrets seemed a good idea. The pic has three turrets which can fire to the rear.

I got carried away modifying the hull and ended up with four turrets in each main arc. I also added two turret-guns without bases facing forward - ended up with

Note, I can use the external views on player ships for gun cameras? I just point the view angle along the turret-gun normal. May help for overhead and down below angles... since those are the turning directions.

We may want a script for faster turreted ships which will get them to try to maintain a broadside (stay 90deg to the target).

However, I'm mostly worried about turret-guns trying to fire through the ship. Do I need to restrict the rotation angle of the guns in a script?

Looking at the space-bar (hello Little Bear - and, um, Griff) the turrets are pretty self-supporting. The model puts all the bases in one entity ... so I'm guessing the bases are not all that important to the operation. I don't see any custom scripts associated with the turrets in the plist. But each gun is a seperate subentity.

I had thought that the gun orientation need not matter in the subentity entry because it moves about anyway. Presumably I have to make sure it's start orientation is pointing outside the hull though. However, I see that each turret on the spacebar has a complex quarternon. Do I need to specify a central normal?
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

A collection of Asps ...
Image
... thought you guys may want to see a comparison.
From left to right:
Asp mkII Explorer
Asp mkII Special
Asp mkII
Asp mkI

The neat thing about doing this was going back over the comments about the original Asp designs and putting those ideas into the variations.

So - for those who feel they've been adding comments only to be shot down or ignored ... it's still worth-while.

Meantime - I'm hunting through the RH oxp (the latest beta I can get) - shifting the models to like_ship so they use my models. Don't know how the diminutive ursid intended to make this sensitive to the presence of the oxp though. Maybe just putting the like_ship at the end of the entry?

Found some slight bugs already. Noticed some oddness with the turrets, which I need to check, and there's this thing with the dock. All OT. Must find where to send patches.

Some of the models don't really need to be altered - cobra-rapier for eg. But I'm keeping an eye out for the ones without explicit exhausts.
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Image

Evolution of an asp ...

As noted on the Elite Wiki, the asp mkII was produced in secrecy and feildd in the first stage Thargon Wars.

A top secret project was feilded to develop a "next generation" heavy fighter. The contract would go to the manufacturer most able to meet unprecidented design constraints. The craft had to be fast, witchjump-capable, and have enough power to handle heavy weoponry as well as military grade shields.

The asp mkI was a finalist. Before the contract was would be awarded, however, the military had some adjustments.

The design team came back with two proposals - The asp mk1bis, which was to see service as a Galactic-Cooperation Explorer/Survey vessel, and the Asp mkII.

The outbreak of the Thargoid Wars saw many shipyards come under military control and the winning designers - still secret - never saw a profit for their work.

The peacetime license fell to the Zorgon-Patterson Group, who updated the engineering to produce their "Special" edition, primarily aimed at the courier/escort market.

The old "A1" is still around as a series of bootleg varients. The craft can be manufactured and maintained at a low tech level, though not cheaply, making it useful in frontier sectors where it's reliability is justly famous.

What do you think?
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Griff
Oolite 2 Art Director
Oolite 2 Art Director
Posts: 2479
Joined: Fri Jul 14, 2006 12:29 pm
Location: Probably hugging his Air Fryer

Post by Griff »

I still have nightmares about those spacebar turret quaternions. they took a whole lot of trial and error to get correct, i almost wore out the shift key starting & re-starting oolite tweaking away at their shipdata.plist.

You're right, the bases that the turrets sit on are actually part of the rock model, in wings3d, i put a temorary vertex at the mid point of each base and wrote down it's co-oords so i could get the xyx co-oords for each turret subentity (remember to flip the sign of the x co-oord though, so if it's +'ve in wings, make it -'ve in the oolite shipdata.plist

to position the turrets, i used my 3d modeller program, i put the baserock object in the background, then grabbed my turret model in it's neutral rotation position (facing down the Z axis) and using only rotations in 2 axis rotated it into place (using the info panel in the 3d modeler to make a note of what rotations i did to get the turret pointing in the corret direction) - eg 20 degees on the x axis, 45 on the Z axis etc. i then fed these rotations values into a spreadsheet i set up with the quaternion calculation stuff from the wiki typed into it to get the final quaternion.
If i remember correctly, some of the rotations didn't work out properly, it's ages ago now but i think i needed to flip the sign on either the X or Y axis rotations - this is something to do with oolite using left hand co-oords and the modeller using right hand co-oords (i think)
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Griff wrote:
I still have nightmares about those spacebar turret quaternions. they took a whole lot of trial and error to get correct, i almost wore out the shift key starting & re-starting oolite tweaking away at their shipdata.plist.
I saw something in wings which tells me the normal to a surface, I was planning on using that and some vector math.
You're right, the bases that the turrets sit on are actually part of the rock model, in wings3d, i put a temorary vertex at the mid point of each base and wrote down it's co-oords so i could get the xyx co-oords for each turret subentity
griff griff griff ... select the top surface of the turret in wings (using area mode) and it tells you the center coordinate. That's how I've been getting the exhaust positions.
to position the turrets, i used my 3d modeller program, i put the baserock object in the background, then grabbed my turret model in it's neutral rotation position (facing down the Z axis) and using only rotations in 2 axis rotated it into place (using the info panel in the 3d modeler to make a note of what rotations i did to get the turret pointing in the correct direction) - eg 20 degees on the x axis, 45 on the Z axis etc. i then fed these rotations values into a spreadsheet i set up with the quaternion calculation stuff from the wiki typed into it to get the final quaternion.
If i remember correctly, some of the rotations didn't work out properly, it's ages ago now but i think i needed to flip the sign on either the X or Y axis rotations - this is something to do with oolite using left hand co-oords and the modeller using right hand co-oords (i think)
That's how I've been doing quarternon rotations. And the axis thing is a serious pita.

I'd work out the quarternons for the rotations about each axis, in turn, then multiply them together. You have to be careful to get the order right.

I did a lot of this for the rangiwaka shipset - I made sure that every subentity had one flat surface with a basis normal. After a while I found I could write the quarternon down from looking at the model. However, I was careful to use a narrow range of angles...

The things that tend to trip me up are the habits I got from using column vectors and radiens.

Just cannot recall how to get wings to tell me the face normal ... if I select two faces, it tells me the angle between their normals though.

How exact do the normal angles need to be? Does the turret code limit the angles by the surrounding model or is it just 90 degrees to the start position?
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Here's something that I'm playing with ...
Image
... that's an anaconda shown in there, for scale. The skin is not complete. May be a bit big:

Image
... no skin this time, but there's a coriolis for the size. The habitat rings are 780m across ... if I scale them dawn, the dock becomes a tight fit for some craft, but that needn't matter if I can figure out how to exclude too-large ships.

Main concern with the design would be that the dock faces forward ...
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Heavily turreted anaconda... um...
Image
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Simon B wrote:
The habitat rings are 780m across ... if I scale them dawn, the dock becomes a tight fit for some craft, but that needn't matter if I can figure out how to exclude too-large ships.
I'd vote for a large design because it should be a majestic view to see one. I don't know if you did test the torus oxp, it's stations also have a larger area in which witchspace is impossible.

I really like that idea!

Screet
User avatar
pagroove
---- E L I T E ----
---- E L I T E ----
Posts: 3035
Joined: Wed Feb 21, 2007 11:52 pm
Location: On a famous planet

Post by pagroove »

Simon B wrote:
Here's something that I'm playing with ...
Image
... that's an anaconda shown in there, for scale. The skin is not complete. May be a bit big:

Image
... no skin this time, but there's a coriolis for the size. The habitat rings are 780m across ... if I scale them dawn, the dock becomes a tight fit for some craft, but that needn't matter if I can figure out how to exclude too-large ships.

Main concern with the design would be that the dock faces forward ...
Wow I like that very much. Looks like a corporation building or research complex in space
For P.A. Groove's music check
https://soundcloud.com/p-a-groove
Famous Planets v 2.7. (for Povray)
Image
https://bb.oolite.space/viewtopic.php?f=4&t=13709
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Big it is then :) I note that nobody has commented on how overarmed that anaconda is ... it's speed is what? 170? If I do my usual trick of doubling engines giving 1.5x speed could I put that to 255 and lose 100T cargo? Then we have an anaconda class (battle)cruiser ... I've considered arming it with drones a-la tharglets. But, anyway...

I've reduced the size of the dock so it's not so weighty though.

Experience with docks?... do I need to cut out the dock interior for a separate object or can I just use the whole front section as the dock subent?

I guess I'll find out.

The design is quite modular - so there are lots of variations possible. Unhook the engines and you have a frontier station. Remove the habitats and you have a combat-carrier.

There is a station OXP with lots of rings - transhab?

I have played with the torus oxp.

The rings here are one model each - while the torus stations use lots of wee square models. Which I may end up using too - only I want to put lights around the ring which will look a bit repetative if I repeat the same model over and over ... and ... over ... though I could use one model and lots of skins ...
Last edited by Simon B on Thu May 07, 2009 2:39 am, edited 1 time in total.
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Math Alert - reality check...

Post by Simon B »

A quick foray into math ... reality check...

a sub-ent has to be at P with a new orientation
... the subentity notation requires (a,b,c,d,e,f,g) where (a,b,c) is the translation and (d,e,f,g) = Q is the quaternion rotation. Q can be derived by considering the new orientation as a rotation of angle T about vector r which is perpendicular to start and finish orientations.

set up the subent so that one face is at o=(0,0,0) with normal k=(0,0,1) ... at the origin, pointing along z axis. Work out the change by selecting this reference face after the shift. Wings3D tells you the center (x,y,z).

(a,b,c)=(x,y,z) ... fine.

If I have the start and end normals, then I have the rotation, vis:

if n = (h,l,m) is the end normal and o is the start then

n = Ro = YXo where R=YX is the rotation matrix - X and Y are the matrices corresponding to rotations about (1,0,0) and (0,1,0) respectively.

Or the short way:
k^n=r (rotation vector is the cross-product of the two) but k is a unit basis so:

r = (l,h,0)

n.k = s = |n||k|cos(T) => T = arccos(s/|n|)

So the problem is to find n.

For that I need three points on the plane.

Choose P as the center; choose R and S from vertices in vertex mode. The PR and PS are vectors in the surface of the face. Thus PR^PS is a normal to the face. The trick is making sure it is an outward normal.

I should be able to do the math using GNU Octave.

Code: Select all

% Manually add in the needed data
% The final center and two edge-points on the reference face.
% choose R and S so that left-hand-rule R --> S creates an outward normal
P = (input);
R = (input);
S = (input);

% computes the rotation vector and angle


u=R-P; v=S-P; n=u*v;
r = (n(2),n(1),0);
T = arccos( n(3)/length(n) );

% Resulting quaternion
Q = ( cos(t/2), r.sin(T/2) )
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Simon B
---- E L I T E ----
---- E L I T E ----
Posts: 836
Joined: Thu Oct 23, 2008 5:54 am
Location: Red Beach NZ
Contact:

Post by Simon B »

Image
... Ok then - fully skinned. I guess I'd better replace one of the stations with this while I'm ironing out the bugs. After that - I figure it can have the behemoth scripts etc.
Simon Bridge
[re2dux] [neolite]
"Everything is perfect down to every last flaw..."
HBT: The Book of Verse - Principia Discordia
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

Simon B wrote:
I've reduced the size of the dock so it's not so weighty though.

Experience with docks?... do I need to cut out the dock interior for a separate object or can I just use the whole front section as the dock subent?
It can be done either way. But if you don't use a separate object then the centre of the docking radius will be the centre of the model, which wouldn't work for this one or else you'd dock when you went anywhere near it from any angle. So here I'd use a conventional sub-ent dock and cut-out.

It also depends a little on how you've built up your model, as sub-ents can't have their own sub-ents. The dock would have to be a sub-ent of the main model, or alternatively if the front section is its own separate sub-ent anyway then perhaps using just a docking radius would work with that if the dimensions allow (the docking radius should be within the model, with only the required part available via an inset in the model, or again you'll be docking if you approach it from any angle - if that makes sense).

If you want an example of the former look at Lave Academy. And of the latter, well pick almost any other dockable entity ;)

Simon B wrote:
a sub-ent has to be at P with a new orientation
... the subentity notation requires (a,b,c,d,e,f,g) where (a,b,c) is the translation and (d,e,f,g) = Q is the quaternion rotation. Q can be derived by considering the new orientation as a rotation of angle T about vector r which is perpendicular to start and finish orientations.
Again correct. Simplest way is to create your sub-ent in a known orientation (e.g. pointing along Z like a normal ship design) and then use the quaternion part of the key to re-orient it along the direction you want it pointing.

So for example a sub-ent that by design points along Z but that you want to point along +X could be "<subEnt> x y z 0.7071 0 0.7071 0" and one along -X could be "<subEnt> x y z -0.7071 0 0.7071 0". Griff ClymAngus wrote a great little Excel sheet which works out the quaternion for one or two rotations around any axis you care to want.

Again if you want an example let me know, and I'll send you a WIP of the new Aquatics Hauler (the HammerHead) which uses such code for its sub-ent cargo sleds.
Last edited by Thargoid on Thu May 07, 2009 10:57 am, edited 1 time in total.
Post Reply