Morphing 3D Map

I took @Xavier’s example of a 3D tile based game, and am hoping to make it into a whole game, and was wondering if a morphing map would be a good idea. I always like games the first couple times i play them bc the map is new and mysterious, so a morphing map would have that expirience everytime. I have the code all made, just wondering what the community would like.

If you share code or a video, we might have some ideas. I like a map that has surprises…

Also, have you seen Slashin8r’s RPGmaker project, here on the forum? It sounds similar.

The letters represent the changing blocks.
edit The lines ended up weird, sorry bout that.

--# World
World = class()

function World:init()

    -- define the world
    self.data =
        {
        {2, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 2,},
        {2, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,},
        {1, 2, 1, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, h, 1, 2, 0, 1, 3, 0, 0, 0, 0, 2, 1,},
        {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 0, 2, 1, 2, 0, 1, 2,},
        {1, 2, 1, 1, 2, a, a, 1, 2, 0, f, 0, 0, 0, 2, 1, 0, 0, 2, 1, 0, 2, 1,},
        {1, 0, 0, 2, 1, 0, 0, 1, 1, 2, f, 2, g, 1, 2, 1, 2, 0, 1, 2, 0, 2, 2,},
        {1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 2, 1, 0, 0, 2, 0, 1, 1,},
        {1, 2, 0, 0, 0, 0, 2, b, 0, 2, 1, 2, 0, 2, 2, 1, 1, 1, 2, 0, 0, 2, 1,},
        {1, 1, 1, 0, 1, 1, b, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 2, 1, 1,},
        {2, 1, 1, c, 1, 1, 1, 2, 1, 2, 1, 0, 1, 2, 1, 1, 2, 0, 1, 2, 1, 2, 1,},
        {1, 2, 0, 0, 0, 0, 0, 1, 2, 1, 0, 0, 0, 1, 2, 1, 0, 2, 1, 1, 2, 0, 2,},
        {2, 2, 0, 0, 2, 1, d, d, 2, 1, 2, 0, 2, 1, 2, 0, 1, 2, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2,},
        {1, 2, 0, 2, 2, 1, 2, 0, 1, 2, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 1,},
        {2, 1, 0, 0, 2, 1, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 1, 1, 0, 2, 0, 1, 2, 2, 0, 0, 0, 0, 2,},
        {1, 2, 2, 0, 1, 0, 2, 0, 2, 1, 2, 1, 1, 0, 0, 0, 0, e, 0, 1, 0, 1, 2, 1, 0, 0, 0, 0, 1,},
        {2, 2, 0, 0, 0, 0, 0, 0, 2, 1, 2, 1, 2, 0, 1, 1, 2, 0, 1, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2,},
        {1, 1, 0, 1, 1, 0, 2, 0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 2, 2, 2, 2, 2,}, 
        {2, 1, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2,},
        {1, 2, 0, 0, 1, 2, 0, 2, 1, 2, 0, 1, 2, 1, 0, 2, 1, 2, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0,},
        {2, 2, 1, 0, 0, 0, 0, 1, 2, 1, 0, 2, 2, 1, 1, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 2,},
        {2, 1, 2, 2, 3, 1, 1, 0, 1, 0, 2, 1, 1, 2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 1,},
        {2, 2, 1, 1, 0, 1, 2, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2,},
    }

end

function World:draw()
    local floor, wall, pylon, EndGame = floor, wall, pylon, EndGame
    local offSet = 6
    local px, py = hero.px, hero.py

    -- look around the hero to draw whatever is around him
    translate(px - offSet, 0, py - offSet)
    for y = py - offSet, py + offSet do
        for x = px - offSet, px + offSet do
            if self.data[y] then
                local val = self.data[y][x]
                if val == 0 then
                    floor:draw()
                elseif val == 1 then
                    wall:draw()
                elseif val == 2 then
                    pylon:draw()
                elseif val == 3 then
                    EndGame:draw()
    
            
                end
    

            end
            translate(1,0,0)
        end
        translate(-(1 + 2 * offSet), 0, 1)
    end
end

This is just the world class so trying it wont work with out the full code, which can be found by searching “tile based” here on the forums

you’ll get more help if you post the link!

Look up “Codea Noob’s Game” and thats it