Best Practices for Endless Runner Type Games

Hello all!

I’m working on a fun little side project that I’d eventually like to give away to the community as a 3D endless runner game starter package. The camera view and game play are going to be similar to Temple Run, Pitfall (Android version,) and Subway Surfers. I’m trying to get some discussion going about the best practices when creating this type of game, but I’ve hit a couple of obstacles that I’d like to tackle without taking low quality shortcuts:

  1. Should the character move through space or should the ground move underneath the character? In my prototype, I have the ground moving underneath the character so that he’s on a sort of randomly generated treadmill full of obstacles. It works fine, but maybe there are reasons to go the other route?

  2. What is the best way to hide the horizon so that the player can’t see the level pieces “pop” into existence? This is my biggest trouble. I personally don’t like the depth fog method of hiding the horizon. Subway Surfers did it well, but I like the Pitfall and Temple Run 2 methods better. They use curves and hills to hide the level assembly that is happening in the background. I would love to hear how other Unity developers would tackle curved procedural level generation like this.

My first thought was to have a spline curve following the contours of the curved land pieces. Those spline curves could be used to snap the land pieces together when they are generated, but rotating them underneath the character using my “treadmill” method has proven to be a fairly difficult task.

I’ve found some other discussions that touch on endless runner type games and game development with Unity. However, none of these truly touch on what I’m trying to figure out:

Any thoughts, help or advice would be greatly appreciated! Thanks in advance for being polite.

  1. Definitely player. It’s a lot easier, but to prevent float overflow, you should pop everything back a few thousand units every few thousand units.
  2. As you can clearly see from the images: Corners, fog, hills, or crossroads.

–David–

2) What is the best way to hide the horizon so that the player can’t see the level pieces “pop” into existence?

I found this on the asset store:
http://squeakyoak.com/en/bending

It’s called “Runner horizon bending” I’m wondering of you could use this if the runner was moving and turning left and right as well.

Thanks guys you’re wonderful! I’ll have a look at this vids. As for posting comments as answers, I have no idea how to do on an iPad, there doesn’t seem to be an option for it.