Sign in to follow this  

That F-Zero 3D but 2D Look...

This topic is 4693 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Are there any papers on how to achieve that F-Zero style 3D but 2D look? I've been bouncing the idea around in my head, but I can't seem to come up with anything. I imagine the courses and tiles are designed as overhead tiles, then somehow scaled during rendering to look 3D, but my factless conjecture doesn't seem like a plausible starting point. Anyone know how the effect was achieved or a paper on the subject? My searches have been fruitless.

Share this post


Link to post
Share on other sites
Depends.. do you want to do it in 3D or 2D? Doing it with the benefit of 3D would provide the same result but would be much faster on any current hardware and much easier to program.

Share this post


Link to post
Share on other sites
It's called "Mode 7". A very hasty Google search didn't seem provide anything overly useful, but a bit more digging might work.

I'd recommend just using 3D hardware straight up, and draw flat, horizontal quads in true 3D space, all on the same plane, with depth test/write turned off. With a proper camera angle, that'll provide the effect of Mode 7 graphics. Turn sampler maxfilter to point rather than linear to get an even nicer old-school style. Then to draw cars or other objects, you could use billboards to draw more quads, vertical this time, and aligned to the camera. Or you could even draw full 3D models, if you wished, though it might detract from the feel the whole Mode 7 thing.

Share this post


Link to post
Share on other sites
Quote:
Original post by falkone
Depends.. do you want to do it in 3D or 2D? Doing it with the benefit of 3D would provide the same result but would be much faster on any current hardware and much easier to program.


I'm looking to achieve the exact same feel. I plan on using sprites (3D quads) in an orthographic projection. I'm not looking to use actual 3D with a camera at a 45 degree angle (or whatever is the closest match).

Share this post


Link to post
Share on other sites
Quote:
Original post by GroZZleR
I'm looking to achieve the exact same feel. I plan on using sprites (3D quads) in an orthographic projection. I'm not looking to use actual 3D with a camera at a 45 degree angle (or whatever is the closest match).

Go ahead and do it in 3D. It'll be hardware accelerated, and if you do it right, it should still look pretty much identical, but will be much easier to implement; levels should be quite easy to design this way too. The Mode 7 engine is doing the 3D calculations anyway, so the math is pretty much identical, I'm sure; no reason to do it in software that I can think of, other than the experience of writing the minimal amount of 3D code necessary.

Share this post


Link to post
Share on other sites
Haven't actually tried them, but here are some Cel-Shading tutorials, if that is what you are interested in.
http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=37
http://www.gamedev.net/reference/programming/features/celshading/

Share this post


Link to post
Share on other sites
Meagermanx, he means the PilotWings/Mario Kart style of 3D game that uses 2D scaling/rotation/distortion effects on bitmapped graphics, not a 2D cel shading of a 3D mesh.

I agree this should be done in hardware, with quads as the "ground", maybe a simple skybox, and then billboards for everything that isn't the "ground". FZero/Mario Kart use billboards with 8 views rotated around the Y-axis for the objects that need it (like the race car itself). Some objects (like a pipe in MarioKart, for instance) don't need any different rotated views.

Share this post


Link to post
Share on other sites
If you want some interesting info on how the N64 version works, this is a fairly interesting link:

http://www.64dd.net/index.php?page=101

This is most of the relevent stuff, and I hope it will be helpful:

The way the game engine works is ingenious: because the only backgrounds are static images with no complicated environments to design and model (to keep the framerate up), the programmers created an engine that generates a track on the fly, based on a track layout file of control points. Because of this, the editor included in this add-on works the same way. What this means is that you get virtually unlimited freedom to created the twisting monstrosity of your dreams without having to sculpt and model an environment around it.

Before you make the track, you select a theme and a background and sky to go along with it. There are ten themes to choose from (city, lava, sky, water, etc.). Then the fun part: making the track. You start by placing control points down to make the basic layout you want. You can have up to 64 control points on a single track (this is quite a lot, believe me). After that, you take control of the individual points and adjust their location on a 3D grid, their banking, and so on, and select individual segments of track between two control points to adjust the width of the track, change the type of track (regular, no guard rails, tunnel, tube, cylinder (aw yeah!), etc.), and pick textures and styles based on the theme you've chosen. You can adjust all these things in realtime, or just clear the track and start over. You can test your track at any time as well, with unlimited boost and energy, to get a feel for how it's coming along. The beauty and fun of this whole package lies with the raw power of this editor. Want three loops in a row and a cylinder running through them? Done. Want a track that's completely upside down? No problem. If you can dream it, you can pretty much build it. The only real limitations are what pieces you can link together. For example, you can't go from inside a tube to a cylinder because the cars would fly off the track. You have to have a regular piece of track between them. But this editor gives some fantastic opportunities to show off your creative skills. In addition to the track, you're allowed to place up to 18 roadside objects (buildings, gates, billboards) per track, as well as 8 turbo arrows and 8 mines. You can add the pink energy recharge strips and patches of dirt and ice to your hearts content

Share this post


Link to post
Share on other sites
Appreciate the response, but that's more geared towards F-Zero X, the 3D version.

I'm not looking to use actual 3D, as you'll be able to tell you're just a billboard in a 3D world instead of getting that feeling of pure 2D. No different than Final Fantasy Tactics doesn't feel 2D even though the characters are billboards.

Share this post


Link to post
Share on other sites
As Agony said, it's a technique called Mode 7. Basically it's a normal 2D tilemap which can be scaled in both directions. To create the Mode 7 fake 3D effect, the scaling parameters and offsets are adjusted per scanline.
If you search for Gameboy Advance development tutorials you should come up with a complete description on how to do this sort of thing.

Share this post


Link to post
Share on other sites
I still don't understand what '3d look' you're trying to avoid while still making a 3d-style game. Sure, it will 'look' 3D because of the high quality scaling, rotation, and texture filtering that we have on hardware these days... you want to take that away?

I think pixelation is the #1 thing that defines the "look" that you want. Use D3D and nearest neighbor texture sampling if you insist on feeding your nostalgia!

Share this post


Link to post
Share on other sites

This topic is 4693 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this