What are some good approaches to procedurally generating an infinite 2d level? The level could be constrained in either dimension but not necessarily.
The approach that makes most sense to me so far is using a grid-based radius. e.g. divide the play area into a grid with squares of a certain size and then load X squares in a radius around the player. Then when the player moves to another square build the next set and drop the farther (Persisting explored area is not necessary.) When a square is built, it contains a random arrangement of objects. When objects leave the outer ring of squares they are removed from the world. Are there better or different ways? Or if this is a good approach, what are potential issues?
For discussion's sake, you can think of the level as a top down asteroid field with power ups, etc scattered throughout.