A Matter of Perspective

Transport Tycoon’s vehicle sprites are, as I’m sure we all know, not strictly dimensionally accurate.  In order to make his life easier, with a 2:1 dimetric projection and a movement system based on whole pixels and powers of 2, Chris Sawyer decided vehicles displayed in diagonal directions should have sides 0.5x the length of vehicles displayed in the horizontal direction, instead of the mathematically correct ≈0.72x.


This is unfortunate for us latter-day artists who want to draw something “realistic” (or, worse yet, use 3d rendering), but there is nothing we can do about it (at least for trains and road vehicles, which need to be chainable) *cough cough*, and it is at least somewhat understandable from a technical point of view.  However, there’s another TTD vehicle graphic anomaly which is avoidable, nonsensical, and ugly, and which we persist in recreating:

Chart of bad diagonal heights

On the left are TTD original sprites and OpenGFX; on the right are sprites from various 3rd party train sets – I hope no artists feel I’m singling them out, because my point is to illustrate that we all do it.  And what we all do is make our diagonal sprites smaller in height, by one or two pixels, than our horizontal sprites.

There is no geometric reason for this.  It’s a pain in the backside to draw, because you have to convert 8px of vertical information into 7px.  It makes the diagonal sprites look even smaller compared the horizontals, in addition to the excessive shortening in length.  The only reason we do it is because we’ve always done it.

Therefore, among the many TTD graphic conventions I’m abandoning for 10CC and other future work, I am no longer reducing the height of my diagonal vehicle sprites.  The resultant “full height” diagonals are, in my opinion, much nicer to look at.  They’re also a lot easier and more pleasant to draw. :)

F-Units with lightweight carriages

Leave a Reply

Your email address will not be published. Required fields are marked *