To best describe the point I’m trying to achieve, think of a real-time 3D flight simulator. I want to have a sense of freedom by being able to fly forward endlessly without hitting a border wall other than the sky or the floor. I don’t want an infinite world though, as the world is essentially a planet in terms of surface area with a fixed size, except completely flat.
How would you go about making a seamless flat plane world? I want to represent a planet surface as a huge plane that wraps around itself seamlessly. I’ve got two solutions, but I’m not sure which is better or if I’m missing something that would bite me in the ass later on.
The first solution is to have a single huge plane that stays completely still with the camera pointing at the character, while movement is achieved by an illusion of scrolling the a tiling texture on the plane like treadmill. This kind of “terrain” is pretty much just a visual trick, while the actual logic of positioning things happens seperately in an abstract code layer.
The second solution is to use a dynamically loading infinite terrain, which works by loading a new plane in front of you as go forward infinitely. This more of a real physical terrain rather than a visual trick, since in this case the player character actual moves, instead of the world moving around the player.
If you were making a simple 3d flight simulator and you needed a limited, but looping world, what would you do?