March 5th TF2 Update

I've never understood why crouch-jump exists, really. How about we just ... jump? Engies should just be able to jump up on top of their sentries, no crouching involved. Done.

I was getting kind of amused by all the spies who weren't aware of the change and switched to their knives... and you'd have all of these bottle-wielding demos at the front lines effectively shouting "please spy check me."

As for the side-stab, this makes me very happy. One of the most important effects spies can have is to make snipers nervous. If all a sniper has to do is back up against a wall to stay safe from spies, then we have a problem.

I KNEW there was something up with Natascha. She used to be a real crippler.

crouch jumping was first used by players to get to higher places not intended by the designer (kinda like rocket jumping). After awile it started to become "defacto" game mechanic. Just play hl1 and try out the tutorial. crouch "jumping" allow far jumps too.

for me i use a joystick to fire my gun (trigger). i use mouse 1/2 for jump duck so for me this is a natural movement through tight holes (which is another advanced mechanic)

Some time it feels like the new players miss out on all the old times

Sniff

~D
 
I played HL1 from beginning to end and don't recall having needed to crouch-jump to complete the game.
 
I played HL1 from beginning to end and don't recall having needed to crouch-jump to complete the game.

you are correct

it's not required

but it helps

but "long" jumping which requires you to crouch- THEN jump is required
(not to be confused with "jump" then crouch)

(:

~B
 
Damn.. i think i might be able to make a crouch/jump jet pack.........

~D
 
It was so cool to crouch jump everywhere! I can't believe valve is pulling out something like this.....
 
I've just tried it, you can, but it's a lot harder. :)

Yes i've been able to jump onto it from the back but i havew yet to be able to do it from thew front. i think building in corners is not gonna be as popular now.
 
Hey, guys. It's not the end of the world. They are already planning to fix this.

All this proves is that Valve does not have any playtesters and the designers don't even play the game, which is a bad sign.
 
All this proves is that Valve does not have any playtesters and the designers don't even play the game, which is a bad sign.

I think comments like this are unfair. Do you know how many lines of code is in TF2? I made a new MOD in Source SDK, with absolutely no changes: this will get you a game similar to HL2 which means no multiple classes, no complex shaders, no special weapons, bonk cola, sentry guns with three levels, etc:

Code:
    2857 text files.
    2842 unique files.
      37 files ignored.

http://cloc.sourceforge.net v 1.07  T=33.0 s (85.0 files/s, 36825.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                           1375         157641         147403         633205
C/C++ Header                  1428          59654          42771         174149
C                                1             85             85            164
Perl                             1             12              3             48
Teamcenter def                   1              0              0              8
-------------------------------------------------------------------------------
SUM:                          2806         217392         190262         807574
-------------------------------------------------------------------------------

Barebones code for a Source game, with no updates, upgrades, or real features is 800,000 lines of code and 200,000 lines of documentation. And those lines constantly cross-reference each other, so if you change one line here, a line over there that everyone forgot existed suddenly breaks. And games like TF2 and L4D HEAVILY modify those lines of code. And adding weapons adds a couple thousand lines of code. And fixing bugs causes more lines of code, where you're checking issues with other lines of code.

Programming is a mess.

Valve, unlike, say, Linux distros, don't have millions of people looking at their code... until they push a patch. They've got a handful of playtesters who are constantly playing TF2, and a handful of developers who test their stuff in TF2.

I used to work in development. The problem with a developer testing his own code is that he knows how it's supposed to work. I'd write a program, and then test it tomorrow, after I'd slept. Why? Because if I tested it today, I'd still have in my head EXACTLY what it was I wrote, and so I'd test EXACTLY what I wrote. If it tweaked something else, or broke something else, I wouldn't know, because what I wrote worked exactly the way it should.

And then you have the playtesters. I know many people dream of being a playtester. I'd love to do it for a bit... but imagine: your job is to play a game, over and over and over and over and over and over and over again, far beyond the time when you've learned the plot. But you can't enjoy it; your job is to BREAK it. So you're constantly trying to build teles in stupid places, trying to jump off ledges at different heights to see if it kills you; you're not playing... you are BREAKING.

Here's a challenge for you: Sit down and start up TF2. Join a map, and test EVERY GUN from EVERY CLASS against EVERY OTHER CLASS from a minimum of six angles (above, below, front, left, right, back). It'll take you a few hours; mindnumbing boring hours. I can personally imagine a playtester, having sat through mindnumbing hour after mindnumbing hour of jumping off cliffs to fail to notice that when he shoots a scout he doesn't slow down as much as he should.

Now, having worked in development, you have something called a ship date. Valve is fameous for VALVE TIME; we revile them for it. But then shipping day comes, and the code is sent out. Then, suddenly, you go to your boss and say "Dude! Don't ship! I just discovered a tiny bug* that causes Natasha does 25% damage, not 75% damage!" Too late! It's already been pushed!

But you also can't shove out a patch EVERY TIME a developer finds a bug. You know how expensive that would be? Would you want a 5 minute delay EVERY TIME you opened TF2 to download another patch that tweaks the velocity of engineer shotgun shells when underwater on well at 50% health? So, they have to bundle up fixes.

And then we have community maps. Valve can't test all their software on every community map in the world. The double-jump fix broke Blackmesa. But that's because Dragonhill TUNED Blackmesa based on assumptions about double-jumping ability. But Valve's maps are not tuned that way, so Valve didn't think to check it. You remember that test with the guns I proposed earlier? Mr Playtester, please do that test on EVERY MAP. Over EVERY CONTROL POINT. Also do it while you are holding intel. Also while they are holding intel. Do it while you are both holding intel. Do it while they are airborne. Do it while you're airborne. Do it while you are both airborne.

Also, remember that there are tens of convars, from gravity to party mode, that can all break in an update.

Also remember that many servers run Sourcemod, or something similar, and all those can break.

Lemmie tell you: you haven't had stress until (1) you're under fire in a war zone for real, (2) you discover you forgot to put on pants for a job interview, or (3) patch day.

Also, I just tried to run TF2:

March 6, 2009 - Team Fortress 2 Update Released

Updates to Team Fortress 2 have been released. The updates will be applied automatically when your Steam client is restarted. The specific changes include:

Team Fortress 2

- You can now duck twice in the air. Scout double jumps reset the in-air jump counts
- Increased the jump velocity to account for the tuned bounding box sizes. Jump height should now match the prior-to-last-update heights
- Added "tf_clamp_airducks" convar, set to 1 by default
- Setting it to 0 will remove all constraints on ducking while in the air. Useful for servers running RJ challenge maps

[-]March 5, 2009 - Team Fortress 2 Update Released

Updates to Team Fortress 2 have been released. The updates will be applied automatically when your Steam client is restarted. The specific changes include:

24 hour turn around to fix a bad bug? NICE. Bet it sucked to be a dev at Valve yesterday.

Valve pushed their update to the real world. Developers nerviously drank their sodas at their desk, hoping that their specific code works. Thousands of people download the patch. Engineers desparaptely search their code, hoping for the best. The first bug report comes in, and every developer pulls up "blame" on that chunk of code, hoping their name doesn't appear. The developer who handled the Natasha code for the update feels his blood run cold. The guy who engineered the jump-duck patch gasps for air, as his car payment and house payment strangle him in terror for his job. Fingers fly over the keyboards to fix it. Playtesters are called in from their crash room on emergency call to test patches.

Remember! Not only did they test the old patch that broke it... THEY HAVE TO TEST THE PATCH THAT FIXES IT. Except the fix has to be out NOW! You're boss is at your desk hourly asking for updates. The Valve boards are screaming for your blood, your job, burning you in effigy. The testers test code updates as fast as they can. The quality control guys are scrutinizing every line checked in. And that developer that screwed up? Yeah, he doesn't want to screw up again, and so he's checking EVERYTHING.

And guess what? This patch is going to effect some long lost code already marked gold, developed by some developer who no longer works at Valve, who quit and now works at a florist in Georgia, glad to be away from that high stress environment.

Could we please stop beating up the dev teams and testing teams? Their jobs are hard enough without people griping at them for human error. When was the last time you THANKED the dev team for a patch?

DEV TEAM SCREWS UP: You guys suck.
DEV TEAM FIXES IT: About time.
DEV TEAM DOES IT RIGHT: NERF NOW!
DEV TEAM DOES IT ALMOST RIGHT: I can't believe these guys suck so much. Don't they even test it?


* It's this easy to break code (pseudocode):

GOOD CODE:
File WeaponDefs.h:
Code:
#define NATASHA_DAMAGE_REDUCTION = .75

File Server/OMG/LOL/ROFL/minigun_damage.c
Code:
minigun_damage=(getgun()!=HEAVY_GUN_NATASHA) ?
  HEAVY_MINIGUN_DAMAGE : HEAVY_MINIGUN_DAMAGE*NATASHA_DAMAGE_REDUCTION

See if the gun is natasha; if it is, multiply the gun damage by .75

BROKE:
File WeaponDefs.h:
Code:
#define NATASHA_DAMAGE_REDUCTION = .75

File Server/OMG/LOL/ROFL/minigun_damage.c
Code:
minigun_damage=(getgun()=HEAVY_GUN_NATASHA) ?
  HEAVY_MINIGUN_DAMAGE : HEAVY_MINIGUN_DAMAGE*NATASHA_DAMAGE_REDUCTION

TYPO FAIL. For want of an equals sign...

BROKEN AGAIN:
File WeaponDefs.h:
Code:
#define NATASHA_DAMAGE_REDUCTION = .25
// Is this the amount left or the amount subtracted?
// Looks like amount subtracted in source file
// Client/OMG/LOL/ROFL/minigun_damage_estimate.c

File Server/OMG/LOL/ROFL/minigun_damage.c
Code:
minigun_damage=!(getgun()==HEAVY_GUN_NATASHA) ?
  HEAVY_MINIGUN_DAMAGE : HEAVY_MINIGUN_DAMAGE*NATASHA_DAMAGE_REDUCTION

Assume that the #define for NATASHA_DAMAGE_REDUCTION is used in three or two files, and due to a misunderstanding, the developer of FILE_A used it like it was supposed to (damage left), but the developer for FILE_B used it the wrong way (damage subtracted). A new developer, working on FILE_B after the original dev quit to work as a florist, discovers that his code keeps breaking. He changes the #define... problem solved!... for him. But now it breaks the other code. But the other code has already been called "gold," so nobody keeps checking that code (You can't scan a million or two lines of code for EVERY change... it gets too difficult and ridiculous.)
 
Last edited:
Do you actually think any competent playtester would not try to jump on top of the own sentry? Or, you know, crouch-jump at all? That's a basic skill, dude. The only answer is that we are the playtesters.
 
Wall of text, and my point wasn't made.

Every single change to every single line of code would require their playtesters to try out EVERYTHING. The jumping on top of the sentries, from what I can see, was broken by the changes in hitboxes. Hitboxes are made by the art department, not the development department.

So, I can easily imagine the playtesters constantly testing the game, over and over and over. And then the art department finally sends over the hitbox for the Engineer. Now, depending on how much time playtesters had with the new hitboxes, they may not have noticed that they can't jump on their sentries. You know how often I jump on sentries? Maybe once every two weeks. I prefer to place my sentries in such a way that I can walk around them , and I very rarely use my equipment as an elevator.

So, the art department is late with the hitbox. Playtesters don't notice a problem until way late in the push cycle. Suddenly, they can't jump on sentries. The Dev department goes nuts trying to find a bug in their code... a bug which isn't there. The "bug" was introduced by the game art.

And then, 24 hours (24 sucky sucky hours for the dev team) after the push, a new patch comes out that fudges the code to survive the new hitboxes.

All I'm asking for is for people to lay off the devs and the playtesters. If they don't have a patch out in a week or so, yeah, they really messed up. But 24 hour turn around?

All programs have bugs. And all patches have bugs. And in a game like TF2, there are zillions of things you have to test on every patch. Every single line of code change. This isn't something that can be automated. The playtesters do nothing but play the game for hours on end, with patches constantly blowing up in their face until they get a gold patch. But as I tried to explain, even a gold patch can have unexpected side effects.

As for us being the playtesters, that's somewhat true! Programmers realize that no matter how much testing you do, when you get the product into one million user's hands, they're going to do something unexpected, or they're going to try something that worked through code revisions 5000-7000, but was broken in revision 7001, put in 2 hours before the patch was pushed, that for some reason didn't get tested in time. That's why patch day is so stressful; you've done everything you can, but people ARE GOING TO FIND BUGS that you thought you had squashed. And then you fix them.

I'm just asking the community in general to not judge patches by what they inadvertantly break, but how long it takes Valve to get around to putting it right.

Crouch jumping= 24 hours. Pretty good!
Natasha = the whole scout update. C'mon guys!
Sniper Rifles being too powerful = Since beta.
 
This means that the next class update won't be for a long while. Now I have to play my TF2 fair and balanced, with no class over population and no cheap kills. :(
 

Latest posts

Back
Top