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

New ships under development

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

Post Reply
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: New ships under developemnt

Post by Commander McLane »

cim wrote:
Commander McLane wrote:
Note to ship designers: the entry <key>scan_class</key> should never be missing from a shipdata.
It should be safe to omit (at least, that's what the Wiki has been documenting for years). It defaults to CLASS_NOT_SET, which will be automatically changed to CLASS_NEUTRAL in most cases.
In most, but not all cases, which is precisely why the scan_class key should never be missing. Either you want a scan_class other than CLASS_NEUTRAL, thus the automatic change will be wrong and you need to explicitly set it, or you want it to be CLASS_NEUTRAL, thus the cases where no automatic change happens will screw it up and you need to explicitly set it. In both cases, explicitly setting the scan_class in shipdata is the obvious and easy remedy.

You see one example for a ship that has accidentally CLASS_NOT_SET instead of CLASS_NEUTRAL in the first of El Viejo's screenshots above. The wrong scan_class is solely responsible for the missing legal status.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: New ships under developemnt

Post by Commander McLane »

Shipbuilder wrote:
1) Non-player ships (Excluding police).
2) Non-player ships (Police only).
3) Player ship.
There's one case missing, but it's gonna be rare:

4) Non-player ships (Navy only).

There are some crucial differences between police and military ships, even if they both have the same kind of blip on the scanner. For instance, police ships scan for offenders and hand out bounties to offenders, military ships only scan for Thargoids and don't hand out bounties. Therefore, if you also want a military version of a ship, you need to keep it distinct as well. You'll probably want to give it slightly better specs as well, so it'll need a distinct shipdata-entry anyway.

(And of course nothing can keep you from creating more clones for other roles and purposes. For instance, a miner version of a ship should have a forward mining laser, while the trader/hunte/pirate version should not. A scavenger version needs fuel scoops, while the trader version perhaps doesn't. Etc, etc.)
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: New ships under developemnt

Post by cim »

Commander McLane wrote:
You see one example for a ship that has accidentally CLASS_NOT_SET instead of CLASS_NEUTRAL in the first of El Viejo's screenshots above. The wrong scan_class is solely responsible for the missing legal status.
Sure - but that's an Oolite bug, not a problem with the OXP shipdata. Even the core Oolite shipdata.plist doesn't bother setting CLASS_NEUTRAL, and the documentation in the Wiki doesn't even mention its existence as something you can set scan_class to. The game engine should be ensuring that ships never get into space with CLASS_NOT_SET still on them. (and it exists, rather than CLASS_NEUTRAL just being the default, so the scan class can be set by the populator to add the same ship in different roles, so explicitly setting CLASS_NEUTRAL is not necessarily right either)
User avatar
Shipbuilder
---- E L I T E ----
---- E L I T E ----
Posts: 877
Joined: Thu May 10, 2012 9:41 pm
Location: Derby

Re: New ships under developemnt

Post by Shipbuilder »

There's one case missing, but it's gonna be rare:

4) Non-player ships (Navy only).
Thanks for the help.

I think that I'm almost done with the tweaks with the script.

In this case I don't think that I am going to specify the ship for naval use however for future reference would it be a case of creating another set of ship data say colonialvipermk1-navy and inserting the following in to the code ?

Code: Select all

		<key>roles</key>
		<string>navy</string>
		<key>scan_class</key>
		<string>class_navy</string>
The GalTech Industries Corporation - Building ships to populate the galaxies.

Increase the variety of ships within your Ooniverse by downloading my OXPs

Flying the [wiki]Serpent_Class_Cruiser[/wiki] "Thargoid's Bane"
User avatar
Shipbuilder
---- E L I T E ----
---- E L I T E ----
Posts: 877
Joined: Thu May 10, 2012 9:41 pm
Location: Derby

Re: New ships under developemnt

Post by Shipbuilder »

I hope that you don't mind me posting the script for the ship but I would appreciate it if someone could confirm that the scan class issues have been successfully resolved.

If so I will post the Colonial Viper Mark 1 as an official release on the Expansion Pack forum.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">

<dict>
	<key>colonialvipermk1</key>
	<dict>
		<key>aft_eject_position</key>
		<string>0.0 0.0 -1.0</string>
		<key>auto_ai</key>
		<string>yes</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>3.0</real>

		<key>exhaust</key>
		<array>
			<string>4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-0.0 4.0 -4.0 1.1 1.1 5.0</string>
		</array>

		<key>subentities</key>
		<array>
		<string>*FLASHER* 0.0 4.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* 4.0 0.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* -4.0 0.2 -10.0 175 0 1 3.5</string>		
		</array>

		<key>forward_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>has_ecm</key>
		<real>0.9</real>
		<key>laser_color</key>
		<string>orangeColor</string>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<string>0</string>
		<key>max_energy</key>
		<real>250</real>
		<key>max_flight_pitch</key>
		<real>2.1</real>
		<key>max_flight_roll</key>
		<real>2.3</real>
		<key>max_flight_speed</key>
		<real>375</real>
		<key>max_missiles</key>
		<integer>0</integer>
		<key>missile_launch_position</key>
		<string>0.0 -11.0 -17.0</string>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>colonialvipermk1.dat</string>
		<key>name</key>
		<string>Colonial Viper Mark 1</string>
		<key>roles</key>
		<string>escort pirate(0.05) hunter(0.5)</string>
		<key>scan_class</key>
		<string>class_neutral</string>
		<key>thrust</key>
		<real>50</real>

		<key>view_position_aft</key>
		<string>0.0 5.0 -5.0</string>
		<key>view_position_forward</key>
		<string>0.0 -1.3 19.0</string>
		<key>view_position_port</key>
		<string>-4.0 0.0 0.0</string>
		<key>view_position_starboard</key>
		<string>4.0 0.0 0.0</string>

		<key>weapon_position_forward</key>
		<string>0.0 -1.3 17.0</string>

		<key>death_actions</key>
		<array>		
		<string>commsMessage: [colonialvipermk1-plea]</string>		
		</array>
	</dict>

	<key>colonialvipermk1-police</key>
	<dict>
		<key>aft_eject_position</key>
		<string>0.0 0.0 -1.0</string>
		<key>auto_ai</key>
		<string>yes</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>3.0</real>

		<key>exhaust</key>
		<array>
			<string>4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-0.0 4.0 -4.0 1.1 1.1 5.0</string>
		</array>

		<key>subentities</key>
		<array>
		<string>*FLASHER* 0.0 4.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* 4.0 0.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* -4.0 0.2 -10.0 175 0 1 3.5</string>		
		</array>

		<key>forward_weapon_type</key>
		<string>WEAPON_BEAM_LASER</string>
		<key>has_ecm</key>
		<real>1.0</real>
		<key>laser_color</key>
		<string>orangeColor</string>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<string>0</string>
		<key>max_energy</key>
		<real>250</real>
		<key>max_flight_pitch</key>
		<real>2.1</real>
		<key>max_flight_roll</key>
		<real>2.3</real>
		<key>max_flight_speed</key>
		<real>375</real>
		<key>max_missiles</key>
		<integer>0</integer>
		<key>missile_launch_position</key>
		<string>0.0 -11.0 -17.0</string>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>colonialvipermk1.dat</string>
		<key>name</key>
		<string>Colonial Viper Mark 1</string>
		<key>roles</key>
		<string>police wingman</string>
		<key>scan_class</key>
		<string>class_police</string>
		<key>thrust</key>
		<real>50</real>

		<key>view_position_aft</key>
		<string>0.0 5.0 -5.0</string>
		<key>view_position_forward</key>
		<string>0.0 -1.3 19.0</string>
		<key>view_position_port</key>
		<string>-4.0 0.0 0.0</string>
		<key>view_position_starboard</key>
		<string>4.0 0.0 0.0</string>

		<key>weapon_position_forward</key>
		<string>0.0 -1.3 17.0</string>

		<key>death_actions</key>
		<array>		
		<string>commsMessage: [colonialvipermk1-plea]</string>		
		</array>
	</dict>	

	<key>colonialvipermk1-player</key>
	<dict>
		<key>forward_weapon_type</key>
		<string>WEAPON_PULSE_LASER</string>	
		<key>aft_eject_position</key>
		<string>0.0 0.0 -5.0</string>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>3.0</real>

		<key>exhaust</key>
		<array>
			<string>4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-4.0 0.0 -4.0 1.1 1.1 5.0</string>
			<string>-0.0 4.0 -4.0 1.1 1.1 5.0</string>
		</array>

		<key>subentities</key>
		<array>
		<string>*FLASHER* 0.0 4.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* 4.0 0.2 -10.0 175 0 1 3.5</string>
		<string>*FLASHER* -4.0 0.2 -10.0 175 0 1 3.5</string>		
		</array>

		<key>laser_color</key>
		<string>orangeColor</string>
		<key>max_cargo</key>
		<string>0</string>
		<key>max_energy</key>
		<real>250</real>
		<key>max_flight_pitch</key>
		<real>2.1</real>
		<key>max_flight_roll</key>
		<real>2.3</real>
		<key>max_flight_speed</key>
		<real>375</real>
		<key>max_missiles</key>
		<integer>0</integer>
		<key>missile_launch_position</key>
		<string>0.0 -11.0 -17.0</string>
		<key>model</key>
		<string>colonialvipermk1.dat</string>
		<key>name</key>
		<string>Colonial Viper Mark 1</string>
		<key>roles</key>
		<string>player</string>
		<key>thrust</key>
		<real>50</real>
		<key>view_position_aft</key>
		<string>0.0 9.0 -10.0</string>
		<key>view_position_forward</key>
		<string>0.0 1.0 22.0</string>
		<key>view_position_port</key>
		<string>-0.0 0.0 9.0</string>
		<key>view_position_starboard</key>
		<string>0.0 0.0 9.0</string>

		<key>weapon_position_forward</key>
		<string>0.0 -1.3 17.0</string>

		<key>custom_views</key>
		<array>
			<dict>
				<key>view_description</key>
				<string>Rear View</string>
				<key>view_position</key>
				<string>0.0 10.0 -100.0</string>
				<key>view_orientation</key>
				<string>1.0 0.0 0.0 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Rear Right View</string>
				<key>view_position</key>
				<string>75 10.0 -75</string>
				<key>view_orientation</key>
				<string>0.9239 0.0 0.3827 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Right View</string>
				<key>view_position</key>
				<string>100.0 10.0 0.0</string>
				<key>view_orientation</key>
				<string>0.7071 0.0 0.7071 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Front Right View</string>
				<key>view_position</key>
				<string>75 10.0 75</string>
				<key>view_orientation</key>
				<string>0.3827 0.0 0.9239 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Front View</string>
				<key>view_position</key>
				<string>0.0 10.0 100.0</string>
				<key>view_orientation</key>
				<string>0.0 0.0 1.0 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Front Left View</string>
				<key>view_position</key>
				<string>-75 10.0 75</string>
				<key>view_orientation</key>
				<string>0.3827 0.0 -0.9239 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Left View</string>
				<key>view_position</key>
				<string>-100.0 10.0 0.0</string>
				<key>view_orientation</key>
				<string>0.7071 0.0 -0.7071 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Rear Left View</string>
				<key>view_position</key>
				<string>-75 10.0 -75</string>
				<key>view_orientation</key>
				<string>0.9239 0.0 -0.3827 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Top View</string>
				<key>view_position</key>
				<string>0.0 100.0 0.0</string>
				<key>view_orientation</key>
				<string>-0.7071 0.7071 0.0 0.0</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>
			<dict>
				<key>view_description</key>
				<string>Bottom View</string>
				<key>view_position</key>
				<string>0.0 -100.0 0.0</string>
				<key>view_orientation</key>
				<string>0.0 0.0 0.7071 0.7071</string>
				<key>weapon_facing</key>
				<string>FORWARD</string>
			</dict>				
		</array>
	</dict>
	

</dict>

</plist>
The GalTech Industries Corporation - Building ships to populate the galaxies.

Increase the variety of ships within your Ooniverse by downloading my OXPs

Flying the [wiki]Serpent_Class_Cruiser[/wiki] "Thargoid's Bane"
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Re: New ships under developemnt

Post by Thargoid »

The scan classes need to be in capital letters (see here).

Along a similar line, there is no built-in role "navy" nor a navy scanclass. The closest you can get scanclass-wise is CLASS_MILITARY, and to use a role "navy" you need an OXP populator script which would spawn a ship using that role. There may be one in Galactic Navy OXP (I don't have a copy here to check), but the trunk populator alone will never use a ship with solely that role.
User avatar
Shipbuilder
---- E L I T E ----
---- E L I T E ----
Posts: 877
Joined: Thu May 10, 2012 9:41 pm
Location: Derby

Re: New ships under developemnt

Post by Shipbuilder »

Thanks Thargoid. :D
The GalTech Industries Corporation - Building ships to populate the galaxies.

Increase the variety of ships within your Ooniverse by downloading my OXPs

Flying the [wiki]Serpent_Class_Cruiser[/wiki] "Thargoid's Bane"
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: New ships under developemnt

Post by Commander McLane »

There are some OXP ships which use the role "military" (corresponding to scan_class CLASS_MILITARY), for instance Military Fiasco.oxp. As the oldest OXP adding dedicated military stuff it's sort of setting the standard, and for later OXPs it sort of makes sense to follow the standard.
User avatar
Shipbuilder
---- E L I T E ----
---- E L I T E ----
Posts: 877
Joined: Thu May 10, 2012 9:41 pm
Location: Derby

Re: New ships under developemnt

Post by Shipbuilder »

I just thought that I would post a quick message to all those who offered assistance and feedback which enabled me to release my first oxp, The Colonial Viper Mark 1, yesterday it was much appreciated.

Hopefully I am picking things up relatively quickly but the forum has been a goldmine of information.
The GalTech Industries Corporation - Building ships to populate the galaxies.

Increase the variety of ships within your Ooniverse by downloading my OXPs

Flying the [wiki]Serpent_Class_Cruiser[/wiki] "Thargoid's Bane"
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: New ships under developemnt

Post by Cody »

Smivs wrote:
There is no 'standard' template as such for readmes.
On the subject of readmes: is there any reason why .rtf shouldn't be used for a readme instead of .txt? Many OXP authors do use .rtf, but not all.
Rich Text Format is far more readable than .txt, which is a pain and doesn't encourage the reading of anything!
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: New ships under developemnt

Post by Commander McLane »

El Viejo wrote:
Smivs wrote:
There is no 'standard' template as such for readmes.
On the subject of readmes: is there any reason why .rtf shouldn't be used for a readme instead of .txt? Many OXP authors do use .rtf, but not all.
Rich Text Format is far more readable than .txt, which is a pain and doesn't encourage the reading of anything!
I wouldn't know any reason. All my readMes are RTF, and until now nobody has complained about not being able to open/read them. (But then again, maybe nobody ever tried to read them. :wink: )

By the way: Oolite for Mac's own original readMe was an RTFD (picture included), but that wasn't readable on non-Macs.
User avatar
Shipbuilder
---- E L I T E ----
---- E L I T E ----
Posts: 877
Joined: Thu May 10, 2012 9:41 pm
Location: Derby

Re: New ships under developemnt

Post by Shipbuilder »

Further to the successful launch of the Colonial Viper Mark 1 The GalTech Industries Corporation would like to announce the immanent release of the Constitution Class Heavy Cruiser npc ship (See page 1 of this string).

I have to complete the texturing (95% complete), finish writing the script and carry out some play testing however I plan to have a pre-release test version ready within the next week.

The two main areas however that I need to review are the ship size and incorporation of Thargoid’s BigShip script to prevent attempted docking problems etc and make the ship suitably rare in the Ooniverse.

At present the ship is modelled 136m wide x 68m high and 288m long (As per the actual length), however due to the issues in Oolite with regard to scale I will need to increase the size somewhat so that it correctly relates with other ships within the game i.e. having a ship such as this only 2 or 3 times longer than a cobra Mark 3 is obviously wrong !

I was thinking of making it say 8 times longer than a Cobra Mark 3 i.e. new sizes would be approx 246m wide, 126m high and 520m long.

I am curious as to the view of members of the forum with regard to scale (Once decided I understand I can use the datscale.py script to resize).
Last edited by Shipbuilder on Sat May 26, 2012 11:25 pm, edited 2 times in total.
The GalTech Industries Corporation - Building ships to populate the galaxies.

Increase the variety of ships within your Ooniverse by downloading my OXPs

Flying the [wiki]Serpent_Class_Cruiser[/wiki] "Thargoid's Bane"
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5525
Joined: Thu Jun 12, 2008 6:55 pm

Re: New ships under developemnt

Post by Thargoid »

Scale is something of a matter of personal taste. A few of us put together an OXP of liners (unsurprisingly called Liners.oxp), which some people loved and some disliked, both due at least in part to the scale of them (some of them are huge, like my Emerald). And given the somewhat elastic nature of Oolite's rule(r) anyway (consider how many Cobbie's would actually fit in the volume of a Coriolis, compared to the stated capacities of both, and ditto for ships and cargo pods) then I'd say go with whatever looks and feels right to you.

As for bigShips - just include the role "bigTrader" (with a weighting if you wish) in the roles list, and optionally use the AI packed in the OXP. Then put in the readme that your OXP requires bigShips to be installed, and you're good to go.
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16063
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: New ships under developemnt

Post by Cody »

Thargoid wrote:
Scale is something of a matter of personal taste... And given the somewhat elastic nature of Oolite's rule(r) anyway
I have to agree with the TMA about personal taste, and scale in Oolite is madness (but that's probably one of the reasons why the game itself is so good). That 'rule (r)' is truly elastic... as he says, go with what you feel.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: New ships under developemnt

Post by cim »

Thargoid wrote:
(consider how many Cobbie's would actually fit in the volume of a Coriolis, compared to the stated capacities of both, and ditto for ships and cargo pods)
Quite a few - while the Oolite scale is flexible, everything smaller than a planet is on a reasonably compatible scale. A Cobra III has a bounding box volume of 2.5E5 cubic metres. A Coriolis has an internal volume of over 8.3E8 cubic metres, so you could fit well over a thousand Cobra IIIs inside the Coriolis and still have about 70% of the internal volume left over, if you were careful about packing. (The original Elite manual claims that they can berth 2000 ships, though it doesn't specify which ship - if they're mostly orbital shuttles this is more believable...)

A cargo pod has a bounding box volume of 3.6E2 cubic metres, so I think all of the core ships have enough internal space to fit their cargo holds, though maybe not much else in the freighters, even with a consistent scale.
Post Reply