Jump to content


Photo

Faux Mode 7 Example


  • Please log in to reply
16 replies to this topic

#1 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 08 September 2008 - 05:24 PM

Posted Image

After having a short conversation with the people in this topic, and seeing various other threads around here on the same subject, I decided I'd create an example GMK (and GM6, courtesy of LGM) to show people how to make a game that looks like the Mode 7 style graphics found on the SNES.

Let me note from the outset - this example does not emulate Mode 7 graphics. Mode 7 was a special function the SNES had to scale, rotate, and distort backgrounds as they were drawn, and this example does not do this. It may be possible to recreate Mode 7's functions using surfaces, but it would be a waste of time and energy to try to emulate this system using Game Maker. So instead, I am providing this example and the following list of style rules to demonstrate that if you adhere to certain self-imposed rules / restrictions, you can make games that look very similar to the old SNES classics without having to kludge together ridiculous graphics emulations.

I'm going to use Super Mario Kart as my guide - other games in the SNES library which made use of similar Mode 7 effects (like Pilotwings, for instance) may have broken the rules I will put forth, but you can be the judge of whether or not a certain visual technique breaks the feeling of the Mode 7 style (if there truly is such a thing). With that said, here's the list:
  • Flat ground / terrain - aside from players and a few obstacles, everything drawn in 3D is flat and usually textured. Terrain receding into the distance is usually a repeated pattern. The player's domain is typically a well-detailed and large graphic.
  • Fixed camera height and angle - the camera in the game never changes altitude, and never changes the vertical angle it views the world from.
  • Sprite-based objects - even though the game world was presented as a 3D land mass, players, objects, and everything else was rendered as a 2D sprite.
  • 2D background - no skyboxes in Mario Kart! Backgrounds are flat, and scroll parallax style.
  • No interpolation - the SNES couldn't interpolate colors between pixels, and this was very evident in Mode 7 distortions. Turn it off.
That's pretty much it. The example I've made doesn't include everything from the list, but I think it's a pretty good example of how the Mode 7 effect can be created in Game Maker using regular old D3D.

You can download the example at my blog.

Please use this example for learning only, and do not build off of it without asking permission from me first. Enjoy!
  • 0

#2 Southman

Southman

    I simply am not here

  • GMC Member
  • 1662 posts
  • Version:GM:Studio

Posted 08 September 2008 - 09:23 PM

HA HA HA HA HARRRR!!! First one to download and post!!!
Will edit when done.
EDIT: COOL. heh i am going to make it so you can go anywhere right now
8/10

Edited by bikekid2222, 08 September 2008 - 09:28 PM.

  • 0

#3 Nocturne

Nocturne

    Nocturne Games

  • Administrators
  • 25708 posts
  • Version:GM:Studio

Posted 08 September 2008 - 09:32 PM

Fantastic! Could I PM you in a few months (I´m taking a wee break after finishing my latest game...) to talk to you about maybe using this as a base for a game idea I have? Thanks...
  • 0

U1FVsm3.png

40799.png


#4 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 10 September 2008 - 06:27 AM

Thanks guys, and yeah, just PM me, Mark. :)
  • 0

#5 painkiller94

painkiller94

    GMC Member

  • New Member
  • 276 posts

Posted 11 September 2008 - 09:18 AM

Look dude,it's similar,but it's not "faux",cuz it uses standard d3d functions
  • 0

#6 wingedwolf

wingedwolf

    GMC Member

  • New Member
  • 597 posts

Posted 11 September 2008 - 02:02 PM

At Start i through it actually was really a Mode7 sample, with no d3d Stuff.
I liked it, at least until the moment i saw D3D in the code. :/

Edited by wingedwolf, 11 September 2008 - 02:02 PM.

  • 0

#7 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 11 September 2008 - 04:16 PM

Look dude,it's similar,but it's not "faux",cuz it uses standard d3d functions

'Faux' means 'fake, artificial, or imitation' so I think that, as it's written in D3D, 'faux' is the perfect describing word for it. I also think that you should consult a dictionary the next time you want to make a snarky remark about the way something is labeled. :P

At Start i through it actually was really a Mode7 sample, with no d3d Stuff.
I liked it, at least until the moment i saw D3D in the code. :/

Did you not read the topic? It's not supposed to be real Mode7; it's supposed to show you that, should you desire, you can create the effect without actually emulating Mode 7.
  • 0

#8 wingedwolf

wingedwolf

    GMC Member

  • New Member
  • 597 posts

Posted 12 September 2008 - 12:00 PM

At Start i through it actually was really a Mode7 sample, with no d3d Stuff.
I liked it, at least until the moment i saw D3D in the code. :/

Did you not read the topic? It's not supposed to be real Mode7; it's supposed to show you that, should you desire, you can create the effect without actually emulating Mode 7.

Yeah, i did. Only after i found out it was actually a d3d.
I think i said it a little bit wrong, the sample is good, but it isn't very useful, maybe the scrolling Background is, but other than that, anything special.
Still, it is pretty good for Mode 7 type of games through it doesn't fell 100% like it.
  • 0

#9 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 12 September 2008 - 03:37 PM

Hehe, well I wasn't trying to show off anything special wingedwolf. As I've stated (over and over) I was just trying to show people that it's not necessary to use slow emulation methods to make something that looks like Mode 7. This example isn't supposed to be technically impressive. It's supposed to show that a certain style can be achieved if one sticks to a few design principles.
  • 0

#10 wingedwolf

wingedwolf

    GMC Member

  • New Member
  • 597 posts

Posted 13 September 2008 - 07:11 PM

Yep, knew this before! :)
  • 0

#11 craybest

craybest

    GMC Member

  • GMC Member
  • 37 posts

Posted 22 September 2008 - 09:58 PM

I get an error when opening it, when I do it with my pro version of gm6 I get an error or unknown script, and when I try to open it with my gm7 lite version I get an error that claims several scripts can only be read with the pro version =(
  • 0

#12 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 22 September 2008 - 10:02 PM

I get an error when opening it, when I do it with my pro version of gm6 I get an error or unknown script, and when I try to open it with my gm7 lite version I get an error that claims several scripts can only be read with the pro version =(

Are you using the Pro version of GM6? What script does it error out on?
  • 0

#13 craybest

craybest

    GMC Member

  • GMC Member
  • 37 posts

Posted 22 September 2008 - 10:11 PM

yes, pro version.
I get this message:
Fatal error in
action number 1
of create event
for object obj_bgextend
compilation error in code action
error in code at line 2:
course_model = d3d_model_create();
at position 17: unknown funtion or script: d3d_model_create
  • 0

#14 FredFredrickson

FredFredrickson

    Artist

  • Global Moderators
  • 9225 posts
  • Version:GM:Studio

Posted 22 September 2008 - 10:19 PM

Well I wasn't aware that that function changed from GM6 to GM7... but it might have. Are you sure you're using a registered version of GM6? :)
  • 0

#15 craybest

craybest

    GMC Member

  • GMC Member
  • 37 posts

Posted 22 September 2008 - 10:20 PM

yeah, registered ages ago, I don't get the gamemaker logo when loading games, and when I click help>about it says it's the registered version =/
EDIT: nevermind, I got it to work...

Edited by craybest, 23 September 2008 - 05:16 AM.

  • 0

#16 dmitko

dmitko

    GMC Member

  • GMC Member
  • 1013 posts
  • Version:Unknown

Posted 18 October 2008 - 11:43 AM

This is a very nice example. The effect is great! Just like a Nintendo game.
  • 0
Posted Image Posted Image Posted Image Posted Image Posted Image

Currently working on Project Funky 3D

#17 Red Fedora

Red Fedora

    GMC Member

  • New Member
  • 155 posts

Posted 13 November 2008 - 06:14 PM

Can I use it? I'm making a go-kart game when I'm done with my first person shooter and I think this is what I can use to make it. If not, I can try building my own with some other help, but just asking.

EDIT: Nevermind, found a better source to make one

Edited by Red Fedora, 24 November 2008 - 03:31 AM.

  • 0