How to Implement a Zombie Train Chase in Unreal Engine?

You want to create a zombie train chase game.

The basic concept of the game is that a train is traveling in a straight line, with zombies chasing it from behind. When the zombies get close enough to the train, they can jump on and attack the player.

Originally, I was going to implement it in such a way that the train is stationary and the surrounding environment (Landscape) moves around it, but I realized that Unreal Engine does not allow you to move the Landscape during runtime. So I’m thinking of changing it to a way where the train moves directly, but is this appropriate?

Please advise if there is a better solution!

Hey there @HyunJun5759! My recommendation is actually the one you’ve already thought of. Stationary train with the terrain being the thing moving. Though you’re right the landscape system is not built to move or be edited at runtime at all, so I’d recommend using meshes for the terrain itself as this is more standard. The landscape system was really built for large scale static terrain in open worlds for the most part.

Adding to what @SupportiveEntity said.

You can create a plane and spawn meshes and move it to generate the sensation of movement.
Even you can simulate smalls “deformations” with meshes sharing the same color of the plane.

You can do the same with tunnels or bridges.

You can move Scene Capture 2D relative to the landscape, and project it onto the background (skyshpere). The main thing is to synchronize the character’s camera angle and Scene Capture 2D, then you will not notice the catch.

Since it’s much simpler and more prevalent in Unreal, I would simply choose to move the train. Most of the time, trying to change the world ends up being more difficult than beneficial.
Small environment elements can be spawned in front of the train and removed behind it if you still want that “movement” sensation. In this manner, it seems limitless without actually shifting a large area. The zombies can simply rush in the direction of the train and get on when they get close. Easy to use and effective.