Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
July 11, 2020
arrowPress Releases







If you enjoy reading this site, you might also want to check out these UBM Tech sites:


 

Player Physics 101

by Curtis Turner - IceIYIaN on 09/06/10 03:00:00 am

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.

 

First, I'd just like to state I use ASDF (Back/Forward/Strafe Left/Strafe Right) and right click to jump, spacebar to duck.

How much control does a client(Player) or server(Host) have over the players physics in your game? If you(Developer) have complete control, why? Allowing settings that the server controls brings greater joy to everyone involved.

Before you start, know what type of view you'll be using and the controls to go along with it. FPS'er, Sky View(Classic Zelda, Diablo, Alien Swarm, or Elements of War( http://www.moddb.com/mods/elements-of-war/videos/elements-of-war-sky-camera-system )), Side View, whatever.

Next step is to determine what type of input methods players will have available. Mouse/Keyboard, xController, whatever.

I'd like to state that hitboxes, sounds, weapons, and other factors will come into play.

Walking
Walking allows players to stealth(aka no footsteps). This allows for less spam attacks at times. The players has more control, as they're moving slower.

Normal Movement(Jogging)

Running/Sprinting:
This allows the player to run at max speed, perhaps causing louder footsteps. Some games won't allow attacking, some games have stamina systems. The reason I'm not into running/sprinting is because a player is forced to use this hotkey. While walking isn't used as much.

Forward Strafing: (Golden Eye / Perfect Dark)
This was a move that allowed you to move faster than running straight, which doesn't make sense. I could be wrong, I haven't played either games in a long time.

Backwards/Forwards/Move Left/Move Right Speeds:
Sometimes a slight move backwards and left/right speed reduction is ok. 5/25%, but let's not push it too far...

Jump
Does a player make a sound when jumping or landing? How much of a distance causes the sound?

Duck

JumpDuck/DuckJump (Valve - Source Engine - Half-Life/2)
This move is ducking in the air after jumping. It allows you to jump higher. A few issues come into play with this: I use right click as jump and space to duck, aka easy. Others use space as jump and ctrl as duck, aka hard. PS: ASDF > WASD :d

This move probably causes hitbox issues along with animation issues. Also noting that depending on how you code it, jumping or ducking first may grant a higher jump.

Bunny-Hopping
Simply jumping, over and over. Some games try to nerf this, by slowing you down after each jump or crushing your stamina, and giving you insane recoil. The biggest complaint is that it's highly unrealistic. On the other side of the coin, it's one of gaming's most popular moves (Super Mario). Think about that.

Speed Jumping
Same as bunny-hopping, except you gain speed.

Dodge (Unreal Tournament)
Not as high as a jump, but faster and usually you'll leap in that direction. Unreal uses the double tap system(There was a post on Gamasutra about the double tap, being bad for control sticks).
Skilled players usually run forward, turn right, double tap left, turn in air.
Other games you hold a button down and then press the direction.

Wall Dodge
Same as above, except you dodge off of a wall

High Jump (Super Mario / Halo)
Who needs to DuckJump when you jump HIGH?

Double Jump (Unreal Tournament)
Counter to the DuckJump, as you press jump jump. Easier than jump then duck. Not very realistic, but many side view video games can use it without worry.

Air Control:
Movement based (Unreal Tournament)
Moving right will have you curve to the right while in the air.

Aiming Based (PainKiller)
Aiming/Turning in a direction will have you curve while in the air.

"The Strafe Jump" (Quake I, all Valve titles, the untold secret move keeping Valve at the top)
What is strafe jumping? It's not an easy move. Run forward, jump, while in the air, let go of forward, turn left or right and move left or right at the same time. If you've done the move correctly, you curved in the air and you'll also be moving faster.

In Valve games I like sv_airaccelerate 999, which makes it whatever Valve has as the max value(Unknown).

It's hard to explain why this move is so powerful. It's difficult, meaning n00bZ won't be able to do it over and over. It just feels great. Once you've done it for a long period of time, as millions of Valve gamers have, when you go to other movement based systems they just feel bland. At least IMO. The speed gain is also amusing (:

Foward Roll (Zelda)
Take less damage when falling? Some players say it moves you a bit faster, I haven't played Zelda64 in a long time and don't own a Wii :/

Rolling (Kingdoms Collide)
Should in theory make your hitboxes smaller. Something like a dodge.

Jet Packs

Flight / Wings

Movement in Water

Gravity
Not to be confused with jump height. This is how fast you fall and how much damage you take. Falling damage gives melee a heavy disadvantage and lessens your ability to do crazy moves if the time is right for such a move.

 

// Curtis Turner
// Creator of Elements of War!
// http://www.ElementsofWar.NET
// http://www.ModDB.com/Mods/Elements-of-War


Related Jobs

Disbelief
Disbelief — Chicago, Illinois, United States
[07.10.20]

Senior Technical Artist
Klang Games GmbH
Klang Games GmbH — Berlin, Germany
[07.10.20]

Senior Game Designer
Wooga GmbH
Wooga GmbH — Berlin, Germany
[07.09.20]

Lead Game Designer
Infinity Ward
Infinity Ward — Woodland Hills, California, United States
[07.07.20]

UI Artist (Temporary)





Loading Comments

loader image