Sunday, May 14, 2006

Why some games feel better than others – Part 1 of a gazillion

Before we dive into this lets just get this out of the way – this is a very long and complicated subject to tackle. When I talk about feel – I’m trying to describe how a game plays. When you first pick up the controller and you move the character around or jump – does it feel good? Does it feel like you expect it to?

This isn’t even relegated to jumping or moving around but those are very basic functions that I think most games get wrong. One of the worst things about making videogames is that you have to re-invent the wheel with almost every new project you work on. So even though Mario jumps like a champ, when you go to make your game it’s very hard to reverse engineer Mario’s jump and port it into your game. Many games spend months on just getting their characters navigation down – going from idle to walk to run, etc. Seems like a simple thing that you should just be able to plug in some middleware entitled, ‘good navigation’ and throw your character model on top but it doesn’t work that way. I heard a story about a certain coin-op developer who did a lot of racing games in the 90’s, they had a completely separate engine for all of their racing games (which I think was around 4 different series) and none of the teams spoke to one another.

Because you have to reinvent the wheel each time out, you get people who either don’t care or simply don’t have the knowledge of what it takes to have their characters feel good when a player first picks up the controller. I completely admit this is a huge task but I think it’s one that most developers gloss over. One of my favorite Shiggy Miyamoto stories is him coming to America to play an early build of Excitebike 64. He asked the developer for an empty track with no hills, jumps, curves, etc – basically a blank road on which to drive the bike around. He picked up the controller and within minutes threw it on the desk and probably mumbled something in Japanese about how all American game developers suck. His point was that if you can't have fun in an empty room with no toys, then nothing you layer on top of it will salvage the game. I liken it to construction – if the base isn’t solid then the rest of the building will soon collapse.

So when it comes to building the foundation one of the easiest ways to measure things is the amount of frames that they take up. How many frames total is the animation or how many frames are there in the startup, hit window or in recovery. Any professional fighting game player will tell you the importance of frames, a move with 3 frames of recovery is vastly better than one with 6 frames of recovery. Things get more interesting when the move with 6 frames of recovery has 1 frame of startup.

The importance of frames isn’t relegated to only fighting games though. I think this is where most game developers let things fall apart. Either by not knowing the importance of frames or letting the animators dictate what looks better over what feels better. Animators will always opt for the animation that looks best.

With everything being said I am going to use 2 different fighting games examples to convey what I'm talking about. The first one is the same character in 2 different modes and how those modes play off of one another and the second is 2 different characters but with the same special move command and why one is easier than the other.

Capcom Vs. SNK2
It is not important to be well versed in this fighting game but either playing it once or twice or downloading a match video would not kill you. The important thing to know is that in this game when the player picks their character they are presented with another screen to select their ‘groove’. Groove dictates how the character will play – can they run, dodge, or how will they best use their special moves, etc. For the purpose of this post I want to talk about one important aspect that changes from some grooves to others: Low Jumping. Low Jumping is the ability to do a small jump as opposed to the normal jump that happens when the player presses up on the controller.

In a normal jumping groove, Ryu will leave the ground in 2 frames. In a Low Jumping groove, Ryu takes 6 frames to leave the ground. The game adds 4 extra frames to the same character to allow for controller input (Low Jumping command is Up then quickly tapping Down on the controller). Although at high level play these 4 frames don’t really make or break a game but when you first play the same character in multiple grooves it stands out and makes the character feel slower.

Here is a quick video of the Ryu in both grooves jumping up and down. Notice how they become off time from one another.

Zangief Vs. Thawk
Again with a Street Fighter reference but this time with a much older game, Super Street Fighter 2 Turbo. There are 2 characters that both have a complex controller motion known as 360 – you must spin the joystick 360 degrees then press the punch button to perform. Even though both characters have the same command many players have a much harder time performing Thawk’s. The reason again boils down to frames and in a very similar reason:

Thawk jumps faster than Zangief meaning that he leaves the ground faster. So when the player presses Up on the controller as part of the 360 command Thawk jumps faster than Zangief. Most players who have a hard time doing the same move with both characters will attest to the fact that Thawk ends up jumping a lot when they try to do the move and that is why. Let's look at the frames behind the problem:

Thawk leaves the ground in 3 frames after pressing Up
Zangief leaves the ground in 5 frames after pressing Up

2 frames is all that is needed for players to have a hard time doing the special moves for their characters. Here is a quick and dirty video showing Thawk and Zangief both jumping. Although this isn’t as accurate as Ryu Vs. Ryu in the previous example (since I don’t know how many frames they stay in the air) I think you can quickly see them getting off time showing the importance of 2 frames.

For the next post I want to discuss more mainstream games - such as why Mario's jump feels better than Lara Croft's and some other gameplay mechanics that are common.

Thanks for reading.


Anonymous said...

Did you get a chance to test out Alpha anthologies at E3? If so how was it?

Playing to Win said...

Dude, you've just proved what Sirlin said about SF players being good game developers. :)

Just wondering if the rest of article will be focused just on jumping though. Although, I think there is plenty of analysis to be done in that department, I'd like so see your take on other things (comparing different brawler's combat systems for instance).

Derek Daniels said...

I played Alpha Anthologies for about 2 seconds when I was at E3. It was me, ShinJN, Jason 'DreamTR' Wilson and Jason 'Shirts' Deheras. I got to the controller first and said, 'i just want to test 2 things'.

I picked Dhalsim vs. Dan and did Dhalsim's standing Roundhouse to see if it would hit Dan standing there, it did. Next I picked Guy vs Sagat and tried to do Guy's command grab with Sagat in the corner. Normally on PS1 this works, but I could not get it to work. All of us were like, 'whoa...maybe they finally fixed it' (meaning it's closer to the arcade version and not the PS1 version).

After that I just left to go play Heavenly Sword, a great game BTW.

Derek Daniels said...

In response to #2,

Jumping to me is one of the first things I do (at least in games with jumps) and its the most obvious as to what feels good/bad. So I would like to explore it a little bit but after that I'm open to anything.

When you say different brawler's combat systems are you talking about stuff like Urban Reign and Beat Down? There is some interesting stuff in both games. If you have some more examples of what you are wanting I would be more than willing to give it a shot.

Playing to Win said...

Actually, I didn't really think that line through. All I can come up with is things like why God of War and Zelda have good solid battle systems, where as something like Spiderman might have a fairly average one... But that's not really a fair comparison, as none of those games are really brawlers. I think your examples are pretty good, but having not played those games enough, I can't give specific examples from them.

omar kendall said...

I feel violated!

NKI said...

I couldn't agree with you more. I think a really good example (or perhaps I should say a really BAD example) is the MK series. There is a ridiculous amount of input lag in MK1. It got somewhat better as the series progressed, but the last one I played (MK Trilogy) still had an uncomfortable amount of input lag.

Derek Daniels said...

Going back and playing MK1 is painful these days.

Unfortuantely I don't think the MK series has gotten better though. I remember everyone joking when the last one came out - it felt the same online as it did offline.

manu said...

Nice article.
Perhaps you should get some examples from God Of War also: why is it so damn demanding in timing when solving puzzles? Grabbing boxes needs very precise positions, and the amount of frames in the grabbing animation is painful. There's a lot of puzzles where you know you won't make it if Kratos makes a slight sidestep to grab a damn box!!

In the other hand, the fighting feels TERRIFIC!! It's the best action/adventure combat experience ever. Congratulations.

Anonymous said...

you do know that a "frame" is not a specific amount of time, and one game could have 1/30th second frames while another game could have 1/15th second frames.

The smaller amount of time each frame is on for, the smoother and faster it looks, and the better it feels.

viagra patent expiration said...

Hi, thank you for sharing this great info. Was just browsing through the net in my office and happened upon your blog. It is really very well written and quit comprehensive in explaining with a very simple language.

medexpress said...

I liked this blog, i think is very interesting, most of all for the new ideas that this blog talk.

viagra said...

I am thoroughly convinced in this said post. I am currently searching for ways in which I could enhance my knowledge in this said topic you have posted here. It does help me a lot knowing that you have shared this information here freely. I love the way the people here interact and shared their opinions too. I would love to track your future posts pertaining to the said topic we are able to read.