Where’s the 1460/1502 for Trainz?

If you tried downloading my QR DEL Class pack recently, you may have found the download link is broken.

I have renamed the file because Chinese bots have been blindly downloading it a hundred times a day, racking up gigabytes of data usage. It’s still there: to download, simply change “Pack_1.zip” at the end of the filename to “Pack_2.zip”.

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

Planes and Ranges

OpenTTD 1.2.0 and the most recent version of av8 have introduced a new property for aircraft in Transport Tycoon; range. Range is implemented in a relatively simple way: it limits the maximum distance between airports in an aircraft’s orders. An “out of range” order will result in the plane refusing to move from its hangar or loading pad.


OpenTTD 1.2.0 also introduces monthly infrastructure maintenance costs, including very high (default) costs for owning airports. Both of these new features are attempts at addressing the perceived imbalance of aircraft in OpenTTD. Aircraft carry large numbers of passengers, very fast, across very long distances with no need for rails or roads to be built in between, and are seen as “money printing machines”. Many multiplayer games ban them altogether.

High infrastructure maintenance costs are not a very good solution, in my opinion, and av8 includes a parameter to reduce them. The specific problem with the air game is that building two airports a long way apart and spamming large aircraft between them invariably earns a lot of money, but infrastructure maintenance costs penalises all aircraft use equally; airports a long way apart cost the same to operate as airports close together, and airports used by one aircraft cost the same as airports used by fifty. The net effect is that previously marginally profitable small aircraft on short routes are no longer viable, while the “money printing” long distance routes are only trivially affected. The air game becomes even less balanced and interesting than it was before.

Range, on the other hand, is a worthwhile addition to the air game, although – if implemented “realistically” – it does nothing to address the problem of spamming large aircraft over long distances, as the largest aircraft tend to also have the longest range. What range does add is a more realistic simulation of the early period of aviation, where aircraft are usable in short hops only. It means as aircraft develop and ranges increase, players will put some thought into redesigning their networks to make use of the greater range, whereas previously the only differentiation between aircraft was capacity and speed, and slow planes were simply replaced with faster and larger ones.

I’ve had a few requests on the forum for a parameter to disable the range property, but on consideration I’ve decided not to do that. The range property is interesting and adds at least a little depth to the gameplay. Allowing players to disable the range of planes makes no more sense to me than allowing them to disable the horsepower of trains or the speed of ships. You’ll all just have to get used to it.

I’ll leave you with one last thought about aircraft balancing. If you, the players and developers of OpenTTD, don’t like how a particular mechanic plays, stop playing with it. We should not be putting our efforts into balancing super-jumbos flying from corner to corner of a 2048* map, because that gameplay isn’t interesting. Instead, we should try and make smaller aircraft, shorter routes and smaller maps more interesting to players.

Hello World

Hello folks, welcome to the new blog.

Two months ago I quit my job as a bus driver with the Brisbane City Council.  It was a good job, but the shift work, weekend work and overtime was very tiring.  I missed having the time and energy to be creative.

Transport Tycoon has been a favourite hobby of mine since the original game came out in 1994, and I’ve spent most of the last two months working on completing some OpenTTD projects, including – finally! – the 1.0 release of the UK Railway Set and updates for av8.  Currently I’m working on TaI industries and UK houses – the list of projects is never ending. :)

However, fun though OpenTTD is, I still need to make enough money to eat and pay the bills.  Most of that will come from boring contract work, but additionally I will be using this blog as a portfolio of sorts, and posting things that people may want to purchase; poster prints, t-shirts, mugs perhaps?  3D printable objects?  If you have any ideas of what you would like to see, please do comment on this entry.

I also have a donation button, here;

If you enjoy the work I do, please do consider donating.

My old Trainz website can be found here.