ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.6k stars 598 forks source link

Half-life Bunnyjumps and special #1154

Open AllesRatten opened 11 years ago

AllesRatten commented 11 years ago

Hello,

the "special" command and its pair "_special" alias made possible to create looping scripts with the otherwise very restricting scripting language of hl. Without it there is no way for running scripts looped, without blocking the client's movements.

For example, on many servers (and in the Adrenaline Gamer Mod [promod for Half-life]), the bunnyjump-prevention is turned off, allowing players to do full bunny jumps if they jump on the exact same time when they hit the ground.

To achieve this, players have to perfectly time every jump while doing other hard moves, like aiming, and swiching weapons in fast speed.

Perfeclty timing the jumps with high fps is nearly impossible, so players either have to use a repeated jumping scprit, like :

alias "+bunnyhop" "+jump; wait; -jump; wait; +jump; wait;-jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump" alias "-bunnyhop" "-jump"

But this scipt causes the feeling of lagg, because the wait commands in it. the more it is there the worst.

Or they can use the special _special to write this repeating scrpt:

alias hop "+jump; wait; -jump; wait; special" alias +bunny "alias _special hop; hop" alias -bunny "alias _special"

We need any sort of help there. I would like to ask you to either put back the special and _special commands in the game, or provide another possibility of writing scripts with infinite loops in it.

Alles_Ratten

HaraldQuake commented 11 years ago

I think it would be the best to add an sv_bhop option.. so you can either have no bunnyhop or real nice and smooth bhop. It should get integrated into the game so you won't need any script. In keyboard options you should have one key for normal jumps, one key for bunnyhop and maybe one key for longjump, too.. the bunnyhop key would do the same like a bunnyhop-script.

crustypig commented 11 years ago

it is important for the half-life community that this issue is catered for, my suggestions would be to either add an svar to let the server decide whether to allow _special aliases, or to add a pogo jump bind inside the game's keyboard options, so that all players have access to this if they wish to use it

quelgun commented 11 years ago

Bring back _special in HLDM pls or It would be better to implement Bunny Hop and have it in HLDM options.

and.. may be delete bunnyjump-prevention from HLDM or make as server option.

tara391 commented 11 years ago

hldm and ag losing good players due to the fact that it was removed.

BETEP88 commented 11 years ago

yes, is trrue. bring back _special in HLDM please. don't kill our beloved game.

dervogel commented 11 years ago

Any automatization, which prevents the human from making mistakes , takes away depth from a game. _Special combined with +jumps allows players to have perfect timing for bunnyhopping , giving players who uses a looped version of a script a huge advantage over players who do those manually. _Special is even worse in that regard because it allows you to perform moves which otherwise are not possible to do, for example using bunny in tunnels with a height of less than 64 units. Or just replace +jump with +duck which causes bugged animations on playermodels.

Bunnyjumping is still possible even without _special.

Its just more difficult to do and thats the reason everyone complains about the removal of _special. It takes practise the same way you have to practise to aim in a fps game, which is good because practise is the diffrence between a good and an even better player. Getting rid of diffrences in skill, in either movement or aiming, just makes the game a more dumbed down version. You want and you need mechanics which requiere skill in order for players to distinguish themself from eachother.

If this problem "needs" to be fixed , which imo it does not , please add pogo jumping instead of re-enabling _special.

AnAkkk commented 11 years ago

_special shouldn't be brought back, there should be an option for pogo jumping in HLDM settings.

LevShisterov commented 11 years ago

Adding an option just in HLDM will not solve that for other mods that need it.

LevShisterov commented 11 years ago

@dervogel If you suggesting to remove _special, you mean to make it harder to use bunnyhop. If you say that "harder = better", then you should disallow use of decent jump (alias with waits = automation) and disallow use of roller, because this is also an automation. So you are remain with just a bind +jump on a space. Let we see how you will bunnyhop with this? The main question of this topic is about easiness of ability to use main technique in this game. Bunnyhop is an almost infinite depth technique that shouldn't be done more deeper because this is unneeded. A lot of players already used _special way to access that technique so that is already a part of gameplay and you, @alfred-valve, removed it based on you own decision with suggestions and support from participants not playing HLDM professionally (yes, some of them play professional, but not all of them). So we are asking you to reconsider this. That's nothing to be said more over this, only to gather statistic about usage percentage, but don't take into account voices of people not playing HLDM.

AnAkkk commented 11 years ago

@LevShisterov : 2 solutions: 1) If the jumping code is in the engine, then add it to the engine and disable it in mods where you don't want it. 2) If the jumping code is in the client.dll of the mod, then get the mod developers to add it. If there are no more developers: I guess it's just one line of code that disables pogo jumping (it just stops you from jumping again after one jump), you could probably hack the client.dll of the mod to disables that.

LevShisterov commented 11 years ago

@AnAkIn1, thanks. It is in a mod (HL or AG, not matter). And it is good to have two binds: +jump and +bunny, so you can behave differently in various situations.

AnAkkk commented 11 years ago

Well if you don't want to keep jumping, just don't keep holding jump, I still think it could be an acceptable solution.

EDIT: Found it in HL SDK, there is a part of code that disables pogo jumping that needs to be removed. player.cpp, in CBasePlayer::Jump()

    // If this isn't the first frame pressing the jump button, break out.
    if ( !FBitSet( m_afButtonPressed, IN_JUMP ) )
        return;         // don't pogo stick

EDIT 2: There are actually another place: pm_shared.c, in PM_Jump()

    if ( pmove->oldbuttons & IN_JUMP )
        return;     // don't pogo stick
Snatch32 commented 11 years ago

Some people already done with this game after this last update. More than 10 years of gaming and now something happans that makes it like "You played it all this time like this, right? Now forget about it, cuz we are developers and we say so!". Not only HLDM but many mods are suffering now. As I said before this thing is just killing the game. Many comment's above already said most of the situation. I hope you'll do something with it.

Snatch32 commented 11 years ago

And yeah, firstly it was removed becouse some guys from TFC said it needed to be removed. Ok-ok, don't know about TFC, but why remove it from HLDM(that effects many side mods too) whan no-one asked to?

ghost commented 11 years ago

it was removed from CS 1.6 and HL a long time ago. Why it should exist in TFC or HLDM? CS 1.6 has bhop and kz maps, people are using scroll to do bhop, some servers provide an AMXX plugin, that emulates bhop. No one asks to add "_special". Why HLDM players are so unique?

quelgun commented 11 years ago

@MaxKorz, for example, because CS have slow gameplay (tactics), and HLDM and mods have very very fast gameplay.

AnAkkk commented 11 years ago

Here's a patched ag.dll that enables pogo stick jumping on Adrenaline Gamer: http://rghost.net/46133586 It needs to be put on the server. EDIT: And the client.dll needs to be patched too to prevent prediction problems. http://rghost.net/46137092

grindcore commented 11 years ago

Please bring back special command. Most of all players vote for bringing back autobhop. Please don't kill our beloved game!

ghost commented 11 years ago

@AnAkIn1 you have to patch the client.dll as well in pm_shared code or else it won't be predicted and provide nasty lag effect / no predict effect

AnAkkk commented 11 years ago

@adnmynjh : Correct. Here's the patched client.dll: http://rghost.net/46137092

crustypig commented 11 years ago

half-life is really not comparable with counter-strike, or many other games in regard to bunnyhopping. in adrenaline gamer (the promod for half-life) bunnyhopping is the standard method to get from point-a to point-b, and the use of a looped bunnyhop script has been used in the community for the past decade. agreed, some players don't use it or don't like it, but the leagues which run in half-life all agree that players can use it.

new players who have started to learn the game in the past decade are aware of this bunnyhop script as it is shared and considered standard in configs - a majority of players use it.

players have become upset because it has been removed after 10 years of it being used, and of course they have a right to be upset, the game mechanics which have remained the same for a long time have been altered.

there is the argument over other scripts which can be made with the _special function, and some of these are considered lame, for example this duck-bounce script:

alias "+bounce" "alias _special @bounce;@bounce"
alias "-bounce" "alias _special"
alias "@bounce" "special;wait;+duck;wait;-duck"

bind "key" "+bounce"

I think the best option is to keep _special removed from aliasing, but create a "+bunny" bind which is effectively a pogo-jump (having the same function a _special bunnyhop script has).

alias "+bunny" "alias _special @bunny;@bunny"
alias "-bunny" "alias _special"
alias "@bunny" "special;wait;+jump;wait;-jump"

bind "key" "+bunny"

this way you remove the "lame" scripts, and also keep the half-life and adrenaline gamer communities happy (that is, if the "+bunny" command will work in adrenaline gamer mod too (im assuming it will as it uses the same platform)).

xrCrowbar commented 11 years ago

If you don't want to destroy the pro-scene of Half-Life, put _special alias back into HLDM. There must be a way to block it only in TFC.

grach2 commented 11 years ago

strange decision to remove _spetsial. because of a dozen people crying in the TFC, suffer hundreds of players from hldm and adrenaline Gamer mod

with every new update I got more and more disappointed

shows that the person in charge of the renovation to the half life really have not played it and do not know all the details of its gameplay

TPOCTb commented 11 years ago

maybe you should just do a jump like it is in a quake, without any aliases etc... (just have enough time to push a jump button again before you reach the ground)

It's the best and the simpliest you can do

ghost commented 11 years ago

maybe you should just do a jump like it is in a quake, without any aliases etc...

this is a problem since mods where players used _special based scripts won't be fixed as they have their own movements mechanics (including jumping mechanics), of course it would be possible fix this internally in the engine with a new command but it involves quite some changes

TPOCTb commented 11 years ago

i don't think its more difficult, than previous updates since february

catinhat commented 11 years ago

Sorry but thats really annoying, you discourage old gamers from using steam. I appreciate that steam is spread to linux. But every new update - new problems to solve. It's not only in hl, I heard more issues from cs players also. Nonsteam equals no fps lags, legless bunnyhopping plus no 100mb consuption running steam. I push people to use steam but there is no advantage now, Hl is old game so don't try to mess it up please.

NightMare- commented 11 years ago

Anyone can download this modified client.dll and use auto bhop to exploit their movement. How can we ensure leagues will be fair and how can we prevent players from modifying it? I feel bad for honest players that want to compete but can't because leagues are allowing players to use such exploits on steam servers and admins can't prevent them.

http://rghost.net/46137092

AnAkkk commented 11 years ago

@NightMare- : That isn't a problem on AG, the server already checks the hash of the client.dll when you connect, and kick you if it doesn't match the client.dll of the server.

NightMare- commented 11 years ago

It boils down to: A: Let everyone use special alias again. B: Keep it how it is and prevent players from using auto bhop. C: Do nothing and let this problem persist.

crustypig commented 11 years ago

presently a large proportion of players are using old half-life builds so they can use _special bunnyhop scripts, i think allowing special aliases again would be a good choice, it would prevent players having to use old builds.

If special stays removed and these old builds become obsolete/bugged, players will either stop playing the game, or they will use external macro programs to emulate the special scripts.

perhaps add a bunnyhop bind in the game options so that all players can use it if they wish, this way the game remains the same as it was, which is what a lot of people want.

HaraldQuake commented 11 years ago

crustypig is so right. just bring back _special or add bhop bind.

ghost commented 10 years ago

This ruined the game for me. There was no good reason to remove scripting from a single player game that has been dead online competitively for a decade.

HARDSTYLEBG commented 10 years ago

fastfingerfreddy said it: sv_bhop 1/0 on all goldsrc games

underbla commented 10 years ago

Hi, this is an really sad development in the hl scene with removing the bunny alias. All other alias I am fine without but removing bunny alias from hldm make an big inpact on the gamestyle! What happens is many players leave steam and start use clients included with cheats instead. Atleast an comment from the valve team would be nice, why not do sometything about this? The sullotion people use is an patch to an old hl client with chance of vac ban since is modulated exe files, or using cheatclient nosteam things.. Come on now Valve PLEASE listen to the community, its keyplayers talking here above. Without em hldm would be dead long ago. Its bad enough with all nosteam cheaters. (4000h + hldm 10 years)

HARDSTYLEBG commented 9 years ago

I am bringing this to attention again!@alfred_valve i think you haven't played half life 1 even as much as i did to understand how important bunny hopping is;you have to bring back _special command.

treetoon commented 9 years ago

The problem is Half-Life's jump system, in Quake you can buffer jumps by holding space, it'll cause a jump to execute on the first frame when you land on the ground. HL will maintain the speed if the jump happens on the exact ground landing frame, this means _Special is actually not frame perfect and will occasionally suffer a loss in speed, unlike Yalter's recent bunnymod TAS version which include a tas_autojump feature that works on all FPS's.

People have tried several methods to bypass the problem since simply using a spacebar is to inconsistent. Because there were no good solutions (unlike Quake) this forced players to some options that include, third party programs that spam jump, built in script spamming (.CFG), hardware spamming such as turbo controllers or mouse wheels. Currently, all you can use is MWHEELS, this means there's a huge loss of units on every jump, but you can essentially use it as a shotgun spam script nevertheless. It also forces a new hand position on your mouse.

The removal of _Special did not solve anything, but worsened the gameplay and generally made the game boring.

Currently, you can get a specific non-steam version of HL and connect to steam servers, using _Special anyways. You also need to disable mouse wheels in HL which would be a pretty asinine move (as if the removal of _Special wasn't already).

The best solution here is to add a jump buffer, the second is using an autojump command to achieve frame perfection alike jump buffering. The third is bringing back _Special, which usage in the first place is to provide a fix for HL's broken jump system, but works incredibly well nevertheless.

I also want to mention version 1.1.0.8 back in 2001, as many of you may know as a catastrophe for Half-Life, ruining everyone's life's influenced by Counter-Strike. It added a 170% bhop cap. HLDM did get a fixed mod by the name of AG (Adrenaline Gamer) so that people pre-2001 could have fun post-2001. TFC never did get a fixed mod unfortunately, so people there just have to live with it.

If we look at the big picture and how ID software responded to bunnyhopping in comparison to Valve we can see a clear distinction, ID removed bhopping but put it back, as the community liked it and saw the potential of how much fun and skill based it is.

The problem is that jumping+strafing=bunnyhoping should of been a feature in Half-Life, TFC.. etc just like in Doom and Quake, but wasn't. That doesn't mean it can't be fixed, even some 16 years later.

In the end Bunnyhopping create intutive and fun gameplay, just like rocket jumping which have been accepted as a feature by valve moving all the way to Team Fortress 2. The point is, I'm a movement guy, and that's what I love about games. It's the reason I rocket and sticky jump in TF2, or bunnyhop in Quake and also why I love Half-Life.

(Keep in mind I started to like Half-Life for it's intuitive regular gameplay and storyline, not for bhops)

HaraldQuake commented 9 years ago

Please fix this already. Not beeing able to bhop breaks the game for me and many other players. I play Half-Life for nice weapons, high field-of-view, spawnkilling, fast oldschool action with epic movement. Without these things Half-Life is nothing special. Basicly.. To make Half-Life 1 a fixed game that is fun to play.. Patch all key-features of Adrenaline Gamer Mod 6.6 into Half-Life.. like crossbowjumps, gamemodes, red / blue models, advanced options menu (to set field of view, viewmodel options, crosshairs, high-fps-models.. etc.), allow bhop also remove silent longjumps, let egon deal same damage on headshots and remove the screenshake effect when you get hit by egon to make it a more balanced gun, remove duck-spamming, fix the walk key to not make any step sounds anymore when walking curves, lock sv_maxspeed to 300, optimize netcode, allow mappers to build bigger, more detailed maps, let the game check your half-life.wad so players can't play with greyscale-wads / altered half-life.wad's anymore, add optional bloom effect because it looks good and can be done easily.. Basicly make this game more compfortable to configure, more fun to play and more fair / more balanced.

HARDSTYLEBG commented 9 years ago

@fastfingerfreddy nice comments,but without those: "add optional bloom effect because it looks good and can be done easily.. " - yes if its OPTIONAL "lock sv_maxspeed to 300" - no thanks "remove duck-spamming" - no thanks "remove silent longjumps" - no thanks "let egon deal same damage on headshots and remove the screenshake effect when you get hit by egon to make it a more balanced gun" - egon is good like how it is now

HaraldQuake commented 9 years ago

@HARDSTYLEBG If egon was really balanced in HL.. Nobody would play HLCCL in AG. So.. no it's not balanced.. Not in HL and not in HLCCL (too weak.. I can rather use my AR instead).

HARDSTYLEBG commented 9 years ago

@fastfingerfreddy Ok forget about the egon,but i dont agree with the other things

Kuma77 commented 9 years ago

Why i see only HLDM and AG players are asking for bring back _special and cs players are not !.

dankzegriefer commented 9 years ago

Bhopping is what makes half-life deathmatch special. Otherwise It's just a classic deathmatch shooter with nothing special.

MKMatriX commented 5 years ago

2k19 return _special please. Don't push players to avoid steam version.

BlackShadow commented 5 years ago

@mikela-valve Please bring back _special...

AnAkkk commented 5 years ago

Bunny hopping is a skill, introducing back exploits in the game to achieve it wouldn't really be a good idea.

BlackShadow commented 5 years ago

Hi AnAkkk

GoldSrc has a speed cap feature. Even though people able to bhop, their speed will be capped when they reach 400-450 units. However there's servers with uncapped bhop. Mostly pros are using them. Bringing special back wouldn't be an issue at all.

Cheers

AnAkkk commented 5 years ago

If you want automatic bhop by holding down space then this should be a server setting, and that does not require to use exploits.

On Wed, 22 May 2019, 14:16 BlackShadow306, notifications@github.com wrote:

Hi AnAkkk

GoldSrc has an speed cap feature. Even though people able to bhop, their speed will be capped when they reach 400-450 units. However there's servers with uncapped bhop. Bringing special back wouldn't be an issue at all.

Cheers

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/halflife/issues/1154?email_source=notifications&email_token=AAVUUCQXLY6INI4QOMS3XK3PWVBS3A5CNFSM4AFKKN42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODV7AEZQ#issuecomment-494797414, or mute the thread https://github.com/notifications/unsubscribe-auth/AAVUUCQEYKSQOMYULNHNXNLPWVBS3ANCNFSM4AFKKN4Q .

BlackShadow commented 5 years ago

I mean people still can bhop with Mouse Scroll Wheel even without _special so holding down Space and doing with Mouse Wheel is pretty much same. Or people still can do with keyboard macros. Or even with .ahk scripts. So it makes pretty much useless deleting _special.

MKMatriX commented 5 years ago

Well actually to have bhop in steam version I srted to some dll's from lev's version. Also usually many servers have uncapped bhop speed. Also that _special function isn't that much exploit. It's just non blocking input. Which can be achieved by so many ways... Bhop is important part of half-life multiplayer. I know that in realistic cs, or even in tf bhop isn't that fitting in style.

And cause the game is so old it would be nice if you allow even more scripting. I mean do you really waiting for much new players? I spend so many years playing this game. It is still better for me than cs:go. And to make more fun I will use scripts and mods.