Ich würde mir ein eigenes Levelformat ausdenken (XML, ASCII, Binär...) und dann befüllen und laden. Ich persönlich bin für meine Sachen bisher seit Amiga-Zeiten immer mit einfach ASCII-Dateien ausgekommen, aber ich habe es auch immer so angelegt, dass ich genau das machen kann, um den Aufwand geringer zu halten.
Eine konkrete Methode um einen Level (also quasi eine Objektanordnung in einer Welt) zu speichern gibt es nur indirekt über die üblichen Serialisierungsmechanismen von Java. Aber das müsste man für Android quasi auf Android für Android machen, sonst klappt das nicht. Und da sehe ich wenig sinnhaftes drin, zumal man sowieso einmal initial den Level befüllen müsste. Und wenn man das eh schon macht, kann man es auch gleich so nutzen.
Die Kamerafahrten sind einfach. Ich speichere einfach in fixen Zeitintervallen die Position und Blickrichtung des Betrachters in einer Liste und schreibe die auf Platte. Das lade ich wieder und nehme dann die zum aktuellen Zeitabschnitt (also beim Abspielen) passenden Daten...fertig.
Die Performance des Hero ist genauso bescheiden wie die meines Samsung Galaxy (nicht S!). Die sind beide mit diesem Quake-Level überfordert. Aber für einen Railshooter kann der Level meiner Meinung nach viel simpler sein und dann müsste das auch auf diesen Geräten noch spielbar sein. Du kannst ja mal einen Blick auf mein aktuelles Spiel werfen:
http://www.jpct.net/jpct-ae/download/alpha/ar/AlienRunner-AE.apkDas gibt dir vielleicht ein Gefühl dafür, wie detailiert es sein kann, bevor diese Geräteklasse versagt. Neuere Smartphones spielen übrigens mindestens in einer doppelt so schnellen Liga.
Was Sprites angeht: Du kann einfach ein Quad mit einer Textur tapezieren und auf billboarded setzen. Damit zeigt es immer zur Camera. Das müsste so in etwa das sein, was du meinst.