Live data from Hacker News

Bunnyhopping from the Programmer's Perspective (2015)

adrianb.io

61–67 of 67 posts

Re: Bunnyhopping from the Programmer's Perspective (2015)

#61

I have played FPS games for as long as they have existed, competitively in the early days of CS. I don’t see why adding this feature deliberately would be appealing. It makes the game look unnatural for what? There are tons of hard to use glitches in every FPS game and the policy on any enjoyable server is “no glitching”, that is - play the game as the developer intended or be kicked. This bug was just too widely use…

I'm a speedrunner. I understand the desire to make some glitches into ascended bits of functionality, but bunny-hopping is usually frame-perfect and that's not a good choice for a feature.

That said, walljumps in Mario games started as frame-perfect buggy jumps and later became much easier and reliable.

Re: Bunnyhopping from the Programmer's Perspective (2015)

#62
this inspires me to write an article about the practical issues of finding good game developers.

the value of the frame delay in physics simulations is completely overlooked, something the current generation of popular game engines seem unaware of... it means values for positions remain consistent during a frame.

with or without that insight it is eminently possible to work out how something like this works on inspection.

the article is thorough, but the stuff it explains is much more fundamental... the detail about projection is good, but the explanation for why it is there is also absent, and the variable naming in the code example is relatively bad for such a short snippet. (a float called 'vel' which once assumes is 'velocity')

... anyway, i should stop complaining and try and explain this stuff better somewhere :)

Re: Bunnyhopping from the Programmer's Perspective (2015)

#63

I have played FPS games for as long as they have existed, competitively in the early days of CS. I don’t see why adding this feature deliberately would be appealing. It makes the game look unnatural for what? There are tons of hard to use glitches in every FPS game and the policy on any enjoyable server is “no glitching”, that is - play the game as the developer intended or be kicked. This bug was just too widely use…

Any game where you shoot rockets out of a rocket launcher to land and explode near your feet has long abandoned "unnatural".

Re: Bunnyhopping from the Programmer's Perspective (2015)

#64
post #28

Earlier quoted context omitted.

Skiing is the best happy accident in FPS gameplay, in my opinion. While Tribes: Ascend was still a thing, the competitive scene was intensely charged around high-velocity damage-boosting optimal flag capture ski routes. It was nuts. The skill ceiling was practically unlimited and the competition was fierce. Combined with projectiles with velocity ("inheritance") it made for some of the most exciting, tangible gamepla…

Back in high school, a friend and I wrote a 3D platformer akin to Mario 64[1], including writing the engine from scratch. No surprise, the physics was by far the hardest part and we never got it quite right. There was one build of the game where I screwed up the jump button function such that if you held the button down while going up a slope, you would repeatedly make contact with the slope and perform another "jump…

> No surprise, the physics was by far the hardest part and we never got it quite right.

Don't feel bad, neither did Nintendo! The Backwards Long Jump, or BLJ, is kinda similar to your slope-launch, where you accrue velocity, and is a core part of SM64 speed running techniques.

I wonder if, in the modern world of Unity and drag-and-drop physics, we're missing out on strange, emergent gameplay due to programmer error-- and to what degree. Some true magic was born out of weird and/or bad physics in games.

Re: Bunnyhopping from the Programmer's Perspective (2015)

#65
post #30

I have played FPS games for as long as they have existed, competitively in the early days of CS. I don’t see why adding this feature deliberately would be appealing. It makes the game look unnatural for what? There are tons of hard to use glitches in every FPS game and the policy on any enjoyable server is “no glitching”, that is - play the game as the developer intended or be kicked. This bug was just too widely use…

It looks unnatural when you put it in a game like CS, yes. But remember where CS came from, Action Quake. Then you have games that put this front and center, and it looks completely natural, such as Warsow.

Action Quake II was the pinnacle of these for me. Such a fun game.

Re: Bunnyhopping from the Programmer's Perspective (2015)

#66

I have played FPS games for as long as they have existed, competitively in the early days of CS. I don’t see why adding this feature deliberately would be appealing. It makes the game look unnatural for what? There are tons of hard to use glitches in every FPS game and the policy on any enjoyable server is “no glitching”, that is - play the game as the developer intended or be kicked. This bug was just too widely use…

> for what

It's fun and it adds depth! Bunnyhopping is easy to learn but hard to master, and (together with related movement mechanics) adds a lot of freedom and dynamism to the game.

Of course, simply adding bunnyhopping to a game built around more realistic movement will drastically change how it plays -- probably for the worse, if the original was well designed. But in the case of Quake it turned out to open up the game in a way that is both superficially fun and competitively interesting. Nowadays the games in the Quake lineage are built around the existence of bunnyhopping and/or strafejumping, and their maps are designed accordingly.

Re: Bunnyhopping from the Programmer's Perspective (2015)

#67

I have played FPS games for as long as they have existed, competitively in the early days of CS. I don’t see why adding this feature deliberately would be appealing. It makes the game look unnatural for what? There are tons of hard to use glitches in every FPS game and the policy on any enjoyable server is “no glitching”, that is - play the game as the developer intended or be kicked. This bug was just too widely use…

I'm a speedrunner. I understand the desire to make some glitches into ascended bits of functionality, but bunny-hopping is usually frame-perfect and that's not a good choice for a feature. That said, walljumps in Mario games started as frame-perfect buggy jumps and later became much easier and reliable.

> bunny-hopping is usually frame-perfect

If you mean the timing of the jump, that's not the case in Quake and its (spiritual and official) successors. You can press the jump key early and hold it until after you land.

(If you mean optimal bunnyhopping is frame-perfect, maybe so, but it's not the kind of mechanic you're expected to master in the sense of performing it optimally; it's more like aiming in FPS games, or most skills in real sports, in that top-level players still vary in their proficiency and even the best are imperfect.)

Post reply on HN