Developer Uses The Cloud to Bypass Console Certification

The Wooster

King Snap
Jul 15, 2008
15,305
0
0
Developer Uses The Cloud to Bypass Console Certification


Monolith is using a novel approach to getting Guardians of Middle-Earth balance updates onto consoles quickly and cheaply.

Like most competitive games, Guardians of Middle-Earth, will require frequent patches to keep it balanced. Unfortunately, getting a patch onto PSN and XBLA is a costly, time-consuming process. First, Microsoft or Sony has to certify the content, which can take weeks, and developers not only have to pay to get the patch on the service in the first place, they also have to pay distribution costs. The exact cost of getting a patch onto XBLA or PSN is unclear, but it's enough to dissuade developers from attempting to fix potentially game-breaking bugs. [http://www.escapistmagazine.com/news/view/118578-Update-Fez-Studio-Rereleases-Save-Corrupting-Patch]

Some games, like Monolith's upcoming Lord of the Rings-themed MOBA, Guardians of Middle-Earth, use cloud distribution to bypass Microsoft and Sony's certification systems.

A large part of Guardian's balance database is saved in cloud storage and downloaded whenever the player starts the game. A small inconvenience for players, depending on the size of the file, but it does allow Monolith to update the game's stat values on a daily basis.

"There are other developers that have done it, and I know that other XBLA games have done it," Senior Producer, Ruth Tomandl told VG247. But I know there are also other game where, players have run into issues or glitches that could not be fixed by patching in data, so we were careful so that anything involving numbers or any sort of guardian strength could be tweaked using that patch."

"It's really the same system as 'Message of the day' feeds," she continued. "It's really just using that same technology that people have been using for a long time. I think a lot of developers realized they could but more interesting data in there."

Using cloud storage is a clever solution, to be sure, but should it really be necessary? In theory, Microsoft and Sony's certification processes encourage developers to get their games right first time, but I can't say I've noticed a decrease in bugs and glitches this generation; Kind of the opposite, in fact.

Guardians of Middle-Earth will be available on 360 and PS3 on December 4th.

Source:VG247 [http://www.vg247.com/2012/12/03/guardians-of-middle-earth-balance-updates-are-cloud-based-to-avoid-psn-xbla-certification/]

Permalink
 

tmande2nd

New member
Oct 20, 2010
602
0
0
Did you hear that?

It was like a thousand executives screamed out in horror and cried about not making another 0 on their pay check.
 

Fappy

\[T]/
Jan 4, 2010
12,010
0
41
Country
United States
I was just talking about the BS certification process with someone earlier today. Glad to see people are finding practical ways around it.

Grey Carter said:
In theory, Microsoft and Sony's certification processes encourage developers to get their games right first time, but I can't say I've noticed a decrease in bugs and glitches this generation; Kind of the opposite, in fact.
The sad, sad truth :(
 

gigastar

Insert one-liner here.
Sep 13, 2010
4,419
0
0
tmande2nd said:
Did you hear that?

It was like a thousand executives screamed out in horror and cried about not making another 0 on their pay check.
And it was glorious.
 

medv4380

The Crazy One
Feb 26, 2010
672
4
23
This is how they should have done it in the first place. The only way this works is if the bulk of the update is Meta Data, or, you could say, Data not hard coded into the Executable file. Most of the game shouldn't be hard-coded anyways so why they didn't use this more before now is perplexing.
 

Kross

World Breaker
Sep 27, 2004
854
0
0
Anxiously awaiting the advent of Game Genie or Pro Action Replay proxy servers to change those numbers to things that are more fun. :D
 

gardian06

New member
Jun 18, 2012
403
0
0
medv4380 said:
This is how they should have done it in the first place. The only way this works is if the bulk of the update is Meta Data, or, you could say, Data not hard coded into the Executable file. Most of the game shouldn't be hard-coded anyways so why they didn't use this more before now is perplexing.
you sir do not understand the terms that you are using. hard coding is forcibly attaching one code object to another code object through a process called coupling (which does have it's merits, and sometimes those merits far exceed any value that modular design will give you) while Meta Data can refer to data values (these are not objects per say, but rather the numbers behind them: cool downs, recall frequency, and actual effect values) then the actual statement of "hard coded into executable file" do you even understand how an executable file is generated, or the different methods to create an executable file? so these will only be able to alter numerical problems, and that's about it.
 

CardinalPiggles

New member
Jun 24, 2010
3,226
0
0
Reading this with a big smile on my face. Take that The Man.

I hope more developers resort to this.

In theory, Microsoft and Sony's certification processes encourage developers to get their games right first time...
Balance issues are a constant struggle for any PvP game, so making them pay thousands of dollars/ pounds every week or so is ludicrous (assuming this is how bad it really is).
 

medv4380

The Crazy One
Feb 26, 2010
672
4
23
gardian06 said:
medv4380 said:
This is how they should have done it in the first place. The only way this works is if the bulk of the update is Meta Data, or, you could say, Data not hard coded into the Executable file. Most of the game shouldn't be hard-coded anyways so why they didn't use this more before now is perplexing.
you sir do not understand the terms that you are using. hard coding is forcibly attaching one code object to another code object through a process called coupling (which does have it's merits, and sometimes those merits far exceed any value that modular design will give you) while Meta Data can refer to data values (these are not objects per say, but rather the numbers behind them: cool downs, recall frequency, and actual effect values) then the actual statement of "hard coded into executable file" do you even understand how an executable file is generated, or the different methods to create an executable file? so these will only be able to alter numerical problems, and that's about it.
I understand the terms perfectly. The Balance Database the article is referring to is only Meta Data, and isn't something that should be painstakingly approved though Sony or MS for quality. The entire point of the certification process is to make sure your executable code doesn't mangle the hardware, or provide for an exploit. Hard Coding has nothing to do with Objects or Modularity. Hard Coding is all about putting data that should be in an external file into the source code itself. Usually requires people break the rules regarding Magic Numbers. It Never has merit, and anyone who says it does would think spaghetti code was acceptable. As long as they don't do something stupid and hard code then most updates should be able to be done this way instead of going though the certification process.
 

Baresark

New member
Dec 19, 2010
3,908
0
0
This makes sense. It's just values they change in balancing games like this. It won't work for bugs but it should be perfectly viable for this purpose. This still affects the companies ability to actually add content such as new characters. Everyone basically understands the mad rush to pick up new champions in a game like this. Everyone wants to be the first to play the new guy as that can give a distinct advantage because people are unfamiliar with them. I'll be interested to see how MOBA does on the consoles. I just hope the servers are better than LoL's servers. Just before I stopped playing you could not play in an evenly matched game.
 

DiamanteGeeza

New member
Jun 25, 2010
240
0
0
medv4380 said:
gardian06 said:
medv4380 said:
This is how they should have done it in the first place. The only way this works is if the bulk of the update is Meta Data, or, you could say, Data not hard coded into the Executable file. Most of the game shouldn't be hard-coded anyways so why they didn't use this more before now is perplexing.
you sir do not understand the terms that you are using. hard coding is forcibly attaching one code object to another code object through a process called coupling (which does have it's merits, and sometimes those merits far exceed any value that modular design will give you) while Meta Data can refer to data values (these are not objects per say, but rather the numbers behind them: cool downs, recall frequency, and actual effect values) then the actual statement of "hard coded into executable file" do you even understand how an executable file is generated, or the different methods to create an executable file? so these will only be able to alter numerical problems, and that's about it.
I understand the terms perfectly. The Balance Database the article is referring to is only Meta Data, and isn't something that should be painstakingly approved though Sony or MS for quality. The entire point of the certification process is to make sure your executable code doesn't mangle the hardware, or provide for an exploit. Hard Coding has nothing to do with Objects or Modularity. Hard Coding is all about putting data that should be in an external file into the source code itself. Usually requires people break the rules regarding Magic Numbers. It Never has merit, and anyone who says it does would think spaghetti code was acceptable. As long as they don't do something stupid and hard code then most updates should be able to be done this way instead of going though the certification process.
As a game developer, I can say: correct.

I'm not sure what the original reply was talking about - perhaps he/she is referring to some other programming language or methodology, but for the language of games - C/C++ - hard coding is exactly as you describe.

Hard coding pseudo code: if then -= 10

The 10 is the 'hard coded' value. This is a horrible way to write code.

Proper way, at boot: Load
Then during gameplay: if then -= <dataFile:shotDamage>

The data file is what is being modified in the cloud. Not that this is particularly news though... we've been doing this for years.
 

gardian06

New member
Jun 18, 2012
403
0
0
medv4380 said:
gardian06 said:
medv4380 said:
This is how they should have done it in the first place. The only way this works is if the bulk of the update is Meta Data, or, you could say, Data not hard coded into the Executable file. Most of the game shouldn't be hard-coded anyways so why they didn't use this more before now is perplexing.
you sir do not understand the terms that you are using. hard coding is forcibly attaching one code object to another code object through a process called coupling (which does have it's merits, and sometimes those merits far exceed any value that modular design will give you) while Meta Data can refer to data values (these are not objects per say, but rather the numbers behind them: cool downs, recall frequency, and actual effect values) then the actual statement of "hard coded into executable file" do you even understand how an executable file is generated, or the different methods to create an executable file? so these will only be able to alter numerical problems, and that's about it.
I understand the terms perfectly. The Balance Database the article is referring to is only Meta Data, and isn't something that should be painstakingly approved though Sony or MS for quality. The entire point of the certification process is to make sure your executable code doesn't mangle the hardware, or provide for an exploit. Hard Coding has nothing to do with Objects or Modularity. Hard Coding is all about putting data that should be in an external file into the source code itself. Usually requires people break the rules regarding Magic Numbers. It Never has merit, and anyone who says it does would think spaghetti code was acceptable. As long as they don't do something stupid and hard code then most updates should be able to be done this way instead of going though the certification process.
yes, and no. yes having requests to a specific meta Data distribution does allow for less hard-coding overall.though it is a form of soft-coding, but in reality <a href http://stackoverflow.com/questions/1551828/whats-the-point-in-hard-coding-values-which-may-change/1551938#1551938> it is a form of hard coding as well which does have merits because you expect that data in that thing to change, but there is also a problem of you are pointing at something that could potentially change itself (formatting, address, inaccessible), and you have actually done far more harm then just plugging in a magic number which is only one form of hard-coding, and it can be done with object orientation by virtue of requesting specific object type(s), or simply expecting that a specific object type will be received without doing any form of validation is hard-coding. technically if you want to get down to it unless the program is completely modularity designed to it's base level there is hard-coding in there somewhere, and that is doubly true if you tell it to go and look for a specific file/url/asset. the only thing that might be able to avoid this description is 100% procedural generated programs (not procedurally generated objects, or procedurally generated levels, but procedurally generated programs) which even highly experienced programmers can have difficulty creating.

though there are still things that this approach does not avoid in that if there is actually a compiled asset that causes the issue: polygonal mesh collisions (terrain, other models), addressing issues, or improper object handling (which can happen in modular/template design as well)

and if hard-coding is so bad why does const still exist? because sometimes things are constant, and should never change with regards to what they are used for.
DiamanteGeeza said:
snip...

As a game developer, I can say: correct.

I'm not sure what the original reply was talking about - perhaps he/she is referring to some other programming language or methodology, but for the language of games - C/C++ - hard coding is exactly as you describe.

Hard coding pseudo code: if then -= 10

The 10 is the 'hard coded' value. This is a horrible way to write code.

Proper way, at boot: Load
Then during gameplay: if then -= <dataFile:shotDamage>

The data file is what is being modified in the cloud. Not that this is particularly news though... we've been doing this for years.
see link above...

isn't by nature telling the program to look for a specific file/server address a form of hard-coding because you are saying "look here, and only here" yes I do know what you mean by variables standing in for what even might be "constant" data, but hard-coding still happens even in current program development it just happens at a different level/type then it did before.
 

medv4380

The Crazy One
Feb 26, 2010
672
4
23
gardian06 said:
and if hard-coding is so bad why does const still exist? because sometimes things are constant, and should never change with regards to what they are used for.
The Primary reason that word still exists is for backwards compatibility. In Java const is a reserved word, but does absolutely nothing. final is considered a replacement, but it just means that I have to initialize in the constructor, and allows optimizations at run-time if used correctly. If I arbitrarily ripped out const from C/C++ the resulting compile errors for old code, and libraries would be excessive so it simple isn't done. goto is still in C/C++, does that mean it's ok to use? Globals and Constants are, for the most part, bad coding habits that should be avoided, and using them wrong results in minor changes needing to recompile the source. As your suggesting their are exceptions, but they are all covered for the rules governing Magic Numbers. I can hard code the Relative file name of the Configuration file, but I should NEVER hard code the Absolute file name of the configuration file. Things like PI and E can be hard coded because they can never change. At most you might want values with a higher precision, but that's going to require a code rewrite and recompile anyways. You're nit-picky points are meaningless to my point anyways. My Point is that, as long as they weren't being stupid hard-coding, then most if not all of their updates should be Meta Data, and always could have been updated in this fashion. If this was "new" to them to get around the MS/Sony Certification process they were being foolish. This is how most of their updates should have been from the start.
 

The Artificially Prolonged

Random Semi-Frequent Poster
Jul 15, 2008
2,755
0
0
What? Patching a game on a console can be easy and straight forward with no massive costs to the devs? I will have none of this nonsense :p

Good on the devs for sticking it to Sony and Microsoft.
 

thesilentman

What this
Jun 14, 2012
4,513
0
0
Well, chalk another one up for PC master race? Anyway, good on them. What MS and Sony should really do is just sit back and let the devs fix the bugs and such. It's like they believe that they're part of the dev team and as far as I know, all they do is certify the game for Xbox Live and PSN...
 

Marendithias

New member
Sep 23, 2009
14
0
0
One thing I never liked about consoles is how restricted they are especially when it comes to the online services. Nicely done Monolith.
 

1337mokro

New member
Dec 24, 2008
1,503
0
0
It's a sad sad day for gaming when the only way to fix a game is by using a work around exploit in the system.

Shame on you Microsoft.