DOOM Obscenely Oversized Machinery

During the 32bpp/EZ conversion of NUTS, I have come to various conclusions and ideas coming mostly from limitations that old NUTS has. Because of that it is likely that since already create models for trains, I might also create a new NewGRF - DOOM.

This page will collect the ideas and brainfarts I get, eventually gathering all the conceptual info that will form DOOM once.

First and foremost visual idea is to create big, detailed models. That means many of them could be simplified/adjusted to fit NUTS as well. So NUTS development is definitely not over. :) Advantage of 3D models.

1. SIZE MATTERS.

When rendering, 8/8 trains look ultra strange and very far from resembling a real train. And if they attempt to resemble a real train, they look stupidly short.
That is while keeping a reasonable width and height. Of course I could make width and height smaller to make the length look okay. BUT I could also increase the length!
As some vehicles in NUTS, all vehicles in DOOM should be 16/8 in total. With the double length I hope to reach some nice detail in sprites, more natural look without looking like shrunk in length. Also gaining perfect consistency - you will be able to buy everything in 1 tile consists.

Normally trains simply have 1 8/8 unit to make a half-tile vehicle. For 16/8 I would need two which is no big problem.
This of course means that no matter how the train will look, it will always be split into at least 2 parts unless I create one huge sprite for it (which would definitely glitch like hell especially in tunnels etc.)

Stretching compromise

Fact is that diagonal vehicles in NUTS look awkward because they are stretched to 140% of the original normal-track length.

To make this a lot less visible, DOOM models will be created at 120%, and then downscaled to 100% or 140% respectively.

I will keep my 10m x 10m tile scale, but I will put the camera coordinates to 83% so that it renders correctly. :)

Camera coordinates:
x = 867,641cm
y= -867,641cm
z= 708,427cm

DOUBLE THAT
x = 1735,282cm
y= -1735,282cm
z= 1416,854cm

Scaling:
Working = 100%
Normal direction = 83%
Diagonal direction = 116%

2. Ultimate Wagon

This is an idea I already tried to create for NUTS. It is an Universal wagon taken to the next level - a wagon which:

  • you can attach to ANY engine
  • automatically changes sprites according to leading engine
  • automatically changes capacity/loading speed according to leading engine
  • you do not need to autoreplace - it is used everywhere
  • can load ANY cargo just like Universal wagon

I was just too limited by NUTS so implementing it was pretty unthinkable, but in DOOM I can do it. :)

3. Ultra-articulation

The part on which it ran into problems with execution in case of NUTS was that I have wagons which are 8/8, and wagons which are 2x 4/4. That requires creating a special/fake articulated vehicle consisting of 1 + 2 + 2 + 2 + 1 long units - the central 2 for 8/8 vehicles, the edge 2 to be for 2x 4/8 as they are in the centers of such vehicles.

So far I am figuring 2 parts of a 16/8 vehicle could look seriously awkward when some trains get cut in half for no apparent reason. NUTS intercity steamers have a special template where the first vehicle can visually have any length, always uses the pivot of first 8/8 unit, and everything is alright except slight glitches at tunnels, and similar things.

3.a. Many train pieces

I am thinking that besides cutting the vehicles into 2 parts, I could cut them into 5 parts per 8/8 - so each of the articulated units actually gets a sprite. When the train would be turning in curves, it would simply turn anywhere, in the middle of engine, wagon, anything. Without unintentional glitches, but it would probably look strange all of the time? Testing will decide that. :)

The advantage is that with 3D models and their postproduction I can easily create those parts and adjust everything on the fly. With pixel drawing I would probably have to redraw majority of things in order to make a change.

3.b. 9 or 10 pieces?

Optional is to create 9 units 1 + 2 + 2 + 2 + 2 + 2 + 2 + 2 + 1 instead of 10 units 1 + 2 + 2 + 2 + 1 (5 units x2) 1 + 2 + 2 + 2 + 1 + 1 + 2 + 2 + 2 + 1
So I would actully get even a middle-piece which could be nice for some wagons with a middle piece or stuff. 10 units are probably more consistent though. And putting the eventual middle piece to one of the 1/8s is probably visually indifferent.

In the end I am making 9 pieces because with a central piece, it is easy to align.

3.c. Depot sprites

Because when dragging vehicles in depot, always the first articulated part shows instead of the cursor. Because of that I will define special depot sprites to make it work nicely.

4. Train classes

The train choice in NUTS seems to be a bit too far, there is probably about nobody who knows how to use each engine most efficiently, and which engine to choose in which situation (even though it is written in the NUTS wiki).

Resulting in rather confusing gameplay, especially on the first sight. At least to begin with I would like to stay with smaller amount of total trains, but let's see how far it gets. I would quite hate to lose the track variety of rail/monorail/maglev however, so those should stay. I am most thinking about removing some classes which have very similar counterparts on other types of track. For example for TL3, rail medium, monorail medium and chameleon do pretty much the same job. With rail and maglev fast classes being very similar too.

I am not sure what exactly will I include in total, but for example rail and maglev fast class will be overridden by rail intercity - good speed, good power, terrible capacity.

4.a. MUST haves:

  • Rail Super Strong - General utility, always works well for any normal trains, exceptional for short trains like 2 tiles because there acceleration is king. Making everything 1 tile, the superstrong basically merges with being strong, only speed/power would alternate.
  • Rail Medium - Possible option to fill the gap between superstrong and intercity. I would leave this out to start with though.
  • Rail Fast = Intercity - the fast and express option, still strong as hell but caries less.
  • Rail Local - the slow, weak, huge passenger capacity trains.
  • Monorail Fast - long trains with long curves option, with high passenger capacity to allow also passenger stuff with one train. I would leave monorail medium out because it just fills the tiny gap between rail medium and rail fast but has no special use.
  • Maglev Medium - The huge speed, huge utility vehicle with insanely low curve requirements, but rather low capacity. Could also replace maglev intercity. Possibly including DOOMSLUG.
  • WTF - everything wtf with various special use cases
  • Doombringer. Nuff said.

Another problem arises with implementation of current express-only classes as the Ultimate wagon could load any cargo. Solution is to simply reduce capacity majorly to the point where it is not a great idea to use those trains for cargo - but possible.

5. Possible no-autoreplace

There could be an option for easy-game where trains would change their appearance and performance with time.

6. Special "Borkdowns"

After e.g. 1 year of not servicing, trains would start to degrade their performance. Power would start decreasing, max speed would start decreasing, and so on.

This gets especially interesting with the no-autoreplace feature. Since no autoreplacing removes the necessity to think about depot placement and consider servicing, the Borkdowns bring that back, with breakdowns actually making sense.

In extreme case, I like toying with the idea that you would actually need to build train stats up by your efforts, like you build production up in YETI - the longer you would keep a train serviced, the better it would work. This idea has many problem in such form - engines from 1900 would be awesome in 2000, but engines bought in 2000 would suck. Some further combination with train generations would help - with a new generation such stats would get a new minimum value - and you could build that up. This still needs a lot of thought but eventually :)

7. Various Recolours

Some of the NUTS express trains have refit sub-classes, able to recolour to various colours. While this feature is great, basically multiplies the filesize of such vehicles times 18. Rather than saving some colours, it would probably be nicer to go the rainbow slug route - by company colour recolours. It is unfortunate that I cannot keep the company colours in cases of custom recolours like black, but I think that is just a minor sacrifice. A bigger issue is that the 8bpp mask recolouring is generally quite ugly from what I tried so far. Needs more trying and attempting to make it look nice.
This has to be decided when I see the filesize, if it is worth it to save anything.

Optional idea is to make all trains randomize colours at least a little bit. Could be nice. With NUTS once you choose a train and use it everywhere, it generally looks all the same for all cases. Adding randomized colours would be quite cool.

8. Wagon generations

When I made all engines 1 tile long - some by attaching a wagon to them, it made a strange disparity between wagons of the engine, and normal attached wagons. This can be fixed by making wagons adapt to the leading engine. You would not be able to e.g. have early game steamers hauling modern wagons, but is that really a problem?

Conclusion: List of features

  • All engines have rather large, detailed sprites - in ExtraZoom + 32bpp, 8bpp sprites created by downscaling only.
  • 6 normal train classes, each with very unique usage + some extra rather individual engines, each of them unique again.
  • Reasonable amount of engines in each class to make them come out often, exact amount will probably grow as the NewGRF gets more trains with new versions.
  • Just like in NUTS, engines will expire so there is no insane clutter in the purchase menu; assuming you use expiring vehicles on.
  • 1 ultimate wagon for everything. No more mess with autoreplace and attach rules/conditions etc.
  • Articulation means ultra high speeds through curves, making it easier to build dense networks.

In general I visualize the result as another systematic train set which is a lot of fun, a lot simpler to play and get into than NUTS, but still providing a ton of choices, not becoming boring anytime soon.
Since most of the time I spend with creating graphics, they are my main focus, and creating beautiful huge detailed models is very rewarding and interesting on its own.
It should not be a NUTS replacement, just an alternative which is nice to look at.

DOOM_test_1_0000.png (941 KB) V453000, 2015-02-25 09:22

DOOM_test_2_0000.png (931 KB) V453000, 2015-02-25 09:22