Talk:Strafe-jumping

Latest comment: 3 years ago by Mach-AVelosity in topic References to help solidify this article

Wrong edit

  Resolved
 – Article text corrected.

Strafe jumping is the single most useful skill in Quake other than the ability to aim. As such, I would have hoped that a person writing about it would actually know HOW to strafe jump and, assuming they did know, at least read over what they had written to make sure it was right. One or both of these was not the case. When strafe jumping you turn in the same direction you are strafing not the opposite direction. - [unsigned]

The above poster is correct. It is evident by actually watching the demos, as the writer of the article suggests to do, that you do not turn left when strafing right, but instead turn right when strafing right, and left when strafing left. I'll be modifying the article accordingly. - [anon]

Delete? edit

  Unresolved
 – Article remains unsourced after 4 years.

why the HELL is this on wikipedia?! --mojo

Because Wikipedia is an encyclopaedia, and strafe-jumping, as a technique, has influenced the development of FPS play and development. Hence, it stays. Tohya 11:03, 8 June 2006 (UTC)Reply
Actually, it's been unsourced for years, so it will probably be deleted if anyone bothers to take it to AfD. All articles must be reliably sourced. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 22:36, 30 March 2010 (UTC)Reply

How it actually works in the game engine edit

It would be nice to have a real explanation, one that doesn't make it look like a black art. Perhaps WP:OR (at least I couldn't find anything), but then we can base it on the source, like the Quake III Arena article does as well at some points. Try code/game/bg_pmove.c, PM_Accelerate in particular. My observations follow.

There are two versions, one of which is #ifed out with the comment “proper way (avoids strafe jump maxspeed bug), but feels bad”. The other version measures the current speed by taking the dot product of the current velocity and the direction the player wishes to accelerate in. Due to that dot product, the game will measure a smaller portion of the top speed being used when attempting to accelerate in a different direction. Because the game thinks there's headroom, it grants acceleration in the direction the player chose, even if that means accelerating beyond what would be the top speed.

There is quite literally a side effect (what else would you expect when partly accelerating to the side?), but it's small compared to the high speeds and small at low speeds, and bounded between no and normal acceleration.

Regarding common practices:

Already ‘strafing’ on the ground
The ground offers ten times as much acceleration as air.
Jumping
The ground's friction becomes a terminal velocity-like problem at some point, whereas the air offers no resistance at all. Also, no speed appears to be lost when hitting the ground with jump held down.
Zigzagging
Not required, but helpful if only accelerating in one direction throws you off course. Inconsistent with airchange (link from the article) somehow.

I hope this provides a nice starting point to expand on (there is a lot more to add, and in a more encyclopedia-friendly format). Keep in mind that constants and other things might be different in other games using this engine or a related one, where strafe-jumping might work as well. It could also be good to check my claims against the source, as I may have overlooked something. --Jonathanvt 03:50, 28 October 2006 (UTC)Reply

Could this link be added? edit

I dont know much about what should be added to the wiki, and what shouldent, but maybe this link will be usefull: http://www.funender.com/quake/articles/strafing_theory.html It explains the theory beheind strafe-jumping. argh, forgot to sign. --Ismetteren (talk) 18:27, 9 May 2009 (UTC)Reply

There's no reason to create an "External links" section for something like this, but it might be useful as a source. — SMcCandlish Talk⇒ ʕ(Õلō Contribs. 22:40, 30 March 2010 (UTC)Reply

Strafe Jumping Classification edit

I disagree in how the article is classifying things and some of the statements made in it.

Bunny hopping describes all movements in all games that makes you look like a rabbit with a railgun. It is another word for strafe jumping.. We called it bunny jumping because when players first started hopping around the game it was funny looking. If you read the articles on Bunny Hopping and Strafe jumping you will immediately see that the "strafe key" is mentioned in the execution of all techniques. Therefore what we really have is how to strafe jump in Quake 1, Quake 2 and Quake 3. This is the classification that things should be broken down as. It is obvious to any old time quaker that they mean one and the same. Most new players probably heard both and tried to classify them separately.

Bunny hopping (strafe jumping) where you can change direction in air describes how to strafe jump in Quake 1.
Strafe Jumping would most likely describe how to strafe jump in Quake 2. (though ramp physics seemed to be used in many cases to start this)
Circle strafing is how to strafe jump in Q3.

I would describe the concept of the bunny jump or bunny hopping as the following:

Bunny Hopping refers to what is properly known as strafe jumping in FPS games. It can be used to describe any ridiculous movement by in game characters which involves them jumping consecutively in order to gain speed or to avoid weapons fire. Just like a rabbit that hops as its primary form of movement, any FPS game player who chooses to jump more then run can be described as bunny hopping.


I strongly suggest merging the bunny jumping/hopping and strafe jumping articles and eliminating this concept that they are different.

Oldschoolquaker (talk) 04:58, 13 February 2011 (UTC)Reply

References to help solidify this article edit

Strafe Jumping was a bug that was kept

Description - Talking about the strafe jumping as a bug that was kept   
URL - http://planetquake.gamespy.com/View.php?view=Editorials.Detail&id=115 
Description - the battle for keeping strafe jumping
URL - <http://planetquake.gamespy.com/View.php?view=Articles.Detail&id=735

Strafe jumping exists in Warsaw

http://www.warsow.net/forum/offtopic/topic-17312/ 

Origins or strafe jumping could start with Doom

http://doom.wikia.com/wiki/Straferunning

Strafe jumping in Quake 1

Title - Quake 1: Guide to bunny jump
URL - http://www.youtube.com/watch?v=v6jm9iGW2Co
BY - IloveFPS1
Description - Tutorial on how to strafe jump in Q1

Title - The Speed of Quakeworld
URL - http://www.youtube.com/watch?v=nPtDtPz5m-A&feature=related
By - DonPhrostByte
Description - shows off how fast one can achieve speeds in Quake 1 type games

Strafe Jumping in Quake 2

Title - Quake 2 Jump - stubbsyjump39 - asha
URl - http://www.youtube.com/watch?v=XEbNWMT5hok&NR=1
By - q2jumparchive
Description - an amazing display of trick jumping

Title - Quake 2 Jump - ddrace - Israfel
URL - http://www.youtube.com/watch?v=JhsnnrMg-Bo&NR=1
By - q2jumparchive
Decription - shows off the ramp jump physics and strafe jumping acceleration 


Quake 3 strafe jumping (circle jumping)

Title - Quake Live Tricks - Strafe Jumps
URL - http://www.youtube.com/watch?v=kfpaEAh3geM  
Description - This is a great example as one can see the spaces between the block platforms gets wider and wider

Title - Steve's StrafeJump Tutorial for Quake 3
URL - http://www.youtube.com/watch?v=1g24fe4bwu0
BY - Neillithan
Description - the basis for the circle jumping tutorial as one can clearly see how to execute the technique

Strafe-jumping Physics visualized — Preceding unsigned comment added by Mach-AVelosity (talkcontribs) 08:23, 30 August 2020 (UTC)Reply

Title - Strafe-jumping physics explained
URL - http://www.youtube.com/watch?v=rTsXO6Zicls
By - Matt's Ramblinngs
Description - This a general example of how the physics of Strafe-jumping can be visualized. Note that the difference between other 
Id tech and Source based games don't use the forward movement directional input as the velocity vector is projected outside of the 
"wish direction" vector which stops the gain in speed, the only games that use the forward directional inputs are Quake 3 and 
Quake Live.  — Preceding unsigned comment added by Mach-AVelosity (talkcontribs) 08:20, 30 August 2020 (UTC)Reply 

Bunny hopping is strafe jumping:

Title - Quake 3 strafe jump (FOR BEGINNERS)
URL - http://www.youtube.com/watch?v=2A1yaxc5MbU&feature=related
By - jaboae2
Description - the title of the post and all the posters are ok with the idea that this is strafe jumping, and the video text declares this as bunny hopping.

Title - Carmack on weapons and strafe jumping
URL - http://www.firingsquad.com/news/newsarticle.asp?searchid=417&filterLevel=&up=2&pnum=2
By - posted by Bob CalBear Colayco on Thursday June 03, 1999 - 03:01 PM
Description - Carmack is quoted as saying that jumping around like rabbits is silly. (strafe jumping article)

References that the community treats bunny hopping as another word for strafe jumping can be found in the following links:

URL - http://www.youtube.com/watch?v=kfpaEAh3geM  
Description - look around page 7 of the comments 

URL - http://www.youtube.com/watch?v=1g24fe4bwu0
Description - More comments that this is also called bunny hopping

Possible origin of bunny hopping being misclassified

 http://www.warsow.net/wiki/index.php?title=Movement
 This document and the document called Bunny Hopping

Oldschoolquaker (talk) 04:48, 13 February 2011 (UTC)Reply

openarena edit

uses strafe-jumping as well. since every other game that makes use of it is mentioned, it should be added to the list --92.193.38.87 (talk) 15:48, 17 August 2014 (UTC)Reply

External links modified edit

Hello fellow Wikipedians,

I have just added archive links to one external link on Strafe-jumping. Please take a moment to review my edit. If necessary, add {{cbignore}} after the link to keep me from modifying it. Alternatively, you can add {{nobots|deny=InternetArchiveBot}} to keep me off the page altogether. I made the following changes:

When you have finished reviewing my changes, please set the checked parameter below to true to let others know.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—cyberbot IITalk to my owner:Online 01:23, 13 February 2016 (UTC)Reply

Explain the Mathematics? edit

Considering that most wikipedia articles on the alike topics include equations and stuff, this page could add the mathematical equations involved. The physics used to bunnyhop and strafe jump are essentially the same, although the physics used in games where players typically use the bunnyhop technique has a small speed limit and high acceleration. Quake 3 strafe jumps will eventually turn into a slow bunnyhop style if the user does not want to "jerk" the camera too much

I'm not good at explaining stuff in text nor speaking, and a good source for explanations from the funender website is now down but I'll paste the lua code (since it is somewhat more easier to read than the original quake code) that I put into my TremNS2 mod (a tremulous based [[[natural selection 2 mod]]) and the bunnyhop mod:

Quake 2/3 style: TremNS2: Marine.lua file on Github

       local lAirAcceleration = self:GetMaxSpeed() --accelerate to maximum speed in one second
       local wishDir = self:GetViewCoords():TransformVector(input.move) --this is a unit vector
       wishDir.y = 0 --Remove vertical component
       wishDir:Normalize()
       local wishDircurrentspeed = velocity:DotProduct(wishDir) --current velocity along wishdir axis
       local addspeedlimit = lAirAcceleration - wishDircurrentspeed
       if addspeedlimit <= 0 then return end
       accelerationIncrement = deltaTime * lAirAcceleration --multiply by the time interval between frames
       if accelerationIncrement > addspeedlimit then accelerationIncrement = addspeedlimit end
       velocity:Add(wishDir * accelerationIncrement)

The code can be modified a little bit to transform it into quake 1 style used for bunnyhopping by multiplying accelerationIncrement or setting it to a high value, and setting lAirAcceleration to a low value. Example from my bhop mod for NS2:

     local laccelmod = 70--acceleration modifier
     local lAirAcceleration = self:GetMaxSpeed() --accelerate to maximum speed in one second
     local wishDir = self:GetViewCoords():TransformVector(input.move) --this is a unit vector
     wishDir.y = 0
     wishDir:Normalize()
     local wishDircurrentspeed = velocity:DotProduct(wishDir) --current velocity along wishdir axis
     lAirAcceleration = lAirAcceleration * 0.1
     local addspeedlimit = lAirAcceleration - wishDircurrentspeed
     if addspeedlimit <= 0 then return end
     accelerationIncrement = laccelmod * deltaTime * lAirAcceleration
     if accelerationIncrement > addspeedlimit then
       accelerationIncrement = addspeedlimit
     end
     velocity:Add(wishDir * accelerationIncrement)

The end result from the above code is that the user is able to accelerate in the air about 7 times faster than on ground, but is limited to a speed limit of 10% of their maximum speed limit. The high acceleration value and the small speed limit means that the user is not able to accelerate much compared to the vanilla Q3 style physics.

The speed limit modification has to do with the fact that the code uses dot products. I am not good at explaining it, but here is a rough image to represent what I want to explain: http://i.imgur.com/hLRkTRv.png --ZdrytchX (talk) 19:42, 24 February 2017 (UTC)Reply

___

I have created a simple calculator to determine the maximum speed and the acceleration at a particular acceleration input angle to the particular movement angle.[1] It is no where as advanced and descriptive as the old funender web. It does not include things like FPS limitations and differentiated functions to demonstrate the optimum angles and acceleration. I could use a person with higher mathematical knowledge here to help me, I'm lazy.

Also, does Wikipedia support spreadsheet functions or spreadsheet embedding? It would look nice if we could remove the non-satisfactory ambiguous non-mathematical "tutorial" on how to strafe jump as seen on this web page, or at least to improve it. --ZdrytchX (talk) 19:05, 2 June 2017 (UTC)Reply


Consistancy edit

Regarding this change: https://en.wikipedia.org/w/index.php?title=Strafe-jumping&type=revision&diff=776880960&oldid=776694510 done by The1337gamer:

If that is what someone thinks best, we probably should remove the list that features bunnyhopping. Some of those games don't specifically only feature bunnyhopping air physics (high acceleration, low speed limit of 30 ups) such as those that make use of combined Q3/Q1 bunnyhop and unreal air control style physics. I like to specifically clal them CPM physics since that seems to be the oriign of the combined air physics, even though it's called turbo physics in quake live and has differnet names in other games.

If we are going to keep them, the old list of quake 3 physics supported games should be brought back.

Also the "how to" and tihngs like the circle jump section needs redoing since it's rather unprofessional. They do not teach the actual physics mechanics and/or explain how it works, only a vague tutorial on how to gain an apparent gain in speed. The page needs cleaning up.

It also should probably be mentioned in the bunnyhopping section that: 1. the mathematical equations are essentially the same. 2. The acceleration is typically an increased modifier value ranging from (but not the smallest value) like 10 (source engine default values, like csgo) up to 150 in other games with a value like 3000 for surf mod servers. 3. The speed limit is almost always a raw vlaue of 30 units per second weather it be inches per seocnd (hammer units in source engine) or 30/32s of a meter per second (quake/goldsrc). Refer to the above section in regards to the mathematics. — Preceding unsigned comment added by ZdrytchX (talkcontribs) 06:07, 14 July 2017 (UTC)Reply

Update: In the event that my dropbox link goes, down, I have an updated version of the calculator: here. I have yet to do the calculations of Call of Duty games, and to calculate the errors (if you want to call it that) or lack of efficiency due to low framerates. I need some time and motivation to draw up a chart or sometihng to get the maths equations for that out (to determine the optimum acceleration rates especially for bunnyhop phyics, which are highly influenced by framerate).

ZdrytchX (talk)

External links modified edit

Hello fellow Wikipedians,

I have just modified one external link on Strafe-jumping. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

This message was posted before February 2018. After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than regular verification using the archive tool instructions below. Editors have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the RfC before doing mass systematic removals. This message is updated dynamically through the template {{source check}} (last update: 18 January 2022).

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 17:20, 30 December 2017 (UTC)Reply