Page 1 of 6

Development: Arachnid SB

Posted: Wed Oct 29, 2008 1:15 am
by Simon B
Image

Arachnid
Please find arachnid.oxp.tar.gz containing a moderately complete oxp for an impractical ship.

The idea is to create a ship which is flawed, but a must-have. It needs to be fun to fly - and work around the flaws.

Feedback wanted.
If anyone knows how to get the fwd laser starting on the hull without cutting the model up, do tell. Meantime I'm in the process of cutting the model and reworking the oxp. Final version out soon.

Currently working on - getting rid of panda-effect skin, reworking to NZ spider styles: Avondale, Katipo and Wolf.

Features:
Very fast, moderate maneuverability, low cargo, low thrust = long stopping distance, flimsy. Sports a highly textured HUD.

The oxp file includes wavefront files and a blank texture template so modify as you will.

All is licensed under GNU GPL v3 or later - sources in the "Sources" directory.

Re: Development: Arachnid SB

Posted: Wed Oct 29, 2008 8:34 am
by Commander McLane
Simon B wrote:
If anyone knows how to get the fwd laser starting on the hull without cutting the model up, do tell.
The weapon_position_foo keys for shipdata.plist are broken since at least 1.70. As a result all laser exit points are currently at "0, 0, outermost z-value of your ship" (or "outermost x-value of your ship, 0, 0" for side lasers). So currently the only way is to model your ship in a way that its nose is exactly positioned at x=0 and y=0.

Or, of course, hope for a fix in 1.72.

Posted: Wed Oct 29, 2008 10:16 am
by TGHC
Have a thought for us poor aged non techies old chap, can this be extracted like an ordinary zip file, I really like the look of this ship.

Posted: Wed Oct 29, 2008 10:33 am
by Gunney_Plym
The method I've used to produce off center firing points is to create a very small sub-entity and mount a laser on that. The technique was originally nicked from the Imperial Courier model but also used by several others.

By using the small sub-entity it doesn't have to be a consideration when designing the ship, only when defining the shipdata.plist.

PS Nice design, calls to mind the Cylon's from the new Battlestar Galactica.

Posted: Wed Oct 29, 2008 11:13 am
by another_commander
Having seen it in game, I can confirm it is definitely Cylon design :-)

Posted: Thu Oct 30, 2008 3:41 am
by Simon B
TGHC wrote:
Have a thought for us poor aged non techies old chap, can this be extracted like an ordinary zip file, I really like the look of this ship.
Legacy system eh?

According to MS, WinZip can handle tarballs. Failing that, 7Zip is supposed to work. Dunno what Mac uses. Probably WinZip these days... it's bean about a decade since I've had much to do with any proprietary-model system.

Ships about to update - but I'd kinda like to get shaders down first. Also, one of the models is refusing to render it's pontoons - no idea why not.

Re: Development: Arachnid SB

Posted: Thu Oct 30, 2008 3:44 am
by Simon B
Commander McLane wrote:
Simon B wrote:
If anyone knows how to get the fwd laser starting on the hull without cutting the model up, do tell.
The weapon_position_foo keys for shipdata.plist are broken since at least 1.70. As a result all laser exit points are currently at "0, 0, outermost z-value of your ship" (or "outermost x-value of your ship, 0, 0" for side lasers). So currently the only way is to model your ship in a way that its nose is exactly positioned at x=0 and y=0.

Or, of course, hope for a fix in 1.72.
That would be consistent - cutting the ship up worked. The current version, the "legs" are seperate models. The obj file has a reddish-brown specular on the material which is quite nice. I gather this is done in the game with shaders?

Anyway, you'll notice the blue+grill behind the wings, I want a light blue glow an that :)

Posted: Thu Oct 30, 2008 5:06 am
by Simon B
another_commander wrote:
Having seen it in game, I can confirm it is definitely Cylon design :-)
I'll have to contradict you - the original was an attempt to model a Shadow Battlecrab from B5. Turned out to be too annoying to skin - though I could probably do it now by using sub-entities.

The next incarnation had eight legs - but it looked like a bunch of bananas - so I cut it to two, and removed a knuckle, and reduced the poly count - opting for Oolite's light interpolation (smooth=true).

I do have designs based on the cylon raider... but I want to find a timing for the flashers so I can get them to scan back and forth first.

I like what shaders on max does to the arachnid model.
For the new models, I've kept the bone-look for one, but reduced the "panda effect" burn around the rear vents. (I havn't figured what those are supposed to be yet - exposed witchdrives?)

Image
So the bone one is dubbed "Avondale" after the spiders I used to live with, and represents the standard commercial model.

Image
There is a dark one with a red stripe dubbed "Katipo" after spiders I grew up with. The NPC version sports twin fwd beam lasers, which must give it an energy hit. So we're more likely to see this as a bounty hunter.

Image
There is a brown one dubbed "wolf" for no good reason. More of a scout - perhaps the NPC can use thargoid scanners?

However - I've researched (pronounced "stolen") the supercobra AI for these. It may be a bit aggressive, but then, sitting in one of these you're gonna feel aggressive.

* Caution - the new oxp is much bigger than the old one - I'll trim it and update the site.

Posted: Thu Oct 30, 2008 6:30 am
by Commander McLane
I hope you are talking about the new supercobraAI, the original one was certainly anything but. :?

And--you guess it--there is of course already a ship named 'Wolf'.

Posted: Thu Oct 30, 2008 9:22 am
by Simon B
Commander McLane wrote:
I hope you are talking about the new supercobraAI, the original one was certainly anything but. :?
Me too ... I'm as guilty of leaving versioning info off these things as anybody. I slap myself of the wrist.
And--you guess it--there is of course already a ship named 'Wolf'.
So many cool names already taken. Another which comes to mind is "Vampire" - and you're going to tell me that'staken too...

I'm being careful with the shipdata though, the ship is called Arachnid, of which, there is a variant called "wolf". In the shipdata it is designated >arachnid-wolf< and the shipyards will list one - Arachnid "Wolf" - like that.

Once again Stupendous Man saves the day!
The crowds go wild!

I've trimmed the oxp so only relevant files are present in tho tarball. The pngs are already compressed so there's not much I can do about that without dropping quality. Perhaps I could put tho sources in a different archive? (GPL v2 is stricter about source distribution than v3).

On the lighting effects...
Looks like I want to fiddle with materials.

***
sanity check:

diffuse_map=the-regular-skin.png;
shininess=128;
specular=1,0,0,1
emission_map=emission-texture.png


should do for the effect in the images.
presumably in the shipsdata.plist dict for the object being modelled.
the emmission map is black everywhere except over the rear vents - where they are blue in the stripes??? (Thats a very large amount of nothing... but how else to get the vents to glow? Didn't I see the imp navy ships glow the same way I want? I'll go look...)

Posted: Thu Oct 30, 2008 11:23 am
by Griff
Excellent ship!
Materials would definately work for what you want to do, if you'd like to have a bash at using shaders instead an excellent OXP to work from is Svengali's "Vector OXP",
https://bb.oolite.space/viewtopic.php?t=4634
It has some really cool shader effects built into it and the best bit is, to get them working just need to supply 1 extra "effects map"!
In this case, you need to colour the effects map like this:

The amount of RED in a pixel controls the engine exhaust glow effect - this glow effect ramps up and down depending on the current speed of the ship

The amount of GREEN in a pixel controls the laser heat effect, for the players ship ramps up and down with the current laser temperature and can be used to give the effect of gun barrels glowing red hot or heat spreating from the gun onto the hull plating. For non-player ships (which don't have a concept of laser-temperature) the heat effect ramps from 100% to 0% for each firing cycle, creating more of a 'flash' effect than a gradual heat build up effect.

The amount of Blue in a pixel controls a constant glow effect, used for illuminating cockpit windows, hull lights etc - this would be used to control the blue glowing areas on your ship.

If you don't want engine glows, laser heat glows on your ship, simply leave out any red or green colour values from your effects map

I've whipped up an example effects map for your oxp, i hope you don't mind:
Image
this is what it looks like using the shaders in vector.oxp:
Image
These shots are from Rendermonkey, which is a free shader development program from AMD, the first pic shows the ship with all effects (engine & laser heat, and constant glow) at maximum, the second pic is the same except the main light source has been switched off so we can see the glow effects a bit better, and the third picture is the same except that a line in the fragment shader code as been altered to double the constant glow effect (i thought the glow as a bit too subtle using the default shader)

Painting your own effects map can be a bit confusing especially if you try and split an image into seperate colour channels, you just end up with a series of greyscale images that can be confusing to work with, well it always gives me headaches anyway! but there is a much simpler way of working, just create seperate layers for each colour 'channel' stack them above your usual texture map (diffuse map) and work by paining only red in teh red layer, blue in the blue layer and green in the green layer. When it comes time to save out your final effects map, just switch off the visibility of the diffuse map and a "save as.." so you can save out a copy of your effects map .png

Rather than clutter up your thread, I've posted an example image of this workflow over in the shaders outpost thread in the expansion pack sub-forum
https://bb.oolite.space/viewtopic.ph ... &start=217

Posted: Thu Oct 30, 2008 1:31 pm
by Eric Walch
Commander McLane wrote:
I hope you are talking about the new supercobraAI, the original one was certainly anything but. :?
I noticed it was the old AI. Even worse: It has as name "superCobraAI.plist". This way the last loaded AI will overwrite the first.

In this specific situation is no harm done. I have not changed the file "superCobraAI.plist", but added a new "superCobraJSAI.plist". This way I use the old AI with legacy Oolite versions and with 1.71 a script will switch the AI to the new one with JS functions. This new AI will not be as easy portable as the old one, because it also needs a JS script and its own additions in shipdata.

But in general: Make your AI names unique because identical names will overwrite each other.

Further I noticed you only use default roles like trader, pirate etc. These ships will get a AI assigned by the system, belonging to their role. This way the supercobraAI will never be used. By the way, this supercobraAI is nothing more than an old trader AI with some added comms messages.

I also noticed a role of "scavenger" with the wolf. This means it will sometimes be launched by stations to scoop up debris. But, you did not give it a scoop to actually do the scooping. This way they will just bounce against the debris. When you are lucky the debris explodes, when not it will keep bouncing against the debris.

Posted: Thu Oct 30, 2008 6:21 pm
by Svengali
Sounds nice, Griff - 'excellent OXP' - but the truth is that I've stol.., err misus.., eeh used Ahrumans code from the ShadyCobra.oxp. For the Vector I have modified the fragment shader a little bit, but when I made it I even didn't understood anything - chinese GLSL :-) and tried a lot of variations. This has changed in the meantime and the next release of the GRS-Station (buoyRepair.oxp) has some new shaders. Simple things, but I think they will improve the station. And there I've used only one map per entity. So a extra 'effects map' isn't necessary here. And to reduce the amount of used memory all pics are 24Bit with 256 colors again - even if Ahruman says that this doesn't have any influence, because Oolite uses them as RGBA maps :-).

And Griff - you have already shown how to combine maps - this and a lot of your other work is outstanding!!
SimonB: take a look in Griff's station- and ships- oxps. There (and in Ahrumans examples) you can find a lot of nice stuff.

BTW: The next Vector-Release will come the next days with the old shader stuff - there was no reason to change it - as a mission-oxp and the next buoyRepair is nearly finished too (with Erics cool scripting) so it will come very soon too - I think - but we have to test it a little bit more before dropping this bomb.

Posted: Thu Oct 30, 2008 7:18 pm
by Simon B
Great response guys - this is what FOSS development is all about, and why I posted unfinished work.

I now have a much better idea of what I'm doing, and problem 2 (glow effects) have been solved.

I'm still nutting out how to get that specular effect to work.
Now to go look at those ships...

I note - the laser does not exit the points of the legs - sorry grif - but that's OK. It should exit front and center. Including the katipo I guess, since the leg models are off-center. (Need to correct this - low priority.)

The ai type is not set in the current oxp, so I can delete that. As mentioned, it is not actually used. The supercobra, I learn, has a script to generate npc instances of the ship.

Right now - need to set the specular property of the hull ... or otherwise set a reflection color.

Posted: Thu Oct 30, 2008 7:46 pm
by Simon B
um - grif - nice oxps dude, but you use Openbox for hosting...

and I'm getting:

Code: Select all

This user is not allowed to use direct links.
Please email [email protected] for support

To download this file, please visit: http://www.box.net/shared/gej970qtqj
Is "this user" you or me?

Anyway, it should be possible for me to go into the directory and just grab the file irregardless of the interface - eg. if you browse to http://www.hbclinux.net.nz/oolite/ you get a directory list - for some reason, openbox don't want me getting files this way.

I don't seem to have blocked any javascript on that page - maybe a third party wants a cookie? Maybe I have to sign up?