• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Battlefield Bad Company 2 |OT| See, Spot, Run

Status
Not open for further replies.
MrMister said:
FUCK YESSSSSS

AFTER THE 2 MONTHS I HAVEN'T EVEN TOUCHED THE GAME WAITING FOR THIS PATCH

FINALLY

F I N A L L Y

FINALLY TIME FOR INFANTRY ONLY, BF2 STYLE TICKET BLEED, HARDCORE ON ATACAMA DESERT, SON!

2emeped3h6v.gif
 
iam220 said:
Gah, that's the exact same change list seen months ago. I was hoping for more :(

Oh well, It's about time I got back into my favorite FPS, have been occupied with COD4 lately. Put like 50 hours into it already and all on a single server. Tiny Map (killhouse) free for all death-match for the win!

Actually there were a few changes added just last month, I believe.
 

Spl1nter

Member
Cuban Legend said:
FINALLY TIME FOR INFANTRY ONLY, BF2 STYLE TICKET BLEED, HARDCORE ON ATACAMA DESERT, SON!

2emeped3h6v.gif

:lol :lol :lol

If any server has that config for the map they will have to rename the map to Wookie Deset.
 
Couldn't find a single full server tonight :/. At one stage I was in a game with just my 2 Friends and I on one team and no one on the other. It eventually evened out to 4 on 4 but by then we had caused too much Ticket Bleed for them to even have a chance.

Best we found was a 7 on 7 server. The game is crap when the server isn't full. Least there was no lag..
 

Lkr

Member
Patch is tomorrow for PC? Can I get a link to change notes?
DX11 and maxed out by the end of the week, CANNOT WAIT
 

Evolved1

make sure the pudding isn't too soggy but that just ruins everything
I still haven't gotten the 4 MCOM pin. I've blown up three in a round a bunch of times... but the fourth one is nearly impossible it seems.

And the attack/defend order pin escapes me as well. I have the freaking badge already, but not the damn pin. :lol
 

belvedere

Junior Butler
You know what I didn't see in the change log? RPG's vanishing if shot before death.

Other than that, pretty damn good (and long) list of fixes.
 
recklessmind said:
I still haven't gotten the 4 MCOM pin. I've blown up three in a round a bunch of times... but the fourth one is nearly impossible it seems.

And the attack/defend order pin escapes me as well. I have the freaking badge already, but not the damn pin. :lol
4 MCOM pin was the last one I needed too. I Just kept playing Port Valdez rush since I was so used to it from the demo, I lucked out with a good squad, I would set the charge, die, and they killed anyone that tried to disarm.
 

1stStrike

Banned
recklessmind said:
I still haven't gotten the 4 MCOM pin. I've blown up three in a round a bunch of times... but the fourth one is nearly impossible it seems.

And the attack/defend order pin escapes me as well. I have the freaking badge already, but not the damn pin. :lol

That's cause you're not a bad ass like me.

Nub.

...


:lol
 

FerranMG

Member
belvedere said:
You know what I didn't see in the change log? RPG's vanishing if shot before death.

Other than that, pretty damn good (and long) list of fixes.

Oh, so that's why that motherfuckers were still alive after I shot them with an RPG during my last breath.
 

Stallion Free

Cock Encumbered
Oh holy shit toggle crouch. Sounds like a feature from the future. Dice be some goddamn visionaries. I'll prolly play some more after the patch comes out.
 

kamspy

Member
Stallion Free said:
Oh holy shit toggle crouch. Sounds like a feature from the future. Dice be some goddamn visionaries. I'll prolly play some more after the patch comes out.

I'm tellin ya. It's like Jetson gaming.
 

1stStrike

Banned
It's okay, I took my jar of change to the coinstar and cashed it all in ($41 worth) so I bought myself a little kit and fixed em. I used to have a pair of glasses that were $450, but I uh... stepped on them getting up to take a piss one night. Setting glasses on the floor = bad idea.
 
recklessmind said:
I still haven't gotten the 4 MCOM pin. I've blown up three in a round a bunch of times... but the fourth one is nearly impossible it seems.

And the attack/defend order pin escapes me as well. I have the freaking badge already, but not the damn pin. :lol
now that i've been messing around with it, attack/defend order pin is super easy to get.

for defend, at the start of the match, jet to the nearest flag as soon as you spawn, then put a defend order on it. for attack, put an attack ordr on an enemy flag and cap it.

alternatively, if you want a defend order, don't put an attack order on an enemy flag, but start capping it, an once it goes neutral, put an order on it, and it will be a defend order.

i actually got 4 of those pins in 1 game from just doing that.

4 MCOM is easy, i dunno what to say other than blow shit up.

 

Evolved1

make sure the pudding isn't too soggy but that just ruins everything
74x

Haha wtf... you've been playing a lot longer than me though (still I'll never touch that number). I actually got the A/D pin in one of the next games after posting that. MCOM pin I'll get soon too I imagine. Then just the dumb car pin and I'm done.

Was just dominating conquest with another gaffer but the game froze. :/
 

mbmonk

Member
Stallion Free said:
Oh holy shit toggle crouch. Sounds like a feature from the future. Dice be some goddamn visionaries. I'll prolly play some more after the patch comes out.

So we are almost out of beta it seems.
 

belvedere

Junior Butler
FerranMG said:
Oh, so that's why that motherfuckers were still alive after I shot them with an RPG during my last breath.

Yes, this is really damn annoying. In the heat of trying to take out a tank or soldier, the rocket shoots, you're excited, the rocket flying at it's target as you take a bullet. Surely I got him, right? Nope.

Fix that shit Dice.
 

Cornbread78

Member
Increase the damage at long range for an Uzi, really? WTF is the point of that? I already get snipped with a UMP and/or UZI from across the map at times and it's total B.S, now they are making it worse.
 
belvedere said:
Yes, this is really damn annoying. In the heat of trying to take out a tank or soldier, the rocket shoots, you're excited, the rocket flying at it's target as you take a bullet. Surely I got him, right? Nope.

Fix that shit Dice.

Hasn't the "death causes mid-air rocket to disappear" been an issue since BF2?

Some thoughts on the patch notes:
-Nerfing the AN94 at long range MIGHT reduce its abuse, but I don't think so. FWIW, it has the lowest DPS at low range of the assault rifles.
-XM8C is shaping up as a nice looking SMG. AKS 74 got a recoil increase, PP2000 got nerfed a bit.
-Believe it or not, but the M3 now has the best close and long range DPS. Probably not a great long range weapon, but at close range, its looking like it could be great...my baby the T88 got nerfed, with the M3 buffed (and its naturally low recoil), I think it may be my go-to gun for close range medic situations.

Probably won't get to play today, unfortunately, but most likely will tomorrow.
 

Spl1nter

Member
So I played for about an hour this morning. Got to say I love the patch.

- Chat box changes at first were annoying but now got used to them
- Got my points after death
- Gameplay on the servers I was on seemed a bit smoother
- G3 feels like a beast now

More tickets on conquest is fucking awesome. Panama Canal was just epic and Laguna Alta is now even better since the rounds aren't as short. Also seems as if ticket bleed was a lot higher. Now im unsure if those were the server settings that were changed or default. Hopefully default because its so much better.

Now hit detection feels really different. Seems to be improved a lot but it also seems that the hit box expansion when a target is running maybe to large. Does make is now a lot better for me sniping. There was so much bullshit before hand with not getting head shots. Then again the improved hit detection could just be a placebo effect.

Mr. Snrub said:
-Nerfing the AN94 at long range MIGHT reduce its abuse, but I don't think so. FWIW, it
Ya it seems pretty strong still. Especially with improved hit detection.


Havent tried out the helis yet but I want to get to that.
 

Fersis

It is illegal to Tag Fish in Tag Fishing Sanctuaries by law 38.36 of the GAF Wildlife Act
I WANT MOAR MAPZ! MOAR ! MAPZ!

Great great article by Mikael Kalms. (Patch delay)

Mikael Kalms said:
This is a story about software engineering, file formats, build processes, and packaging. All framed within the Project Management Triangle.


Developing a game is developing a software suite, and a dataset that will go along with the software. Users will use the software (= run the game executable) to manipulate the dataset (= use mouse/keyboard/joystick to control the game).

A good game requires that the capabilities of the software matches the dataset that is being created. The software is usually refined in parallel with the dataset. In order words, the game engine and the game worlds are tailored to each other, to some extent.

The programming side of making a game corresponds fairly much to developing other kinds of software. You usually use mature languages, standardized tools, and techniques which were pioneered back in the 1960s to create a set of source code, which when built creates a single game executable.

Creating the content is less straight-forward. Sometimes there are tools that do the job well (Maya, Photoshop, SoundForge, Cubase etc). For other kinds of content, there are no good tools, so the game developers develop their own.

Raw source format is not a good format for distributing a game engine to end users. One could ship the code as-is, but that would require people to have the right compilers and software SDKs available on their machines. Distributing the code in the form of a game executable is more practical.

Raw source format is not a good format for distributing the game content either. It is convenient for editing, but the game engine will usually want the content in a different format before using it. The raw source format is often bulky, and the conversion step is lengthy. Therefore, game developers usually create custom tools which "cook" the data -- convert it from source format to something that suits the game engine better.



Cooking is good, and bad.

No cooking gives you the advantage that you can change a source file, restart the game, and the effect happens immediately in the game. It is usually easy to figure out which files on-disk contribute to what in-game.

With no cooking -- or just too little cooking -- you get very long loading times. You usually get more memory fragmentation. You also lack mechanisms to validate the integrity of the data; if you want to see that it's consistent, you have to play through the full game and exercise all aspects of the game.

Cooking gives you the advantage that you can do lots of sanity checks on the data before even starting the game. You can improve loading times a lot (especially off media with slow seek times such as DVD), and you get less memory fragmentation.

You can also create extra datastructures, which improve runtime performance. (A good example of this is the BSP & PVS trees that were used in FPses back in the 90s.)

With too much cooking, you find that it is difficult to change anything when data already has been cooked. If you want to edit just one tiny little detail, you have to re-cook ALL the data. It is difficult to tell which files on-disk contribute to what in-game.


Now let us consider the Frostbite engine and where it comes from.

It was initially used to create BFBC1. This game was released only for consoles. This means that the team which developed

BC1 had to do a certain amount of cooking - mainly to avoid excessive load times and memory fragmentation. The hard memory and performance constraints of running on a console also made it more important to pre-compute some things, and to package data into suitable archives.

With this foundation, we essentially had a game engine which solved a lot of time-consuming problems for us when we began on BFBC2 PC. Loading times would be under control, it's easy to figure out which files go into which archives, and which files/archives belong to which level. These are things which are often overlooked when not using a game engine that has been used to ship games on DVD.

We also wanted a way to automatically patch the game. Making an auto-patcher that works properly under Windows XP, Vista & Win7, knows about limited users & UAC, and can handle restarting mid-way through a patch at all takes a huge amount of time.

Therefore we took the auto-patcher from BF Heroes and modified it slightly. Voila, the game could now pull down updates from the internet and apply them to its own datafiles. We were all set.

Or so we thought.



Some complex systems seem simple on the surface; it is only when you look under the hood that they turn out to be tricky.

The tools which "cook" the game's datafiles takes in a set of original files, which are roughly 80GB in size. Most of the files here are organized by function ("this is a mesh, this is a texture, this is an animation, ...") rather than location (on which level it is used). The tools will process the dataset once per level, extract the subset that applies for the current level, and convert it to a format suitable for the game engine.

This allows the tools to do some per-level precomputations easily; for instance, since all the pixel/vertex shader combinations that will be used throughout the entire level is known, the tools pre-generate all these combinations and store them in a "shader database". (BF2142 generated & compiled the shader combinations during first load - that's one reason why first launch of a level was very slow there.)

After this is done for all levels, there are a bunch of archives for each level. This is ideal for quick loading times and no memory fragmentation, but it wastes diskspace unnecessarily. The result is probably about 15GB in size.

In order to make a better tradeoff between diskspace and load times, an extra processing step has been added; all the level-archives are compared, and any datafiles which appear inside many of these level-archives are moved to a level-common archive. So when loading a level, everything inside the level's own archives and the level-common archive has to be processed. This reduced the total data size down to about 6GB.

This technique allowed BFBC2 to fit on a DVD, both for the console and the PC versions. It is not perfect by any stretch, but dealing with these large amounts of data is time consuming, and therefore you don't try every idea under the sun - rather, try what seems most likely to work first, and then keep on until the end result is good enough.



So this is all awesome when shipping the game. Where do the problems begin?

When you begin creating patches.

First off, it turns out that the tools that "cook" the data don't produce binary-identical data all the time. The result after cooking is always functionally identical, but the bit-content may differ slightly. Items in unordered lists change order, uninitialized fields contain random data, that sort of stuff.

Why didn't this get caught sooner? Because you only notice problems of this kind when re-cooking the same data several times, from scratch. And re-cooking all BC2 data takes over 48 hours for a high-end computer. And locating & correcting all places where cooking isn't deterministic down to the bit level would take a lot of time (both calendar time and effective development time). Perhaps that time is better spent elsewhere?

So. If different "cooking" runs produce slightly different results, it is suddenly difficult to look at version A and version B of the data and answer the question, "what are the differences between these two datasets?". It's easy when looking at the source data, but when looking at the cooked data there are a lot of changes which have no effect on the final game experience.

There are about 40.000 source files, and this results in well over 100.000 cooked files. Going through those by hand is not an option. Writing a perfect filter, which knows which differences are benign and which are for real, will take as much time and effort as making the cooking 100% deterministic. Neither that is an option.

So you make a filter which does something in between; be smart, create rules for the file types you know about, and when in doubt - assume that the change is for real. Err on the side of caution.


Then you realize that those shader databases were never designed to be extendable. What happens when a new object is added to a level in a patch? Its mesh & textures are included, no sweat, but what about the shader combinations? How does one create add something to the shader database, when the shader database is an opaque binary block whose entire contents may change when just one object is added to the level?
(One shader database is about 5MB. There are three shader databases per level - one each for DX9, DX10 and DX11.)


And finally, the patch system itself. Yes, it can replace portions of files on-disk. But due to its heritage (from BF Heroes), it is not able to open BFBC2's archive files and apply differences to individual files within the archives.
The only straightforward way is to make all patched-in content arrive in archives on the side of the original archives.



Given the above scenario, we end up with the situation that we have today.

Each patch gets larger than the previous, because the game drifts ever further away from what was shipped on the DVD. Changes that require shader database updates make the patch balloon in size. And we have to be careful and clever when selecting which file types to include and which to ignore when creating the patch.

And that's where we finally ran into real problems. It was too difficult for one person to identify which changes were required and which were not, and how to update the patch generation process to accommodate the latest set of changes. Most of the delay of Client R8 was because there are very few people at DICE who have the in-depth knowledge of the far-spanning corners of the game engine *and* the cooking tools *and* the patch generation process, to work out what is going wrong, why, and how to fix it.

The new content did work a long while ago - but the patch was back then approximately 7GB large. The patch had to get down to less than 1GB, or else some customers in Australia and South Africa would not be able to download it due to bandwith caps.

[As an aside - how about distributing the patch as an installer, for those who prefer that option? We would love to do so, but creating an installer that does anything out of the absolutely most ordinary installer-y requires ridiculous amounts of development time.]


I think that we have a proper Client R8 patch ready for release, but the approach we have been using thus far has been taken as far as it can go. (A bit too far, considering the delays.) We want to continue supporting the game, but if we want to change anything else than the game executable itself, we will need to spend time on figuring out how to do so with a less error-prone patch generation procedure ... and preferably without generating as large patches.

This stuff keeps me awake at night. What are your demons made of?
 
What a perfect top-of-the-page post. Just wanted to let you know, GAF. Reading now.
Spl1nter said:
Then again the improved hit detection could just be a placebo effect.
I can't believe I'm saying this, but it would be nice to see some cheaters use hitbox displaying multihacks to show screenshots investigating if the hitbox actually gets any bigger at all and by what size increments.
 
Status
Not open for further replies.
Top Bottom