Page 1 of 6

Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 4:11 pm
by Jona
I recently stumbled across Oolite and I would like to thank everyone for the severe bout of nostalgia and an increased risk of divorce in my household ... between me spending too much time building up my rating and my wife always seeming to ask me to take the rubbish out just as I am halfway through a tricky docking manoeuvre this game is causing several problems at home :?

Before discovering Oolite I was actually busy developing my own clone of Elite. This is still being worked on, at a slower pace (thank you Oolite!) with the basic movement and dog fighting working while hangar functionality (selecting ships, equipping them, managing cargo, etc) is also in place. Anyway ... back to Oolite ... as part of the current development I am working on some ship models of my own (in order to swap out place holder and also to align the graphics with for example the ship equipment process). Seeing the ability to add content to Oolite I was wondering if there would be any interest in me making these models available in an OXP as they are completed? For me it might be a useful source of feedback and I would be happy to feed stuff into Oolite as sort of payback on what I am getting out of the game. To give an idea of what I could offer a few work in progress screenshots are shown below...

Image
Image
Image

First question ... anyone interested?
And if so second question ... any constraints, or guidelines that I need to be aware of (I have started reading up on how to convert models for use in Oolite but am not sure if there are any hard limits on for example number of polygons, use of transparent textures, texture sizes, etc)?

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 4:48 pm
by cim
Welcome to the forums, Jona!
Jona wrote:
number of polygons, use of transparent textures, texture sizes, etc?
There's no hard limit on polygon/vertex counts, though it's often more efficient to use the normal map for fine detail. The highest polygon count in the game is on the planet at maximum level of detail, which has 20,000 vertices.

Transparency isn't supported (though the alpha channel of the texture will be read and may be used by the fragment shader for another purpose)

Textures must be sized in powers of 2, though don't have to be square. 4096x4096 is the largest I've seen used but you could go bigger if your graphics card supports it. (For most ships it would be unnecessary, though)

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 5:00 pm
by Cody
Aye, welcome aboard - interesting ship design.

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 5:37 pm
by Amah
welcome, looking forward to any contribution

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 6:28 pm
by Smivs
Hi Jona, and welcome. Nice ships :)
You should find all the info you need here and on the Wiki. The 'standard' texture size is 512x512px, but that won't allow a lot of detail. For high-resolution textures I use 2048x2048px. You might also find the Materials in Oolite wiki page very useful. And if you need to ask, feel free. We pride ourselves on being a helpful and friendly bunch (even us hen-pecked ones :P ).

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 8:57 pm
by JD
If you aren't already aware of it, you might find your models end up being about one third the size you intended when you put them in-game. Forum members who have experience in ship modelling can probably give you some pointers.

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 9:34 pm
by Norby
The size of a Cobra MK III is 130x30x65m in Oolite. like a football stadium:

Image

You can check the Ship size chart for more information.

Re: Newcomer and Possible New Ships

Posted: Fri Oct 03, 2014 9:45 pm
by Venator Dha
WOW!
That's big :D

I'd admit never really thought out it before. :lol:

Re: Newcomer and Possible New Ships

Posted: Sat Oct 04, 2014 12:41 am
by Redspear
Hi Jona and welcome :)
Jona wrote:
First question ... anyone interested?
Yep! Nice ship. Looks like a manta too...
Norby wrote:
The size of a Cobra MK III is 130x30x65m in Oolite. like a football stadium:
There's a pun in there about the 'wings' but I think I'll pass :mrgreen:
(runs for cover...)

Re: Newcomer and Possible New Ships

Posted: Sat Oct 04, 2014 8:42 am
by Jona
First off many thanks for the welcome everyone. And thanks for all the feedback so far - the link to the materials wiki page has been particularly useful ... plenty of 'light' reading to come!
cim wrote:
There's no hard limit on polygon/vertex counts, though it's often more efficient to use the normal map for fine detail. The highest polygon count in the game is on the planet at maximum level of detail, which has 20,000 vertices.

Transparency isn't supported (though the alpha channel of the texture will be read and may be used by the fragment shader for another purpose)

Textures must be sized in powers of 2, though don't have to be square. 4096x4096 is the largest I've seen used but you could go bigger if your graphics card supports it. (For most ships it would be unnecessary, though)
Great - fairly consistent with what I've been working on - only change I will need to make is on the transparency (in the models I create the windows are semi-transparent so you can see into the cockpit. Easy enough to change though. Currently I'm working with a poly budget of around 2,000 polys per ship while the textures are normally 2048 x 2048 (although I am planning to use two textures per ship in my game, one for the basic ship model and another shared texture for all the equipment add-ons ... the engines, weapons, scanners, etc ... which are shared between different ships) .. these textures can easily be merged though.
Redspear wrote:
Jona wrote:
First question ... anyone interested?
Yep! Nice ship. Looks like a manta too...
That was the objective so so far so good :D While I'm more of a programmer trying to do some decent game art (this will become much more apparent when I start texturing - really my weak spot!) I have tried to apply some kind of style to the designs - smaller ships (fighters such as the one shown) tend to have 'wings' to highlight their movement (as they will be smaller and less visible) while larger ships tend to be more blocky. I am also trying to shift the equipment to the outside so differently equipped ships look different while cargo ships clearly show off how much cargo they are carrying (why pirate a ship that is not carrying anything?). Clearly not the same style as the traditional Elite ships but it should be possible to create standard versions for inclusion in Oolite.
Norby wrote:
The size of a Cobra MK III is 130x30x65m in Oolite. like a football stadium:
This is something to remember - when I get a bit closer to having the first model finished I'll experiment with the sizing - this ship is supposed to be smaller than a Cobra (even a Viper) but there isn't much point spending days slaving over a model only to make it so small you can only see it when you're about to collide with it.

Re: Newcomer and Possible New Ships

Posted: Sat Oct 04, 2014 8:58 am
by cim
Jona wrote:
Currently I'm working with a poly budget of around 2,000 polys per ship while the textures are normally 2048 x 2048 (although I am planning to use two textures per ship in my game, one for the basic ship model and another shared texture for all the equipment add-ons ... the engines, weapons, scanners, etc ... which are shared between different ships) .. these textures can easily be merged though.
Multiple textures is fine (and a shared texture between ships for "bits" should be more efficient, too)

Also remember that even without writing a custom shader you can layer on several textures - the basic colour/diffuse map, then an emission map for lights, engine glows, etc., then a normal map. The textures can have different dimensions (the emission map might not need to be as high resolution in some cases, for example), but must have the same UV mapping.

Re: Newcomer and Possible New Ships

Posted: Sat Oct 04, 2014 8:59 am
by Smivs
Jona wrote:
I am planning to use two textures per ship in my game, one for the basic ship model and another shared texture for all the equipment add-ons ... the engines, weapons, scanners, etc ... which are shared between different ships) .. these textures can easily be merged though.
Sub-entities are your friend here. Parts common to many ships can be modelled and textured individually and then added to the 'base' ship as a sub-entity in shipdata.
For example for my current project (the 'Classic' shipsets) I have modelled three engines (small, medium and large sizes) which will be used on all the ships. Each engine has its own model and texturing, and one or more of the appropriate size are then added to the base ship.
So classicEngine1 (the small one) has its own model (classicEngine1.dat) and entry in the shipset shipdata.plist

Code: Select all

"classicEngine1" =
        { 
                 max_energy = 0;
		 materials = 
		 { 
		  "classicEngine1.png" = 
                   {  
                    emission_map =
                                  { 
                                  name = "classicEngine1.png"; extract_channel = "a";
                                   };
                    emissions_modulate_color = (0.5, 0.5, 1.0, 0.5);
                    normal_map = "classicEngine1_normal.png";
                    shininess = 10;
                    specular_color = ( 0.3, 0.3, 0.3, 0.1 ); 
                   };  
		 };
                 model = "classicEngine1.dat";
                 roles = "classicEngine1";
        };
and this is then added to the ship in the ship's shipdata entry.

Code: Select all

		subentities =   
		(
			{
				type = flasher;
				color = { hue = 0.0; };
				initially_on = yes; 
                                frequency = 1;
				phase = 0.0;
				position = (-14.0, 0.0, -22.0);
                                size = 5;
                                "bright_fraction" = 0.2;
			},
			{
				type = flasher;
				color = { hue = 120; };
				initially_on = yes; 
                                frequency = 1;
				phase = 0.0;
				position = (14.0, 0.0, -22.0);
                                size = 5;
                                "bright_fraction" = 0.2;
			},
               "classicEngine1 -6.0 0.0 -23.0 0 0 0 1", 
               "classicEngine1 6.0 0.0 -23.0 1 0 0 1",
               "classicShipsGun   0 0 21.0 1 0 1 0"
		);
along with a gun and couple of flashers. This example is from the Adder.

Edited to add:- It occured to me while posting this that the gun and engines are using the old-style sub-entity definitions which is something I will need to sort out before release. This is due to me adapting the old shipdata.plist from Smivs'Shipset while I'm developing the new one. The sub-entity definitions are explained on the wiki, here.

Re: Newcomer and Possible New Ships

Posted: Mon Oct 06, 2014 2:35 am
by Diziet Sma
G'day Jona, and welcome aboard.. 'tis always nice to see another programmer/modeller join the boards..
Jona wrote:
I would like to thank everyone for the ... increased risk of divorce in my household ... my wife always seeming to ask me to take the rubbish out just as I am halfway through a tricky docking manoeuvre
The 'Pause' button is your friend, here.. :wink: :mrgreen:

Re: Newcomer and Possible New Ships

Posted: Tue Oct 07, 2014 9:12 am
by Jona
Diziet Sma wrote:
G'day Jona, and welcome aboard.. 'tis always nice to see another programmer/modeller join the boards..
Jona wrote:
I would like to thank everyone for the ... increased risk of divorce in my household ... my wife always seeming to ask me to take the rubbish out just as I am halfway through a tricky docking manoeuvre
The 'Pause' button is your friend, here.. :wink: :mrgreen:
There is probably a joke in there somewhere about wives and pause buttons ... but I can't think what it would be :)

I'm still busy digesting all the information already shared ready for future use - at the moment I have just started texturing the model and I will aim to create an OXF as soon as the basic texturing is in place so I can see how the thing will look in Oolite. With the texturing I am taking my time (my normal goal is to create and texture a model in a weekend ... with predictable results). I'll post some updated screenshots as soon as I have more than the engines textured!

Re: Newcomer and Possible New Ships

Posted: Tue Oct 07, 2014 9:38 am
by Smivs
Jona wrote:
There is probably a joke in there somewhere about wives and pause buttons ...
I'm still hoping to find a volume control on mine! 8)