Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Bunnyhopping from the Programmer's Perspective (flafla2.github.io)
73 points by louis-paul on Feb 15, 2015 | hide | past | favorite | 31 comments


Cross-posting my comment from reddit (had the article first):

Asheron's Call had a similar bug, although it took a while to be discovered. There was a buried feature that allowed you to turn/rotate, your character by clicking your mouse on the screen in certain locations. Your rotation speed was controlled by how far from the origin the mouse was located and ramped up to a capped rotation speed after a certain distance. The closer you were to the origin, the slower your rotation speed. The game came out around 1998 when most people were playing on 800x600 or maybe 1024x768 screens and since the possible rotation speeds you could achieve were directly related to the pixel width of the viewport, there was effectively a limit to the slowness of your rotation. Fast forward half a decade and people are playing on dual 1600x1200 screens and you can now turn reeeally slow if you get your cursor in the right position (and enabled the rarely used feature). Well, you could combine this slow rotation with strafe-running to make your velocity vector scale out many multiples of your normal run speed. In-game, other people viewed you as essentially teleporting (game had slow updates and basic client-side prediction) huge distances at a time. Not too long after this exploit was found, they introduced a new game client (for other reasons) that didn't have the mouse turn feature (I don't think anyone ever really used it in the previous ~7 years), so it was no longer possible to use. My friend and I had some fun nights on the PK server being able to just 'disappear' from a fight at will.


Hmm, looks like something ate my line breaks and editing/deleting isn't working...


You have to double them.


I tried that...about 10 times...


Isn't this... just a bug? Good on the players for finding it, of course; and I can even see the community agreeing to let everyone exploit bunnyhopping - but intentionally programming in this behaviour seems really odd to me.


It is now considered a feature, and there are entire maps & games built with a focus on trick jumping. It's a fun thing to learn and it really opens up new possibilities, even in maps that weren't specifically designed with trick jumping in mind. For most games, it increases the skill cap, thus adding depth...

I am so used to bunny hopping that I feel handicapped in any FPS that doesn't let me do it. If I ever get my FPS project going, it'll sure as heck have this feature.


I really wish people perceived the bar to be higher than "well, it doesn't totally break the game, and it adds to the skill cap, so ship it!" for keeping any bug/feature in.

Literally anything that can impair you adds to the skill cap because it's another thing you have to learn to use/avoid.

We must also answer questions like "Is it credibility-destroyingly stupid to have players flying around at high speed in a semi-realistic military shooter" and "is this even fun" and "what effect does this have on the intended balance & map design". I don't know the answers for CS but in general I often see criticism of the status quo in games met with with knee-jerk "this increases the skill cap, learn to play" responses.


Realistic military shooters are niche. The average player wants fun, not believable. I personally attribute most of Counter-Strike's success to its completely unrealistic movement/weapon handling, creating a game that is arcade-y: you can replicate movements with almost 100% accuracy which means with enough practice you can master the game in incredible ways. This means the replay value is almost infinite: see for example, how the 1.6 competitive scene has used the same 15 original bomb defuse maps for more than a decade without it getting stale.


I would assume however that mainstream gamers (who would be "average" by definition, in terms of skill level) have no appreciation for non-obvious game mechanics that give highly skilled players an "unfair" advantage. In fact anything that increases the skill cap works against the "merely average" players on public servers. So there is an incentive for the companies behind big online shooters to strip their games of such features. It follows that modern shooters do not come with bunny hopping, and the players who've been primarily exposed to this new generation of games would find such tricks game-breaking and unfair.

So I guess bunny hopping and such will remain a thing for old timers who stick to the old classics. And boy do they have a ton of fun :) Although it would be nice to see some new players. Old players get old and tired...

To vehementi: bunny hopping and all the other stuff you can master to become better at a game really is a ton of fun. I don't think breaking balance is as big of an issue as some here make it out to be, though it obviously depends on the map and mode. But in general, if your foe can bunny hop, so can you. Sometimes they start in a position where it's way more advantageous to them. But in my experience it's just not very common. And thankfully, with the good games, we are not tied to the stock maps put out by the company behind the game.. instead there's a community of gamers and mappers, and the community will adapt.

Many stock maps suck anyway, whether you have bunny hopping or not. For example, many of the stock Q3A maps are regarded as crap, and aren't really played at all in competitive matches. Bunny hopping however is a core mechanic in these games and iD was well aware of it.


Not exactly true, valve "fixed" the phoon style bunnyhopping after the vide on in the article surfaced (even though it had been in the game for years). There still exists a version of bunnyhopping in the game but using it for speed gain on longer distances is very difficult.


You think bunnyhopping like phoon was is a feature? That was completely game breaking. Valve multiplayer games are built on balance and CS is all about balancing the timing of who gets where first. Being able to move that fast completely broke the mechanics of the maps (which is the whole point of the video). It allowed the guy to get in places people are expected to be but at speeds that completely ruin the balance.

These kinds of exploits don't increase the skill cap because you can't figure out how to do it while you're playing the guy whose exploiting. If some guy found a new spot to bounce nades off of, or a new place to peak, you can learn and reason about that and react after a few rounds. There's literally nothing you can do here unless you magically discover how to exploit a bug to move faster.


Bunny hopping was removed from competitive play with zblock, and later on made to be disabled by the server. CS has a whole other side to it where people don't even play on normal maps, and bunny hopping is part of it or the main challenge.

Continuing my point, during the development of Quake 2, bunny hopping was "fixed" but players complained, and it eventually got added back in. It remains a central part of Quake gameplay. Action Quake 2, a mod for Quake 2, had bunny hopping in it like Quake 2. The mod developers then moved on and made Counter Strike. CS featured bhoping prominently up until version 1.3.

These games have always lived and breathed bunny hopping, it has been a huge part of the game, and has influenced the creation of many games (CPMA, Warsow, DeFRaG, etc), and even started a new genre of game that requires of focuses on skilled movement.


It should probably be noted that CS 1.3 was released in 2001. So CS has not featured bunny hopping for 14 of it 16 years of life.

Citation, https://joliesjunk.wordpress.com/2012/10/11/the-history-of-c...


CS 1.3 had uncapped speeds, meaning you could accelerate to enormous speeds with bhopping. The speed was mostly capped in the next release, but bhopping was not eliminated, it's used to overcome surface friction, maintaining momentum. There's an entire community built around it: http://xtreme-jumps.eu/


It really is a bug which has evolved into a feature. Portal 2 features bunnyhopping, and it was released more than 10 years after the first games to feature it, so you can assume they put it in intentionally.

It gives skilled players an edge, without being completely broken, so it seems like a good way of balancing your game to me.


Source video for the gif: https://www.youtube.com/watch?v=KYEyIGLRqW0&t=47

It really shows how much of an advantage it was if you knew how to bunny hop.


Here is another video showing a fuller explanation of bunny hopping and going into the history a bit

https://www.youtube.com/watch?v=n1HowpVX-hU


So games intentionally program support for bunnyhopping, or us it a math logic bug.


Both. It was originally a bug, has since turned into a feature.


Talking of other CS "bugs" that have turned into features, anyone who's never seen "surfing" should check that out.

Basically, you take the same air-strafing principles from this article, add a little bunny-hopping, and another "feature" of counterstrike where if you land on a steep enough slope you won't take falling damage or apply friction. Give this to some insane map makers and the end result is an incredibly skill-intensive obstacle course of sorts at tremendously high speeds.

Here's a good example of what I'm talking about: https://www.youtube.com/watch?v=o0Xv00yJhjs

There's a really dedicated community behind this stuff, you can find 64-man servers full of people playing this type of map in CS:GO and CS:Source.


Here's an interesting bug/technique in HL2 called 'Accelerated Back Hopping' https://www.youtube.com/watch?v=NV-AWxqYAgc&t=41m43s

It's used in speedruns, but I believe is fixed these days. Apprently if you're bunnyhopping backwards, the game tries to limit the speed, but since you're going backwards the player ends up accelerating essentially indefinitely.


See also: skiing in Tribes, or the entire notion of combos in VS fighting games.


Not bunnyhopping, but similar idea a game called Gunz: The Duel had many animation glitches where you could cancel animation lock with higher priority move. The action would execute, but the animation would be cut in short with a shorter animation which allowed you to perform a new longer animation move.

Commonly it was called kStyle or "korean style" in west since the game was korean and koreans came up with the bug. It made the game everyone was doing it flying through the map with swords swinging wildly it was a lot of fun and definitely raised the skill ceiling and someone how it didn't seem nearly as cheaty as the bunnyhopper in articles video.


That sounds like how certain types of combos work in games like Street Fighter.


The good old-fashioned rocket jump is another example of this.

Quake 1 had a feature where if a player took damage, they'd get pushed in the direction the damage came from. This was originally intended to serve as a visual indicator.

Of course, this meant that if you aimed the rocket launcher at your feet, and jumped and fired simultaneously, the damage kick + the jump would launch you a good distance upward. This became a popular enough technique that it was retained in the Quake sequels, and even imitated in games like Half-Life (the Gauss Gun would push you backwards, allowing a "rocket jump" of sorts)...


This was also a common tactic in Tribes, which also had jet packs and 'skiing' (basically bunny hopping downhill while building up momentum). The game had vehicles, but after people figured out skiing, the vehicles were basically abandoned.

In the later years of the game, people even figured out disc jumping in midair off of their own grenade.

Edit: here's a quick Tribes 1 video where a guy skis around the enemy base, team kills his own flag carrier, catches the flag in midair, and disc jumps home to cap it.

http://youtu.be/HF_htZRhbiQ


Haha! This is awesome! Reminds me of the good days of CS 1.6 when newbs would to be totally flabbergasted on seeing others bunnyhopping. The best times were when a sniper would get knifed by some bunnyhopper! :D

Thanks for sharing :)


If I remember correctly so was bunnyjumping fixed in version 1.5, which also started a mod of CS called classic 1.3 or something like that.


It was 'fixed' in 1.3 but was still possible in 1.5 and 1.6, just much harder


I think it's extremely telling how people react to it. Some will get annoyed and demand for this to be disabled because others have the advantage on them. Others will try and learn to do it to get that advantage on other people. I wonder if you could use this to perform a similar test to the marshmallow experiment (http://en.wikipedia.org/wiki/Stanford_marshmallow_experiment).


Ha, I thought it was a `Skater Bunnyhop from the Physicist Perspective` article. Interesting nonetheless.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: