well i guess since the engine im using doesnt use raycasting but simple maths related to all objects to display said objects properly scaled and positioned you CAN see new surfaces by adding and subtracting from the y values.
in werbads open sourced engine there is a few events commented out by "never" statements.
take out those never statements to enable "jumping" and youll see it in action.
If you are going to do an "eyeofthebeholder-esque" game you could always use a dungeon crawler engine, there are a few nice open source ones here on tdc, the programming is far easier with those. You can check these out:
Originally Posted by alspal Will you do anything for the ground? Use mode7 or something?
I know the math of how to use a further raycasting effect to display ground & ceilings in the overlay just like the walls with http://www.permadi.com/tutorial/raycast/rayc12.html but that might be a little excessive. Likewise with Mode7; I'm having troubles layering it too, although I think if I used an active overlay it would work. But the main concern is that it would kill the games speed, I mean I already had to implement a multi-resolution system because good ones slow down on some computers. Rendering floors too might kill it.
well its just not possible in MMF, the system dies under the kind of slowdown full 3d engines create. Doing nothing but drawing flat sprites to the screen in rectangles is enough to pull it to 30 FPS on my computer, imagine trying to map that to polygons in wire meshes. No the overhead in MMF is just too inefficient. It can easily be done in languages like C, and has of course been done to death.
the mode7ex object i have found is only effective at super low resolutions like 320x200 otherwise it takes a toll on speed as pixeltheif said. for an old school wolfenstein engine, different colored floors and ceilings will do fine.
yeah MMF is just plain slow. Theres really two limiting factors; the amount of draw calls to the overlay object per frame, and the amount of raycast checks run. For example, if you simply create a program where all it does is draw a single pixel in the overlay object, 640 * 480 times per frame, you'll get maybe 1 frame per second. Likewise, if you check 100 times per ray, and cast 600 rays, for 60000 ray-checks per frame, your game will devour the cpu and die. In a language like C this would run fine on my computer, but MMF needs a lot of overhead per action, so more complicated things run much slower than they should. The result is that I need to limit the games resolution, drawing only vertical columns, and make each one 4-5 pixels wide, for a total of ~150 draws per frame, and then both limit the sight range of the player, and only check for collisions along intersections with the grid. I could program a better engine, but not in MMF.
if youre using actual raycasting and vertical column drawing, you can probably increase performance by allowing reduction in quality (wider columns being drawn, meaning less rays being cast at wider angles) and reducing the draw depth.