The Source engine is a 3D game engine developed by Valve Corporation. Its unique features include a large degree of modularity and flexibility, an artist-driven, shader-based renderer, accurate lip sync and facial expression technology, and a powerful, efficient and completely network-enabled physics system.

Post tutorial Report content RSS feed HD Video Tutorial - Moving Brushes

Learn how to make a moving brush using the func_tracktrain and path_track entities together. This can be used to create trains, elevators, advanced doors and floating platforms just to name a few uses.

Posted by Silverfisk on Dec 13th, 2009
Intermediate Mapping/Technical.

First we create a simple brush that we tie to a func_tracktrain entity. Then we go through the different settings for that entity.

We continue by creating the path that our func_tracktrain will take by placing a few path_track entities, then we go through the options you have with those also.

Please give me a comment telling me what you think.
Also, don't forget to give me tutorial requests!

Post comment Comments
saivert Dec 13 2009 says:


+3 votes     reply to comment
Croco15 Dec 13 2009 says:

Great tutorial.

+3 votes     reply to comment
Jokerme Dec 13 2009 says:

That's a nice tutorial. I remember having hard time figuring out how to properly move brushes. I'm sure this will be helpful to a lot of people.

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

I hope it will be!

+2 votes   reply to comment
half-life Dec 13 2009 says:

another great tutorial, thanks silverfisk

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

I'm glad you like it!

+2 votes   reply to comment
Nebcake Dec 13 2009 says:

Awesome tutorial, I really needed this for a map iam working on.

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

I'm glad I could be of help.

+2 votes   reply to comment
wazanator Dec 13 2009 says:

Good tutorial :)

But you might want to add that in most multiplayer games like ZPS you need to use new train speed on the path_tracks otherwise they get hung up or bug some other way

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

I was not aware of that! I'll add it to the annotations, thank you!

+2 votes   reply to comment
Chrissstrahl Dec 14 2009 says:

Interesting, I see this is quite different in Source.
Thanks :)

I would like to add this:
When working with moving objects you should make sure your walls are not to thin. Your walls should be at least 8 (to be safe use 16) units depth.

If you are pushed by a moving object which does not kill you, the object can push you out of the level if the walls are to thin and the object is moving fast.

I'm not sure if that can happen with the source engine too, but I would be very surprised if not.

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

I think you just have to place the actual train somewhere where it can't push you out of the level.
While researching for this tutorial I got pushed into a wall and got stuck there, so it's either go through the wall and fall for all eternity or get stuck and sit there for all eternity. Don't know what's best. :P

Thank you.

+2 votes   reply to comment
cW#Ravenblood Dec 14 2009 says:


+2 votes     reply to comment
Minuit Dec 14 2009 says:

Yet another good tutorial Silverfisk, and your Scandinavian accent makes it all the better. You're inspiring me to start working on a mini Source project once I get my new PC parts (Hammer for Source is a little bugged on this current PC).

I tried displacements the other day after re-watching your tutorial, but I ran into some problems and got annoyed. Just needs practice I guess.

+2 votes     reply to comment
Silverfisk Author
Silverfisk Dec 14 2009 replied:

Woah that's awesome I'm inspiring you with my tutorials! :D
If you need any help or tips on working with those displacements, don't hesitate to send me a PM!

+1 vote   reply to comment
Highmist Jan 11 2010 says:

Little late, but great tutorial! Also i want to give a little imput on what some of it means(i think)
HL1 Train: The Half Life 1 Train, with controllable speed set into three or 4 sections
Fire Once: Think it means the train will only use that point once, so like an elevator which goes down but not up.
Love your tutorials anyways, great job!

+2 votes     reply to comment
Silverfisk Author
Silverfisk Jan 19 2010 replied:

The train is controllable like you described by default, so I'm guessing it's just a legacy thing.
I experimented with the fire once setting (I also thought that was what it did before I tried it out) but it didn't do anything.

Thank you for the praise! More tutorials will come.

+1 vote   reply to comment
Hartliss May 18 2010 says:


0 votes     reply to comment
Pongiup Aug 13 2010 says:

Eh, I tried this in Half-Life 1(GoldSrc engine), the sound appears, but the train - it's simply not there. Any idea why?

Haha, fan vad man hörde att du var svensk.

+1 vote     reply to comment
Technodude010 Aug 27 2010 says:

Thanks, I sa a tut aout this once but it wasnt clear at all.

+1 vote     reply to comment
TheZealot Oct 4 2012 says:

It's pretty fun parenting func_tanks and func_tankrockets to func_tracktrains.

+1 vote     reply to comment
Post a comment

You are not logged in, your comment will be anonymous unless you join the community. Or sign in with your social account:

Windows, VR, X360, XBOX, PS3
Send Message
Release date
Released 2004
Engine watch
Start tracking
Related Engines
Source Commercial Released 2004
Related Groups
Level Design Group
Level Design Group Hobbies & Interests with 616 members
The Human Pond
The Human Pond Hobbies & Interests with 9 members
Valve Developer & Publisher with 6 members