Imagine Tiny Wings terrains (slopes and hills) and control (touch to get down to the ground and gain speed on the slopes, release touch at uphills to let your character fly) combined with obstacles à la Jetpack Joyride. Obstacles won't be exactly same as from Jetpack Joyride but as an example, maybe bombs in the air or shooting lasers (in Jetpack Joyride, they use missiles).

I haven't prototyped the game yet, but I sense two problems here.

Problem 1. Obstacles become much harder to avoid as the only control you have over your character's movement is touch to get down to the ground when you want. (think Tiny Wings) You cannot jump at will.

Problem 2. Above problem might be able solved by clever level design by placing obstacles at certain points to provide some challenge but not extreme difficulty. But since the game is an endless runner, designing a placement of each obstacles and terrain is almost impossible or rather oxymoron. Plus anytime the game is played, the obstacles, terrain everything will be the same. This takes away the fun.I contemplated making the terrain flat and give the character ability to jump at will, but decided against it as I want to explore other possibilities.

No, the problem isn't about procedurally generating the map. In fact, it's how endless runners are coded. But the problem is in the gameplay.

Both are iOS games, so here are the videos.

(Jetpack Joyride)
(Tiny Wings)

For Jetpack Joyride, the control you have is you can touch whenever you want to jump (or rather, fly up using your jetpack) so that you can avoid obstacles and whatnot. Release the touch to descend.

For Tiny Wings, the only control you have is touch to fold your wings so that you will gain speed on the slopes, release the touch when you start to go uphill so that you will use the speed you gained and fly off the hills. You won't last long in the air, and the bird will descend itself after awhile but you can touch the screen to descend when you see a favorable hill slope (especially long and steep ones, so that you can fly higher and longer again).

My current design has similar mechanics and physics as Tiny Wings, but with obstacles on the ground (nothing so big and long like in Jetpack Joyride but rather smaller, like bombs) and some in the air. However, with the control and terrains similar to Tiny Wings, I am not sure if it will be easy for players to avoid the obstacles and incoming projectiles in the air as they cannot jump/fly at will.

I think you ought to play these games more times, and google for how such game is done. Like @menyo said, it's procedural. Accurately speaking, Tiny Wings is procedural graphics, Jetpack is just randomized sprite placements.

Jetpack is much easier to do. You define your endless (well, might not be really endless, just very long) run with obstacles at intervals. Use obstacle sets, each item in the set has the same difficulty. Place set - interval - set - interval. And when a set is encountered, you place sprites by randomizing obstacles in the set. You can draw up a map using xmind or something to figure out the hierarchical structure of the scene.

Though I should mention that there are already way too many games in this genre. And many of them are in 3d, and have extremely strong graphics, such as Rushing Alice. It might not be easy to gain tractions. And if you think about it, Temple Run is in the same genre too.

As you said before the problem is that you can't avoid the obstacles because the trajectory of the "bird" depends on the speed of the jump. Maybe you can add two different actions:

- A soft touch to jump a little in the air. With the bird example move the wings a little but not fly.
- Continuous touch to go down as in the original "Tiny wings".

With those actions you can place different kinds of obstacles (ie. trees and holes to jump, and planes or balloons to go down) and generate the level with a procedural approach. But it will be hard to find the right adjustments.

I think as a general rule, the more and harder obstacles you put in the game, the more control has to be given to the player. One option is to match a simple control with non-fatal obstacles (like Tiny Wings, where all you loose is your momentum). The other option is to add more advanced gesture for more advanced moves (while keeping the basic gestures simple), like tap-and-drag, second tap, tilting (accelerometer), etc. But one thing's for sure, good gameplay takes a lot of tweaking. You have to start with some general idea and then tweak, adjust, tweak and then tweak some more.

It's actually NOT an endless runner, since its levels are the same every run, and a lot of the gameplay is about learning the levels and finding the flow.

Jetpack joyride, as all endless runners, is more about lighting reflexes (and some luck)

Adding obstacles would limit the number of possible trajectories to take, and run the risk of making it frustrating for the player.
Taking the "wrong" trajectory now means instant death, instead of just a suboptimal jump that can be compensated for later.

Actually the levels are results of procedural generation. They are not the same every run.

But they are...They might be procedurally generated, but the seed is the same, so the hills of each island are the same each run, and so is the placement of any power-ups.

At least that is how it looks to me... Would be if they change from day to day, but in several playthroughs right now, with quits in between, I'm 100% sure the hills and powerups are the same each run.

That was one of the things that made me enjoy it, since I'm not really a fan of the randomized levels of classic endless runners. (though jetpack joyride is also awesome )

Edit:Ok, seems they do change, but only daily, for graphics and powerups. Hills are supposed to change too, but slower...Probably has some theme-parameters for each island too, since island two always has these slopes that looks like the beginning of the end slope for example.

First and foremost, I'd have to agree with Felix Ungman. If you begin adding in obstacles willy-nilly while keeping the same control style that Tiny Wings has, you'd inevitably end up with frustrating results, leading to an uncontrollable death. However, this could be remedied by adding more reflex controls:

perhaps, depending on the setting of the game, you could provide a fast dive-bomb downwards or something that would increase speed if you land downhill, but cut your speed if you land uphill.

Another option would be (not having played Tiny Wings), to allow the user to choose to remain on the hill rather than going airbourne. This would prevent the user from being forced into a fatal obstacle. On the flip side, it would be advised to occasionally have grounded obstacles, so that the player couldn't abuse the control.

I will say though that this style of game is a painful trend in my opinion. Edmund McMillen (guy who made Super Meat Boy, Binding of Isaac) actually made a game about this sort of thing called AVGM (Abusive Video Game Mechanic, I believe), stating that games today follow the idea of offering a repetitive gameplay for trivial digital items, and also providing a means of simply purchasing the same item with real money as a cop-out from the strain of playing say 50 more rounds. Jetpack Joyride, Farmville, and plenty of other games use this system, and while I don't like it, the foundation of rewarding players for playing is always a good idea, because without it, the game could easily become boring. Just don't make that the foundation of your game.

I guess my point is that innovation is key to separate from the crowds, even if it's something as trivial as LAN-based multiplayer, where others use the momentum-gaining aspect of Tiny Wings to race each other.