
function init_event()
    local levels = 7
    local crate = ag.loadModel("crate", {scale = 0.5})
    local offset = 0.5
    crate:setPosition(0, 0, offset + levels + 0.5)
    for level = 2, levels do
        for x = 1, level do
            local c = crate:clone()
            c:setPosition(x - 0.5 - level/2,
                0, offset + levels - level + 1.5)
        end
    end

    local ground = ag.loadModel("crate", { static = true, scale = 10 })
    ground:setPosition(0, 0, -10)
    ag.setCamera(levels/2, -2*levels, levels, 0, 0, levels/2, 0, 0, 1)
    camx, camy, camz, cx, cy, cz = ag.getCamera()

    ball = ag.loadModel("checkerball")
    ball:setPosition(2*camx - cx, 2*camy - cy, 2*camz - cz)
end

function mousebutton_down_event(button)
    local function button1()
        local newball = ball:clone()
        newball:setPosition(camx, camy, camz)
        force = 10000
        newball:addForce(force * (cx-camx),
                         force * (cy-camy),
                         force * (cz-camz))
    end
    if (button == 1) then
        button1()
    end
end

--function update_overlay_event(width, height)
--    local tw, th = ag.getTextSize("Hi there", 18)
--    ag.drawText("Hi there", 1, 1, 1, 18, width - tw - 4, height - th - 4)
--end
