I realize this would involve a lot of rendering and some additional strain on your server, but it would make the game look and feel a lot better. And given that computers have improved a lot since the early releases and many of the new users are on Steam, hopefully it's not so impractical now.

xml
Non-HD image finder.xml
assumedpseudonym 14 Oct 2016:

 This would probably be better done as a fix to vanilla than as a separate add-on such as the HD expansion, as illustrated by Shrike’s issues in SM&M++.

the_shrike 25 Oct 2016:

Yes. HD ships causes problems by itself for modding, and it's best to bite the bullet and just deprecate the old art entirely rather than have to download it *and* the 120-facing stuff. Splitting things into extensions makes *some* sense for new content (but even then causes problems for core modding)....but the HD-ships approach is really, really not worth it in the longer term.

nms 25 Feb 2017:

I wrote a script to identify ships that don't have HD graphics in core, Stars of the Pilgrim HD, or PlayerShip Drones Human Space NPC Override. I ran into some interesting bugs and issues in the process, but ultimately succeeded.

The following 6 ships in core don't have HD renders:

TX3 explorer auton 0x00003018
Molotok bounty hunter 0x00173001
Luminous drone 0x080200C1
Zulu-class gunship 0x08030004
Oromo-class gunship 0x08030006
Zulu II-class gunship 0x08030007

There's also Centauri command ship 0x08020043, which doesn't really exist, or have graphics at all.

The following 11 9 ships in Corporate Command don't have HD renders:

Anika-class heavy gunship 0x00810152
Naga-class gunship 0x00810161
Hornet-class chimera 0x00810170
Viking-class chimera 0x00810172
Ronin/C-class chimera 0x00810174
Sirin 3A-class gunship 0x00810235
Sirin 3B-class gunship 0x00810236
Likho-class heavy gunship 0x00810238
Omnithor gunship 0x008102A5

Lumiere sentinel
Lumiere battle auton

EDIT: the rest of these are now handled in my pull requests:

Additionallly, Scorpion-class gunship uses non-HD graphics even though the HD version is now in core. And two ships could be overridden to use the HD version in PSD:

Centauri heavy raider (scCentauriHeavyRaiderW3)
Centurion-class heavy gunship (scCenturionW6)

Finally, the following ships in Eternity Port use non-HD graphics that have HD versions in either SotP HD or PSD:

Hawker-class gunship 0x00910223 - Ronin
Avenger-class heavy gunship 0x00910225 - Ronin
Sphinx-class frigate 0x00910227 - Aurochs
Midway-class missileship 0x00910229 - Aurochs
Anubis-class armed transport 0x00910268 - T55
Maasai-class destroyer 0x0091026A - Aurochs
heavy IAV 0x00910364 (Strawman)

I think most of these are placeholders, but until they get their own graphics, they could at least be overridden in SotP HD (Aurochs and T55) or PSD (Ronin and IAV). Edit: Actually, the Anubis does have an override in SotP HD, but the entity declaration has the wrong UNID so it doesn't work. It should be 0x00910268. And the HD Aurochs is in core, so the ships using it as a placeholder could just use that version.

nms 25 Feb 2017:

I added overrides to my copy of PSD to fix the EP and CC ships that have HD renders. So that just leaves 17 ship classes that aren't HD.

<!-- Entities for CC and EP overrides -NMS -->
	<!ENTITY scScorpion						"0x00810162">
	<!ENTITY scCentauriHeavyRaiderW3		"0x00810141">
	<!ENTITY scCenturionW6					"0x00810144">
	<!ENTITY scHawker						"0x00910223">
	<!ENTITY scAvenger						"0x00910225">
	<!ENTITY scAPDStrawman					"0x00910364">
	<!ENTITY scSphinx						"0x00910227">
	<!ENTITY scMidway						"0x00910229">
	<!ENTITY scMaasai						"0x0091026A">
	<!ENTITY scAnubis						"0x00910268">
	<!ENTITY rsT55TransportHD				"0x00830017">

...

<!-- Overrides for Corporate Command and Eternity Port -NMS -->
; HD Overrides for Corporate Command
<ShipClassOverride UNID="&scCentauriHeavyRaiderW3;">
	<Image imageID="&PSD_rsCentauriHeavyRaider;" imageX="0" imageY="0" imageWidth="64" imageHeight="64" rotationCount="120" rotationColumns="12" />
</ShipClassOverride>
<ShipClassOverride UNID="&scCenturionW6;">
	<Image imageID="&PSD_rsCenturion;" imageX="0" imageY="0" imageWidth="64" imageHeight="64" rotationCount="120" rotationColumns="12" />
</ShipClassOverride>

; HD Overrides for Eternity Port
<ShipClassOverride UNID="&scHawker;">
	<Image imageID="&PSD_rsRonin;" imageX="0" imageY="0" imageWidth="48" imageHeight="48" rotationCount="120" rotationColumns="12" />
</ShipClassOverride>
<ShipClassOverride UNID="&scAvenger;">
	<Image imageID="&PSD_rsRonin;" imageX="0" imageY="0" imageWidth="48" imageHeight="48" rotationCount="120" rotationColumns="12" />
</ShipClassOverride>
<ShipClassOverride UNID="&scAPDStrawman;">
	<Image imageID="&PSD_rsIAVHeavy;" imageX="0" imageY="0" imageWidth="72" imageHeight="72" rotationCount="120" rotationColumns="12" />
</ShipClassOverride>

; Corporate Command ship that has HD version in core
<ShipClassOverride UNID="&scScorpion;">
	<Image imageID="&rsScorpionGunship;" imageWidth="68" imageHeight="68" rotationCount="120" rotationColumns="12" viewportRatio="0.005625"/>
</ShipClassOverride>

; Eternity Port ships that have HD version in core
<ShipClassOverride UNID="&scSphinx;">
	<Image imageID="&rsAurochsHD;" imageWidth="96" imageHeight="96"		rotationCount="120" rotationColumns="12"/>
</ShipClassOverride>
<ShipClassOverride UNID="&scMidway;">
	<Image imageID="&rsAurochsHD;" imageWidth="96" imageHeight="96"		rotationCount="120" rotationColumns="12"/>
</ShipClassOverride>
<ShipClassOverride UNID="&scMaasai;">
	<Image imageID="&rsAurochsHD;" imageWidth="96" imageHeight="96"		rotationCount="120" rotationColumns="12"/>
</ShipClassOverride>

; Eternity Port override that is in Human Space HD, but overrides the wrong UNID
<ShipClassOverride UNID="&scAnubis;">
	<Image imageID="&rsT55TransportHD;"	imageWidth="120" imageHeight="120"	rotationCount="120" rotationColumns="12"/>
</ShipClassOverride>
<!-- End of CC and EP overrides -->
relanat 1 Mar 2017:

Dissenting opinion.

IMO the smaller NPC ships don't need any improvement on appearance grounds. The game as it is shows them quite well.
Once you get to EI200 size then the turning starts to appear excessively notchy but ships smaller than that look OK.
It also looks to be related to manoeuvrability. slow turning ships have larger time gaps between turns so appear more notchy. 20 facing Ronins appear much smoother than 20 facing EI100s even though they are similar in size.
Possibly increasing to 40 facings would give a noticeably smoother appearance.with only a small increase in file size.

120 facings will need a sixfold increase in image size. Anyone done the numbers on how much bigger the game will be? Also if 40 facings became the new default? Does it require more processing power to run a lot of 120 facing ships? Will it cause lag?

All playerships and all large ships need 120 facings IMO. The playerships for the ability to have more aiming points and because they are looked at more by the player, and the large ships because they do appear very notchy.

Certainly have the images available for modders to use in playerships but to add them all to the game just "because we can" shouldn't be the base reason.

assumedpseudonym 2 Mar 2017:

NOTE: The following is entirely based upon my own experience on decidedly underpowered hardware while running the game via Wine. I make no attempt or pretense at claiming similar results for other players.

 All ships specific to Eternity Port are rendered at 120 facings, as are all of the ships I personally add in The Backroads and a lot of the shipw Wolfy adds in The Stars Beyond. The only time I’ve seen any noticeable effect is when a particularly large ship (as in having a frame size larger than 256x256 or so) or a Dragonfly (only 96x96, but 2,880 frames because it’s animated) is created while there is not already another ship of the same type (or, at least, sharing the same graphic) already active in the system, with that noticeable effect being a momentary pause while the game loads the graphic. I really only ever notice lag when there are more ships in a system, not larger ones. (I hate Ferian-heavy systems, and Ferian-heavy binary systems are usually a good excuse to start a new playthrough if I’m having a fairly marginal run. ¬.¬; )

 Actually, a better idea of how the game would perform would be by asking someone who runs an up-to-date version of Playership Drones — PM re-rendered everything he could to 120 facings in the process of making it.

nms 2 Mar 2017:

Two more down, 15 to go.

@relanat:
While it's true that additional facings will stop making ships appear to turn more smoothly above some rotation rate (90 deg/s for 120 facings, 540 deg/s for 20 facings), ships don't always turn at their maximum rate, particularly when following or aiming at a target. In this case the jump from one facing to another seems really huge with 20 facings. Also, limiting what directions ships can aim so much makes it very hard for them to hit things with fixed weapons at longer ranges. (At close range, it might currently increase their accuracy against small, fast targets, but that's due to a separate AI/engine issue that I think could be fixed.) I've suggested decoupling facing angle from number of frames, but if that were implemented, low numbers of facings would make it impossible for the player to accurately judge where ships are actually aiming.

As for performance, larger sprite sheets shouldn't affect processor usage at all, since it's still pulling the same size section out of the sheet. A basic Transcendence install uses 55 MB of disk space, Stars of the Pilgrim HD uses 32 MB and PSD Human Space HD uses 31 MB. So making all ships HD would roughly double the size, since it would replace some smaller existing images. I guess that could be a problem if your computer is from the 80s? Most players also have the soundtrack (59 MB), right? Transcendence uses about 400 MB of memory on my computer while in game, so I would expect it to increase memory use and load times by a slight, but possibly noticeable, amount.

nms 28 Aug 2017:

I've added commits to my pull requests for CC and EP to have the Scorpion, Sphinx, Midway, and Maasai use HD versions (since the HD Aurochs is now in core).

The issue with the Anubis turned out to be that there are separate versions with different UNIDs in CC and EP, but both had the entity scAnubis. My PR resolves the confusion by renaming the EP version scAnubisUAS. Making that one HD requires an updated SotP HD, which I will send to George.

So hopefully soon only the first five ShipClassOverrides in my code above will be needed in PSD Human Space HD (which I really wish PM would merge with SotP HD).

the_shrike 29 Aug 2017:

The main issue for small ships is indeed their inability to face specific directions. If file size is a concern then 40 facings is adequate, but 120 is more ideal.

Given how many modern games are packing GB of uncompressed audio these days, the footprint increase of larger spritesheets doesn't concern me overly.

nms 12 Sep 2017:

With George and PM's approval, my current PR adds PM's HD renders of 41 models to core. Thanks to the bitmaps being compressed, this should only add about 12 MB to the base install size.

If my PRs for core, CC, EP, and SotP HD are all accepted, that should leave only the 15 ships listed above with 20 facings when playing with SotP HD.

Edit: script mod attached. Now it outputs proper hex UNIDs. Load the adventure and extensions you want to check, then use ! to create a Find Non-HD ship on the intro screen and it will print to the log. Technically it can't check ship classes that have a <ShipClassOverride> applying to them, but the only uses of these that I'm aware of are in SotP HD and PSD HSHD, to give ships HD images.

assumedpseudonym 14 Sep 2017:

 …Uh-huh, I see how it is, trying to steal my gimmick of running utilities from the intro screen… ^.~

 More seriously though, the <Image> tag isn’t the only place that rotationCount can be defined. I can’t remember if it’s the <Maneuver> tag or the <ShipClass> tag itself where you can can define it — or both — but you may want to check those, too, just in case not all ships have been updated to the <Image> tag.

nms 15 Sep 2017:

Yeah, it's really clever. Thanks. Why create a new game when you can select the extensions you want, cancel from the ship select screen, and run the code?

You're right that older versions of the game stored the rotationCount for a few ships in the ShipClass. New version uploaded, just in case it's used to check older mods.

Edit: New version uploaded to restore hex UNIDs in 1.8A3.

nms 20 Sep 2017:

Thanks to PM's rendering and my XML work, all small ships in core are now HD. So when using SotP HD, everything is HD except two EI200 variants. When George accepts my PRs for SotP HD and EP, those two and all the ships using placeholders in EP will also be HD. That leaves only the 9 CC ships above that need rendering.

george moromisato 21 Apr 2018:

In 1.8 Beta 2, I've added 120-facing images for the 9 CC ships mentioned by @NMS. Thanks!