Developer Journal #1 | From an Empty Tile to the First Train

Building the NSW North Coast Line in Open Rails

“Every journey starts with the first piece of track.”

After collecting locomotives, routes, diagrams and reference material, it was finally time to shift gears from researching and start building route.

Creating the route itself was almost anticlimactic.

One click in TSRE5.

A route name.

A blank world.

An empty canvas waiting to become one of Australia’s most iconic railway lines.

The plan was simple.

Recreate the North Coast Line as it existed during the 1970s, beginning with South Grafton before eventually extending north to Casino and south to Coffs Harbour.

At least…

That was the plan.


The First Piece of Track

Like every new route builder, I spent far longer placing the first few sections of rail than I care to admit.

Every curve was checked against satellite imagery.

Every alignment compared with historical aerial photographs.

Every slight adjustment made with the hope that it looked just a little closer to the prototype.

Eventually something interesting happened.

It stopped looking like individual pieces of track.

It started looking like a railway.


The first section of main line.


Learning How TSRE Thinks

Coming from modern editors like Unreal Engine, TSRE requires a completely different mindset.

The software isn’t trying to be clever.

It expects you to understand how railway infrastructure is constructed.

Many of the things I initially assumed were bugs were simply the editor working exactly as intended.

That first week became less about laying track and more about learning how TSRE itself worked.

Some discoveries were obvious.

Others took several hours to uncover.


REF Files… and Why Nothing Appeared

One of my first problems involved scenery.

I’d successfully imported bridges, stations and structures into the route.

Except…

Nothing appeared in the object list.

After chasing missing models and checking file paths, the real culprit turned out to be the REF file itself.

Extra blank lines and inconsistent formatting were preventing TSRE from reading entire sections of the object database. (more then one line between objects as well as indenting the entries)

Correcting the formatting immediately restored hundreds of scenery objects.

A surprisingly small mistake with surprisingly large consequences.






incorrect ref file formatting and Bridge objects finally appearing in the scenery list.


Pink Bridges and Missing Textures

The next surprise arrived in fluorescent magenta.

The bridge itself loaded correctly.

The textures didn’t.

Fortunately the solution turned out to be much simpler than expected.

The required ACE textures were sitting inside the XTracks archive but had never been copied into the correct Global texture folder.

One missing file transformed an almost unusable model into a perfectly acceptable placeholder bridge.

It won’t remain there forever.

One day I’d love to model the original South Grafton timber bridge myself.

For now, though, it serves as the perfect reminder that progress is more important than perfection.


Before and after fixing the missing bridge textures.


My First Drive

There is something strangely satisfying about driving over track you’ve just laid yourself.

After solving a few startup issues and persuading Open Rails to cooperate, I finally loaded the route.

4206 rolled slowly across the Clarence River bridge.

For the first time, I wasn’t driving somebody else’s railway.

I was driving mine.


4206 crossing the Clarence River.


Then Everything Broke…

Of course it did.

Experimenting with TSRE’s distant terrain tools seemed harmless enough.

The next time I opened the editor, it loaded to a completely white screen before crashing.

After a considerable amount of head scratching, the solution turned out to be a tiny file called:

cerecent.txt

Deleting it immediately restored the route.

The project wasn’t damaged at all.

TSRE had simply remembered an invalid editor state.

One tiny text file nearly convinced me that a week of work had disappeared.


Open Rails Had One More Lesson

Not long afterwards Open Rails refused to load the route altogether.

Instead it greeted me with:

Player train original position not clear

Naturally I blamed the platform.

Then the activities.

Then the paths.

The real problem was something far less obvious.

A tiny piece of abandoned track hidden beneath the river.

Deleting that single rogue section immediately solved the issue.

It’s a reminder that Open Rails is remarkably good at finding mistakes, even when they’re buried out of sight.


Discoveries Worth Writing Down

One of the reasons I decided to keep this journal is because the small discoveries often end up being the most valuable.

Some of the shortcuts and quirks I’ve discovered during the first week include:

  • X flips the direction of curved track pieces while placing them.
  • R combined with the numeric keypad adjusts rotation and elevation while placing track.
  • Z removes selected track from the Track Database (TDB), allowing adjustments before committing it back into the route.
  • Existing track can sometimes be regraded by temporarily removing it from the TDB, making the adjustment, then reconnecting it.
  • F applies the embankment editing setting for selected track.
  • The embankment settings are not an “Apply” button. They define how the terrain tool behaves while shaping around selected track.
  • REF files are extremely sensitive to formatting. Something as simple as extra blank lines can prevent scenery categories from loading.
  • Missing ACE textures generally mean the model exists, but one or more texture files are missing.
  • A single hidden section of track can prevent Open Rails from spawning a player train.
  • If TSRE suddenly opens to a white screen before crashing, check cerecent.txt before assuming the route has been corrupted.

These aren’t things I’d found in the manuals.

They’re simply lessons learned through trial, error and a healthy amount of persistence.


Building the Railway… Not the Terrain

Another lesson surprised me.

Initially I assumed I should make the railway follow Google’s terrain.

In reality, that’s the opposite of how railways are built.

The engineers build the railway first.

Then they shape the landscape around it.

That has become my philosophy for this project.

Lay the railway accurately.

Then build the embankments, cuttings and surrounding landscape afterwards.

The embankment tool has already proven surprisingly useful.

My current settings are:

Size:         2
Embankment:   5โ€“8
Cutting:      2โ€“5
Max Radius:   10โ€“20

They’re still very much a work in progress, but they’re producing a natural looking profile that suits the North Coast surprisingly well.


The Line Bug

Originally I intended to build South Grafton station.

Instead…

I kept laying track.

The next curve looked interesting.

Then the next.

Before long I found myself extending the main line south exactly as it followed the real railway.

I think every route builder eventually catches what I’d call the line bug.

The temptation to see just one more kilometre complete is incredibly difficult to resist.

The sensible part of my brain knows I should probably stop soon and build North Grafton yard.

The other part keeps saying…

“Just one more section…”


Current route progress showing the line extending south from South Grafton.


Looking Ahead

The next milestone is clear.

Connect South Grafton to Grafton.

Build the North Grafton yard.

Recreate Grafton station.

Only then will I return to fill in the countless details that bring a railway to life.

This project isn’t going to be finished in weeks.

Probably not even months.

But every piece of rail, every historical photograph, every recovered diagram and every solved problem moves it one step closer.

For the first time, I can finally see it taking shape.


Current Progress

โœ… Route created in TSRE5
โœ… Open Rails route operational
โœ… South Grafton station under construction
โœ… Clarence River bridge placed
โœ… Main line following the prototype alignment
โœ… Original NSWGR diagrams collected and digitised
โœ… First successful drive with 4206
โœ… First embankments beginning to shape the landscape


Next Journal

Developer Journal #2 | North Grafton: Building the Yard That Disappeared

Prologue | Every Journey Starts Somewhere

Building the NSW North Coast Line in Open Rails

Some projects begin with careful planning.

This one began with curiosity.

For years I’d been fascinated by the railways around Grafton. Growing up in Northern New South Wales, the North Coast Line was simply part of life. Trains crossing the Clarence River bridge, locomotives working South Grafton yard and stories from people who remembered when steam still ruled the rails.

One of those people was my father.

Although I lost him when I was only eighteen months old, somehow the fascination with railways found its way to me. Whether it came through family stories, old photographs or simply growing up surrounded by railway history, I’ve always found myself returning to it.

Like many hobbies…

It started small.

I simply wanted to drive some NSW locomotives again.


Rediscovering Open Rails

Initially my goal wasn’t to build anything.

I wanted to relive the experience of driving the locomotives I’d admired growing up.

That journey led me to Open Rails.

From there came locomotives.

Rolling stock.

Routes.

Then sound modifications.

Before long I was editing ENG files, rebuilding sound systems, fixing locomotives that hadn’t worked correctly for years and assembling what quickly became one of the largest collections of NSWGR content I’d ever owned.

But while driving existing routes was enjoyable…

Something always felt missing.

The places I knew weren’t there.

South Grafton.

North Grafton.

Glenreagh.

The Dorrigo Branch.

The Clarence River bridge.

The Peter’s Ice Cream factory.

These weren’t simply locations on a railway.

They were places connected to memories.


Standing on the Shoulders of Giants

One thing became obvious almost immediately.

I wasn’t starting from nothing.

For more than two decades an incredibly passionate Australian train simulation community has quietly preserved our railway history through Microsoft Train Simulator and, more recently, Open Rails.

Without their work, this project probably wouldn’t exist.

One of the first routes that genuinely inspired me was Coals to Newcastle.

It wasn’t simply enjoyable to drive. It demonstrated just how much could still be achieved using technology that many people considered long obsolete.

More importantly, it became an invaluable learning resource.

By exploring how that route had been constructed, I slowly began understanding how track databases, scenery, signalling, terrain, activities and route structure all worked together behind the scenes.

That naturally led me to another legendary Australian resource.

Steam4Me

Although the original website has long since disappeared, thanks to the Internet Archive’s Wayback Machine and the dedication of countless community members, much of its content still survives.

That archive became an incredible source of Australian locomotives, rolling stock, routes, utilities, tutorials and reference material.

It also introduced me to routes I had never previously experienced, including sections of the NSW network that helped me better understand how Australian MSTS route builders approached scenery, terrain and signalling.

Many of the assets, utilities and techniques used throughout this project can trace their origins back to those preserved archives.

This project isn’t simply built on my own work.

It’s built upon twenty years of knowledge generously shared by countless Australian route builders before me.


One Diagram Changed Everything

Around this time I was fortunate enough to inherit something incredibly special.

An original NSWGR track diagram of South Grafton yard that had belonged to my father.

The paper had yellowed with age.

Fold marks covered the page.

It had clearly lived a long working life.

I photographed it section by section before digitally stitching the entire diagram back together into a high-resolution copy.

For the first time I wasn’t relying on memory.

I had the railway exactly as NSWGR engineers had drawn it.

That single document transformed the project from wishful thinking into something genuinely achievable.


Original South Grafton yard diagram.


Then the Rabbit Hole Opened

Once I started looking…

I couldn’t stop.

Historical aerial photography.

Light Railways magazines.

Archive websites.

Forgotten downloads.

Facebook groups.

Google Earth.

Every answer seemed to create three new questions.

One evening I sat down intending to lay a kilometre of track.

Three hours later I had done nothing except research timber bridge construction and compare aerial photographs from different decades.

That has happened more than once.


Learning Before Building

Before a single kilometre of railway could be built…

There was another skill to learn.

TSRE5.

Like many enthusiasts, I’d heard about it for years.

Actually building a route with it, however, proved to be an entirely different experience.

The first week consisted almost entirely of learning how the editor thought.

Finding missing assets.

Understanding REF files.

Importing scenery libraries.

Tracking down missing textures.

Discovering keyboard shortcuts that weren’t obvious.

Working out why bridges appeared fluorescent pink.

Recovering from editor crashes.

Learning how the Track Database behaved.

Every mistake taught another lesson.

Some of those discoveries have already become indispensable:

  • X flips curved track placement direction.
  • R together with the numeric keypad adjusts track orientation and elevation while laying track.
  • Z temporarily removes selected track from the Track Database, allowing adjustments before reconnecting it.
  • F applies the TSRE’s embankment tool setting for shaping terrain around selected track.
  • REF file formatting is surprisingly sensitive and can determine whether scenery appears at all.
  • Missing ACE textures usually mean the model exists, but one texture file doesn’t.
  • A single hidden piece of rogue track can stop Open Rails from spawning a train.
  • A tiny file called cerecent.txt can prevent TSRE from opening an otherwise healthy route.

Most of these lessons weren’t found in documentation.

They were discovered one problem at a time.


This Isn’t Just About Building a Route

The more time I spend on this project, the more I realise it isn’t simply about creating another Open Rails route.

It’s about preserving a small piece of railway history.

Many of the locations I’m recreating have already disappeared.

Station buildings have burned down.

Yards have been simplified.

Sidings have been removed.

Industries have closed.

Yet through old photographs, original diagrams and the incredible work of the Australian train simulation community, those places can still be recreated.

If this project succeeds, perhaps someone else will one day drive across the Clarence River bridge, stop at South Grafton, work North Grafton yard and continue towards Casino exactly as trains once did.

That thought alone makes every hour worthwhile.

PVC Grafton Loco Sept 1976


So Here We Go…

The software is installed.

The locomotives are ready.

The research has begun.

There is only one thing left to do.

Lay the first piece of track.


Next Entry

Developer Journal #1

“It Started With One Piece of Track…”