Wir haben bei der Devmania auch einen Levelgenerator für PirateBay geschrieben, wenn Du Code zum Ansehen haben willst, dann lad einfach den Sourcecode von unserem Spiel herunter.
Also wir haben dort das Level in Sektoren à 3 Bildschirme zerteilt, damit wir immer nur abhängig vom Spielfortschritt weitere Sektoren generieren mussten (und nicht gleich am Anfang eine endloslange Welt). Dann haben wir abhängig vom aktuellen Schwierigkeitsgrad eine Zufallszahl n gezogen, die die Anzahl der Inseln bzw, Plattformen generiert. Danach kannst Du wieder abhängig vom Schwierigkeitsgrad eine Breite und Höhe generieren. Um die Plattformen über den Sektor zu verteilen, kannst Du auch zufällig die Position generieren - nach jedem Setzen musst Du aber auch den Bereich sperren, in dem Du schon eine Platform gesetzt hast. Wir haben das etwas vereinfacht, indem wir die Reihenfolge der Plattformen ausgewürfelt haben, und danach zufällig die freien Stellen zwischen die Plattformen verteilt haben (also in jedem Schritt Gesamtbreite - Inselbreiten - verteiler Abstand gerechnet, und zufällig eine Zahl aus mind. Breite und Restbreite gezogen und wieder zufällig einem Abstand zugeordnet).
Bei uns konnte man fliegen, deswegen war es nicht so wichtig, dass wir eine max. Breite zwischen den Plattformen einhalten, aber in deinem Fall müsstest Du wohl auch noch beim Verteilen darauf achten, dass man noch zur Nachbarinsel springen kann.
Bei weiteren Ebenen musst Du den Algorithmus entsprechend erweitern, z.B. erst die niedrigen Plattformen verteilen, im 2. Durchgang dann die Hohen. Den verschiedenen Inseln kannst Du dann noch Objekte (Gegner, Items, etc.) zulosen und dann wieder mit dem gleichen Verfahren die Objekte auf der Insel verteilen.