It is currently Tue Oct 23, 2018 5:18 pm

All times are UTC - 7 hours





Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Sat Jul 25, 2009 10:07 am 
Offline
User avatar

Joined: Sat Jul 25, 2009 8:45 am
Posts: 48
Would the NES be capable of handling a physics engine like the one Super Metroid uses? There have already been discussions about physics engines on these forums, but I don't think this hypothetical question has already been asked. Super Metroid has very accurate physics, which might require a CPU more powerful than the one the NES uses. On the other hand, the SNES CPU is not that much more powerful than the NES CPU. There are NES games with nice physics engines, such as Solar Jetman, but Super Metroid has a deeper and more complex engine than that.
Sidescrolling exploration games are enhanced when the physics engine is sophisticated, so it is interesting to think about just how much the NES is capable of.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 10:47 am 
Offline

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 20690
Location: NE Indiana, USA (NTSC)
Do you mean at full speed? And do you mean on a stock board type (e.g. SNROM), or with rare or custom hardware (such as bankswitched PRG RAM)?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 11:10 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10914
Location: Rio de Janeiro - Brazil
I had never played this game before, but I just did (boy do I hate games where it takes forever to get to the gameplay) and I haven't seen anything special about it's physics. In fact, the jumps for example felt very fake. Jumping while running reduced your horizontal speed, which I found weird.

Anyway, to me this game felt more like an effort to display the SNES' gimmicks (rotation, scaling, transparency) rather than actually making a good game. Of course I can't say for sure if the game is bad or not as I have played very little of it.

But I haven't noticed anything special about the game's physics, or any other element that does not involve the SNES' gimmicks, that would prevent it from being made on the NES.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 12:51 pm 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
tokumaru wrote:
I had never played this game before


I'm stunned. How could you have touched a SNES and never played Super Metroid before o_O

tokumaru wrote:
Jumping while running reduced your horizontal speed, which I found weird.


? We must be playing different Super Metroids. Although yeah the physics are fake. But real physics in a video game would be boring.

But yeah I don't think the SM physics are really all that complicated. Just running and slopes. SMB3 already has both of those.

Quote:
Anyway, to me this game felt more like an effort to display the SNES' gimmicks (rotation, scaling, transparency) rather than actually making a good game. Of course I can't say for sure if the game is bad or not as I have played very little of it.


It's one of the very best games available for the SNES. Arguably in the top 10, definately in the top 30 or so.

But you have to like the genre to appreciate it. If you don't like the "Castleroid" / "Metroivania" or whatever it's called genre, you won't like Super Metroid.

Quote:
But I haven't noticed anything special about the game's physics, or any other element that does not involve the SNES' gimmicks, that would prevent it from being made on the NES.


Agreed. Maybe it scrolls a little faster than the NES can handle, at times, and you'd have to cut down on the graphics bigtime, but at its heart it's just a 2D platformer. There are plenty of those available for the NES, so the NES is certainly capable of it.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 1:30 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10914
Location: Rio de Janeiro - Brazil
Disch wrote:
I'm stunned. How could you have touched a SNES and never played Super Metroid before o_O

Yeah, somehow that game was just not present in my life. None of my frinds that has a SNES had it, and when I finally got my second hand SNES it wasn't among the games that came with it either. As for emulation, it never occurred to me to try the game simply because I didn't like the original on the NES.

Quote:
? We must be playing different Super Metroids.

Really? Like, I was just moving left and the character was moving at a certain horizontal speed. When I jumped, that horizontal speed was greatly reduced for as long as the character remained in the air.

Quote:
Although yeah the physics are fake. But real physics in a video game would be boring.

I agree with you there. But I guess I meant to say that it felt fake, not that it was fake. I know that each video game has it's rules and we have to get used to them in order to be able to play, but I couldn't easily "buy" the physics in Super Metroid.

Quote:
It's one of the very best games available for the SNES. Arguably in the top 10, definately in the top 30 or so.

Yeah, I may have exaggerated. It looks like a solid platformer that I may even find enjoyable if I give it a decent chance. I do find all the effects that are there just for the heck of it a bit distracting, though.

Quote:
But you have to like the genre to appreciate it. If you don't like the "Castleroid" / "Metroivania" or whatever it's called genre, you won't like Super Metroid.

I like Castlevania, but I don't like Metroid... I'll probably give Super Metroid another chance, though.

Quote:
Maybe it scrolls a little faster than the NES can handle

"faster than the NES can handle" is very subjective... My Sonic engine can scroll 16 pixels per frame vertically and horizontally, and I doubt Super Metroid needs more than that (the human brain can hardly follow motion that fast). Of course there is still a lot of object behavior to be implemented, but there is still a lot of free CPU time.

Even if something may seem impossible at first, it may become possible if something else is sacrificed, even though I don't think this is the case with fast scrolling.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 1:40 pm 
Offline
User avatar

Joined: Wed Nov 10, 2004 6:47 pm
Posts: 1849
Quote:
When I jumped, that horizontal speed was greatly reduced for as long as the character remained in the air.


*shrug* Maybe I never noticed. Or maybe it's different when you're running (I pretty much have the run button held down the entire time in SM)

btw: default buttons in that game suck. If you're going to play it change them to something more reasonable.

Quote:
but I couldn't easily "buy" the physics in Super Metroid.


Fair enough. You're very "floaty" in it -- I know a lot of people don't really like that. I never had a problem with it though.

Quote:
I like Castlevania, but I don't like Metroid... I'll probably give Super Metroid another chance, though.


Well -- early Castlevania was a different genre. Castleroid/etc is like the Aria of Sorrow / SotN / etc series of Castlevania games where it's more about exploring. The Metroid series is the same way (only it's alien planets instead of haunted castles, and you use a gun/missiles instead of swords and whips).

Metroid 1 was terrible, though. I'm a big Metroid series fan and even I can't stand to play Metroid 1. Horribly, horribly repetitive. Super Metroid is infinitely better.

Quote:
"faster than the NES can handle" is very subjective


True enough. That was kind of a silly statement to make. Heh.

Most of SM isn't very crazy, but some rooms where you blitz through with the speed booster go by pretty quick. They don't go 16 pixels a frame, though. At least I don't think so -- never actually checked


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 1:43 pm 
Offline

Joined: Sat Nov 17, 2007 8:44 pm
Posts: 385
Super Metroid was one of the last Metroid games I played (including the Primes and all). I don't hate it but I don't feel anything special for it. You definitely need to have owned it during its heyday for it to feel like a masterpiece. Lots of strange design decisions everywhere such as diagonal aiming mapped to two different buttons.

And yes, jumping does feel like it resets your horizontal speed to an extent. Unless you jump a certain way, I suppose...you can watch a speed run and half the time they seem to keep their momentum, half the time the jump is slower than the run. EDIT: Maybe it's that upon landing your speed is reset, so that subsequent jumps seem slower than they should be?

There doesn't seem to be anything special about the physics. It's true that there is much about the game that couldn't be replicated well on the NES but the physics aren't part of that. I mean maybe the enemies drop to the floor when you shoot out their footing, unlike the NES Metroid where they spin in midair, but that's something that could be programmed in. Same for animations like empty shells being spit out or missiles bouncing off of obstacles (I know that both of these have appeared in either SM, ZM or Fusion...).


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 2:26 pm 
Offline
User avatar

Joined: Sat Jul 25, 2009 8:45 am
Posts: 48
This information might be useful:
http://tasvideos.org/SuperMetroidTricks ... yAddresses

Super Metroid has very fast scrolling at times, and the scrolling has more sophisticated logic than typical NES games have. Samus isn't in the dead center of the screen at all times, instead, when Samus runs fast the screen dynamically scrolls ahead so that the player has more time to react to obstacles that might be in the way. 16 bit values are used to represent the subpixel position, speed, and momentum of Samus. Rooms can be huge and complex, and have objects that change state. My guess is that those objects probably don't require too much RAM. I am not sure what the limit is on the number of enemies in the room is, but they are actually tracked when they are off screen. The screen is split to accomodate the sizable HUD, so the main screen is smaller than usual for a SNES sidescroller, I wonder if that is necessary for running the game at full speed.

It seems that the consensus is that there is nothing too special about the engine Super Metroid uses. I thought I read somewhere that it was fairly advanced, but I can't find what I read.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 2:38 pm 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 10914
Location: Rio de Janeiro - Brazil
I played the game a bit more and I kinda liked it (although I did find the default control scheme pretty bad, like Disch said). It is a good platformer.

I still think it's doable on the NES, considering what I have seen so far. The effects (rotation, transparency and scaling) could be dropped without problems. There are some bosses and large enemies that would be hard to draw with sprites though...

I don't know about enemies being tracked off screen, as I tried to shoot some of them off screen and it didn't work.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 3:29 pm 
Offline

Joined: Sat Nov 17, 2007 8:44 pm
Posts: 385
Late in the game there is an x-ray visor. If I remember correctly this peels back one of the SNES's graphic layers to display secret passages and/or the weapon it takes to destroy blocks (not entirely sure). There would be ways to compensate for that on the NES but it wouldn't be easy.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 3:37 pm 
Offline

Joined: Sun Sep 19, 2004 11:07 pm
Posts: 162
He's generally talking about the physics, not the graphics or special effects.

The actual physics calcs are probably doable, but they'll be a fair bit slower than the snes's if you went with a direct translation. 32-bit adds aren't very 6502-friendly.

If it's doing any serious multiplication, that's probably not practical on the NES without a hardware assist. While it is computable, it'd chew through a rather large number of cycles. Most of the subtle complexity in SM is related to hitbox tricks, or cases that don't immediately reset or cap momentum.

If you reduced the precision a bit it'd likely be pretty usable.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 4:16 pm 
Offline
User avatar

Joined: Sun Sep 19, 2004 9:28 pm
Posts: 3641
Location: Mountain View, CA
ReaperSMS wrote:
If it's doing any serious multiplication, that's probably not practical on the NES without a hardware assist. While it is computable, it'd chew through a rather large number of cycles. Most of the subtle complexity in SM is related to hitbox tricks, or cases that don't immediately reset or cap momentum.


We solved these problems on the IIGS quite simply -- pre-calculated multiplication, division, and sin/cos tables. It's worth noting that not very many games on the SNES -- which has an external multiplication/division chip -- make use of said chip. Most use pre-calculated tables.


Top
 Profile  
 
 Post subject:
PostPosted: Sat Jul 25, 2009 6:09 pm 
Offline

Joined: Thu Aug 28, 2008 1:17 am
Posts: 591
koitsu wrote:

We solved these problems on the IIGS quite simply -- pre-calculated multiplication, division, and sin/cos tables. It's worth noting that not very many games on the SNES -- which has an external multiplication/division chip -- make use of said chip. Most use pre-calculated tables.


Because LUTs are the magic elixir of the 65x. Free indexed addressing ftw! :)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group