View Full Version : BF: BC 2 Update Released
Mike Nomad
06-30-2010, 07:20 AM
Battlefield: Bad Company 2 Update Released (http://store.steampowered.com/news/4006/)
Product Update - Valve
Updates to Battlefield: Bad Company 2 have been released. The updates will be applied automatically when your Steam client is restarted.
All game servers will need to be taken down for updates. The maintenance period starts on Wednesday Jun 30th at 07:00AM (GMT+2). Most of them should be back up by 11:00AM (GMT+2).
Changelog:
Server - Some potential sources for lag/rubberbanding have been eliminated
Server - The old reserved slots has been replaced by a kick-on-demand system like in BF2
Server - Log file for server admins: all remote admin interface commands/events are logged
Server - Log file for server admins: major server events + all chat messages are logged
Server - Idle kick is controllable
Server - Profanity filter can be disabled
Server - Teamkill-kick system is controllable
Server - Ticket counts and bleed rate are controllable per-level
Server - Infantry only mode available per-level
Server - Initial spawn delay and respawn delay are adjustable
Server - Server description can be up to 400 characters, and use "|" for line breaks
Server - Banlist can contain up to 10.000 entries
Server - reduced latency in packet handling
Admin Interface - fixed the player.onKill spam that occasionally happened
Admin Interface - ensured that player.onJoin events always report the player name
Admin Interface - events triggered when people spawn
Admin Interface - much more info on kills
Admin Interface - detailed stats are reported at end-of-round
Gameplay - Various minor level bugfixes
Gameplay - Helicopter handling has been tweaked
Gameplay - Weapon tweaks have been implemented based on PC public feedback
Gameplay - Tracer dart gun speed has been changed from 300 m/s to 200 m/s
Gameplay - Fixed technical hang when a crate was armed outside of the combat area
Gameplay - "Victory is near" message was shown for the wrong team on Valparaiso, this has been fixed
Gameplay - Countermeasures can be fired when driving a helicopter
Gameplay - The brightness of the pilot view in the Russian helicopter has been reduced
Gameplay - Advanced Spotting scope works better
Gameplay - Knifing people in the back works again (we backed out the change that we had done for Server R11)
Gameplay - Hit box for moving targets expands based on the speed of the targets movement
Gameplay - G36 now has crosshair when in Hardcore mode
Server Browser - Servers are sorted into 3 categories: Normal, Modified, Hardcore depending on their settings
Server Browser - Added support for retrieving update progress
Server Browser - Now refreshes information
Server Browser - Join queue system when attempting to join a full server
Server Browser - All settings are automatically saved between sessions
Server Browser - Pings are sent via an alternate mechanism, which should work for non-Administrator users as well
Client - Fixed DX9 issue, which likely caused graphics glitches and perhaps crashes
Client - Fixed some crashes
Client - Toggle/hold crouch is user controllable
Client - Toggle/hold zoom is user controllable
Client - Vsync bugfixed for DX10/DX11
Client - Rewritten how settings are written to disk; this should reduce/eliminate the spawn lag
Client - Fixed bug where a player could join a server before the stats has been downloaded causing faulty stats in "EOR- unlock progression"-screen
Client - New chat system allows chatting when dead (but not during end of round) and keeps a 100 lines log
Client - Improved Play Now functionality
Client - Removed K/D ratio and Skill Level filters in the leaderboards
Client - Any points you get while being dead will be added to your score
Client - Reduced negative mouse acceleration
Client - Increased health on the Cobra to match other vehicles
Client - More informative disconnection/kick reasons
Client - Support for Map Packs so PC gets future VIP maps at the same time as consoles
The Balance tweaks are as followed:
Slightly increased the damage of the UZI at long range.
The AKs74u now has more felt recoil when aiming.
The G3, VSS, and all SemiAutomatic rifles now settle slightly faster between shots when aiming.
The PKM, Type 88LMG, G3, An94, and 40mm shotgun have returned to their former glory.
Increased the damage of the MG3 to bring it in line with the rest of the LMGs.
Fixed a bug where the Saiga12 with slugs would do too much damage at long range.
Fixed a bug where the SVU would do too little damage at long range.
Fixed a bug where M95 rounds would not kill armored targets with headshots.
http://storefront.steampowered.com/v/gfx/apps/24960/capsule_231x87.jpg
woowoo
06-30-2010, 07:26 AM
This is an in depth explanation of the DICE development and patch process. Their honesty continues to amaze me - it is so refreshing. They don't need to tell us all this but they do. And yes, they say, it IS a console port. - woowoo
Software engineering, file formats, build processes, and packaging...
MikaelKalms (http://forums.electronicarts.co.uk/members/474820-mikaelkalms.html)
http://forums.electronicarts.co.uk/images/customavatars/avatar474820_1.gif
This is a story about software engineering, file formats, build processes, and packaging. All framed within the Project Management Triangle (http://en.wikipedia.org/wiki/Project_triangle#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[s] 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?
source: Official EA/Dice UK forums (http://forums.electronicarts.co.uk/battlefield-bad-company-2-pc/1199353-software-engineering-file-formats-build-processes-packaging.html)
MaydaX
06-30-2010, 08:04 AM
More hidden maps too :P
Battlefield Bad Company 2\Package\levels\
Conquest
----------------
Nelson Bay - mp_008cq
Port Valdez - mp_012cq
Rush
----------------
White Pass - mp_007gr
Atacama Desert - mp_005gr
Squadrush
----------------
Laguna Presa - mp_009sr
Laguna Alta - mp_003sr
Squad Deathmatch
----------------
Nelson Bay - mp_008sdm
Panama Canal - mp_001sdm
rudedog
06-30-2010, 08:20 AM
thanks for posting woowoo.
Even if you don't like "fill in game name" you have to appreciate a dev studio that talks to and informs their customer/community base with useful and helpful in site to what they where thinking when they made their game.
I would love to see Dice and Valve come together on the next FPS type game.
rudedog
06-30-2010, 08:27 AM
Just started my game client and was promoted to download the latest version of 553292
More hidden maps too :P
Interesting find, MaydaX
From zh1nt0 (official BF CM) via twitter
zh1nt0 We'll enable map pack 3 once we see that the new game client + servers are stable. (You will not need to download anything.)
I still find it humorous they call these new maps....
MaydaX
06-30-2010, 08:36 AM
Isn't map pack 3 just 2 maps?
VIP Map Pack 3 for Battlefield: Bad Company 2 on PS3 and 360 is being released on the 9th of June. Gamers who have bought the game will have the code already, otherwise you can purchase a code for the pack from the game store.
The new map pack doesn't actually include new maps, just new modes for the existing maps. These new modes are Squad Deathmatch for Nelson Bay and Squad Rush for Laguna Alta. http://www.newgamenetwork.com/news/1338/vip-map-pack-3-hits-bc2-pc-patch-delayed/
I've asked via shitter err twitter:
@zh1nt0 (http://twitter.com/zh1nt0) Does that include all 8 new "maps" that the client now has? http://pastebin.com/hJ045VnD
rudedog
06-30-2010, 08:50 AM
You may be right. I thought I read somewhere that it was 3 but I could be wrong.
MrBrown
07-06-2010, 09:53 AM
Seems the leaked server files can be used to unlock your specact pins so you can get the "All Bronze Stars" stuff.
http://forums.electronicarts.co.uk/battlefield-bad-company-2-pc/1211822-i-have-all-bronze-star-insignia.html
So you need to buy the specact kit if you want to get the insignia which was part of the core game, "nice" :rolleyes:
I'm curious how they will handle the players who got these pins on hacked servers. They cannot blame them for playing on these servers, they appear in the server browser normally AFAIK.
Back in BF2 I still remember I let a friend who had bought BF2:Special Forces one round with my account. Afterwards I could use F2000 and Flashbangs forever.
Misnomer
07-06-2010, 10:55 AM
Seems the leaked server files can be used to unlock your specact pins so you can get the "All Bronze Stars" stuff.
http://forums.electronicarts.co.uk/battlefield-bad-company-2-pc/1211822-i-have-all-bronze-star-insignia.html
So you need to buy the specact kit if you want to get the insignia which was part of the core game, "nice" :rolleyes:
I'm curious how they will handle the players who got these pins on hacked servers. They cannot blame them for playing on these servers, they appear in the server browser normally AFAIK.
Back in BF2 I still remember I let a friend who had bought BF2:Special Forces one round with my account. Afterwards I could use F2000 and Flashbangs forever.
The difference of course being that BF2: SF was a quality game add-on worth the purchase and these are just skins. In either case it was that obsession with unlocking everything in game that MMO designers make their money off of that drove you to look for a shady means. Sadly all this says is that PC gamers are just as obsessed with trinkets as everyone else (including the console players they deride)...but they are willing to break the law or cheat to get them. Because that is what PC is about now, cheating and hacking.
Easy to object to when it is a claim of piracy from a big corporation, but try defending the platform when some console friend of yours complains about the hacking and cheating on PC. Yeah you can tell him we are much better on PC because we don't need ladders or online stats boards, but that is a lie considering the amount of HLStats servers out there for CS. Truth is...we all know we can't trust ladders on PC because everything on PC gets hacked.
Oh I am sure we will find a way to blame DICE. "We wouldn't have done this is we had dedi server files", "it is your fault for making a buggy game" , or "this just proves that PC gamers won't buy worthless DLC." Maybe we will even blame it on their inability to focus time and money on PB. Really doesn't matter if you can justify it, it is still hacking and cheating. Impatience and entitlement combined to get people to say "I deserve this and I will get it now!" I agree that the insignia should have worked and it should have been a bug fix, but the obsession with it that drove people to use leaked files is just sickening. Just like the ranking issue in COD5, the PC community is always anxious to run themselves into the ground with hacked setups that depopulate legitimate servers. If we had public server files, this just would have happened faster.
This will come across just like the guy who decided to hack the TF2 drop system to get one of the limited golden wrenches. A lot of people has issues with the limited items Valve gives out for that game...it doesn't make it right to hack the system.
Herr Klugscheisser
07-06-2010, 12:23 PM
Just look at the number of "Idling" servers in TF2. Yes there are many people in servers, but a good portion are sitting in idle servers. I just came back to TF2 after a 2 year hiatus and I'm a little shocked by all of this. People that played on achievement servers to obtain items for a class they don't even play ... :rolleyes:
Yes, perhaps it's not the platform you play on, but this generation which thinks it's entitled to everything that is part of the problem.
bacon
07-06-2010, 02:20 PM
I blame valve for making the drops random instead of earned for that. AS much as I played TF2 I shouldn't have to spend a certain amount of time to get something.
Alas this is to appease the casual gamer.
Misnomer
07-06-2010, 06:37 PM
Just look at the number of "Idling" servers in TF2. Yes there are many people in servers, but a good portion are sitting in idle servers. I just came back to TF2 after a 2 year hiatus and I'm a little shocked by all of this. People that played on achievement servers to obtain items for a class they don't even play ... :rolleyes:
Yes, perhaps it's not the platform you play on, but this generation which thinks it's entitled to everything that is part of the problem.
Before the idle servers there was the idle program that ran a simulated connection to a TF2 server. Valve eliminated the loophole that created this exploit and "rewarded" all those that didn't use the software by giving them Halos. The people who were using this software and ran servers began banning people with the halo on their servers....
These were not just casual gamers, these included competition players who desired everything within the game as well. Just because they are hardcore does not exclude them from the hat loving crowd.
That is something that can really only happens on PC. Hacking to get things they feel they are entitled to and harming people who don't desire to cheat the system. Yes once again this showed a flaw in Valve's design decision, which they would eventually reverse, but everyone using the software was trying to get something they wanted with as little effort as possible. Yes human nature, but PC players feel it is not only possible....but acceptable and common place to exploit systems this way.
That is what this BC2 thing is about to me. Deciding that they should have something and doing whatever is easy and convenient to get that... regardless of legal or ethical considerations.
Herr Klugscheisser
07-06-2010, 07:12 PM
Yes, remember the Medic update with the unlocked cvar and people had the Ubersaw the first day as they unlocked all the milestones. Medic is my primary class, but yet I did not use it as I wanted to earn everything. Valve also cut back on the requirements for the early unlocks too.
I just don't see myself playing too many games in the future with this unlock "jump through flaming hoop" reward nonsense.
Sorry to swerve off topic, I'm just getting to old for this.
bacon
07-07-2010, 11:58 AM
Before the idle servers there was the idle program that ran a simulated connection to a TF2 server. Valve eliminated the loophole that created this exploit and "rewarded" all those that didn't use the software by giving them Halos. The people who were using this software and ran servers began banning people with the halo on their servers....
These were not just casual gamers, these included competition players who desired everything within the game as well. Just because they are hardcore does not exclude them from the hat loving crowd.
That is something that can really only happens on PC. Hacking to get things they feel they are entitled to and harming people who don't desire to cheat the system. Yes once again this showed a flaw in Valve's design decision, which they would eventually reverse, but everyone using the software was trying to get something they wanted with as little effort as possible. Yes human nature, but PC players feel it is not only possible....but acceptable and common place to exploit systems this way.
That is what this BC2 thing is about to me. Deciding that they should have something and doing whatever is easy and convenient to get that... regardless of legal or ethical considerations.
Or replaced the halo wearing players with the word fag instead.
<object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/wOHd3SyIMnU&hl=en_US&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/wOHd3SyIMnU&hl=en_US&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object>
Pendragon
07-07-2010, 01:42 PM
However interesting this TF2 discusion is could we please drag this thread back kicking and screaming to...
BF: BC 2 Update Released
Misnomer
07-07-2010, 08:00 PM
Think of it not as a TF2 discussion and more of an abusive PC community discussion. Still off topic, but approaching relevance.
Mike Nomad
07-07-2010, 08:04 PM
However interesting this TF2 discusion is could we please drag this thread back kicking and screaming to...
BF: BC 2 Update Released
I agree..... next step is CLOSED
vBulletin® v3.8.7, Copyright ©2000-2012, vBulletin Solutions, Inc.