Recreating the tiles every step is too expensive IMHO. I suggest to create the complete level at startup and use an OcTree to subdivide it for faster processing/rendering. That's what i'm doing in Paradroidz (
http://www.jpct.net/paradroidz). My maps are very similar to Dungeon Master layout...like this one:
**a*****************
* d d *
********* *****d* *********
* * *a** *****
*l* d l d a
*** * *****
********* *********
* d *
********************
I load the file at startup, parse it and create the Object3Ds required for it (in Paradroidz, i'm using one for the walls, one for the floor and one for the top level)...the result is something like this:
By creating the Object3Ds out of ASCII files, i'm free to increase wall tessellation if i want to (to increase vertex lighting quality for example).
BTW: The basic ASCII-level-loader was written with a kind of Dungeon Master clone in mind...because that was what i was planning to do before i decided to switch to a Paradroid clone. That's why Paradroidz's JAR file is still named Naroth: I wanted to write a successor of my old Amiga RPG (
http://amiga.emucamp.com/quelle.htm)