Well thank you!
It was indeed a self written physics system, basically just a
select block assigning base vectors to all 6 gravity directions and some camera angle interpolation.
The levels were created entirely in the code, that was quite a hassle but I thought it would still be faster than writing an editor or figure out how to use an existing one and properly import the levels.
So, to give you an example, each of the 6 existing levels looks somewhat like this:
function buildLevel2()
voxel_clear(1)
voxel_setCenter(50,3,2)
rem Starting Corridor
voxel_carveOut(0,0,0, 1,3,6)
rem Turn Left
voxel_carveOut(-6,0,5, 0,5,6)
rem Straight
voxel_carveOut(-6,0,6, -5,6,20)
voxel_addMatter(-6,0,9, -5,0,13)
voxel_addMatter(-6,0,14, -5,1,20)
rem Right
voxel_carveOut(-6,2,18, 5,6,20)
rem Catapult
voxel_carveOut(3,3,16, 5,10,18)
rem Canyon
voxel_carveOut(3,2,18, 5,10,30)
voxel_carveOut(3,0,22, 5,2,30)
voxel_carveOut(3,-2,26, 5,0,30)
rem Escape Pass going to the canyon
voxel_carveOut(-5,-2,29, 3,1,30)
rem Top Level Corridor
voxel_carveOut(3,5,30, 5,10,40)
rem Tower Space
voxel_carveOut(-3,5,38, 3,40,40)
voxel_addMatter(1,12,38, 3,12,40)
voxel_addMatter(-3,19,38, -2,19,40)
voxel_carveOut(-12,34,38, -3,40,40)
voxel_carveOut(-6,32,38, -3,34,40)
rem Continue
voxel_carveOut(-12,34,40, -10,38,50)
voxel_carveOut(-24,34,48, -12,38,50)
rem Long High Passage
voxel_carveOut(-24,34,18, -22,38,48)
voxel_carveOut(-24,39,32, -22,40,44)
voxel_carveOut(-24,18,36, -22,34,40)
rem Escape
voxel_carveOut(-21,-2,36, -19,22,40)
voxel_carveOut(-19,-2,36, -5,1,40)
voxel_carveOut(-5,-2,30, -3,1,40)
rem Pedestal
voxel_addMatter(-24,34,22, -22,34,24)
rem Connect CD with beginning
voxel_carveOut(-24,20,18, -22,34,20)
voxel_carveOut(-22,20,18, -6,24,20)
voxel_carveOut(-6,6,18, -5,24,20)
rem Build
voxel_build()
rem Stuff
og_buildElevator(0, 1,0,1, 3)
og_buildCatapult(5.0, 3.5, 16.0, 45.0, 0.0)
og_buildCatapult(-2.0, 5.3, 39.0, 0.0, -11.0)
og_buildCatapult(3.5, 13.2, 39.0, 0.0, 11.0)
og_buildCatapult(-2.0, 20.2, 39.0, 0.0, -18.0)
og_buildCatapult(3.8, 31.0, 39.0, 0.0, 45.0)
og_buildCD(-22.5, 35.5, 23.5)
og_buildBoard(4, 2.0,2,4, 0.6, -90)
og_buildBoard(3, 6,5.5,20, 0.8, -90)
rem Spawn Player
player_set(51.0, 4.8, 3.0)
endfunction
Had quite some fun finetuning all these coordinates.
The voxel system was the very first thing I programmed that weekend, it basically just checks each cell and looks for surfaces and then creates them using textured plains.
Well if you want to ask a question about the surprise, there's a thread on the DBPro board covering the technique behind it. Otherwise just use a Code Snippet to hide it or whatever.