Попробую по-аргументировать.
Набор позиционируется приверженным реализму. В реальности у нас составы собираются из вагонов, и всё расцепляется. Вроде бы. Соответственно, больший реализм - это наличие большого парка вагонов и локомотивов в меню покупки. Облегчить ориентирование игрока в такой базе данных мы можем а) значками поверх вида ПС, б) надписями в пределах 2--3 строк текста внизу, в) цветом текста. Большего openttd не позволяет.
Чтобы вызвать у игрока психомоторную ассоциацию, я назвал это
конструктором. Типа, сделай сам. Точнее, собери. И да, требуется некоторое время на понимание и привыкание, как и везде.
Второй момент - почему я не делаю прицепные вагоны локомотивами. Дело в том, что в openttd признак наличия мощности разбивает список ПС на 2 части: локомотивы могут возглавлять составы, покидать депо, иметь функции проверки запуска/останова, присоединения к нему в состав, заменять/подменять ливреи единиц в составе и многое др. Вагоны в этих возможностях ограничены, но главное - они не могут возглавлять составы.
Чтобы обеспечить логику сцепки и пуска мне приходится на каждый локомотив вешать функцию поведения и не одну, при этом в GRF нет подпрограмм, поэтому приходится делать полную индивидуализацию или прибегать к макросам с параметрами, если что-то можно объединить.
Простой пример: чтобы не позволить цеплять элементы электро- и дизель-поездов к обычным локомотивам, надо на каждый (!) локомотив навесить блоки, проверяющие и не дающие это сделать. Кроме этого, локомотивы обычно имеют ещё особенности, которые тоже надо учесть, в результате чего код только пухнет и усложняется. Поэтому я стремлюсь снизить кол-во локомотивов.
Как компромисс, можно заметить, что электро- и дизель- поезда расположены примерно в середине: головные и моторные ближе к концу списка локомотивов, прицепные ближе к началу списка вагонов.
По хорошему, локомотивом д.б. только те элементы, что могут водить поезд. Т.е. головные вагоны только в случае ЭР1/ЭР2. Остальные - просто вагоны, бесправные.
И тягу давать через override моторных вагонов, но у меня оно что-то не получилось, и я наделал моторных локомотивов. Надо будет ещё попробовать избавиться от их локомотивных внутренностей.
Фишка в том, что в модели openttd локомотив должен давать тягу и должен стоять впереди, а вагон как бы нет. И функции проверок на это ориентированы, что запуск из депо, что проверка сцепки. Они вызываются только для локомотива, именно того, кто стоит первым в составе. Локомотив в опене один, вначале. Остальные все
вагоны.