Developer Uses The Cloud to Bypass Console Certification

Developer Uses The Cloud to Bypass Console Certification

image

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.

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

Permalink

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.

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:
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 :(

tmande2nd:
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.

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.

Anxiously awaiting the advent of Game Genie or Pro Action Replay proxy servers to change those numbers to things that are more fun. :D

tmande2nd:
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.

One update model to rule them all,
One model to find them,
One one model to bring them all
and in long and expensive certification process,
Bind them!

LOL NOPE! :P

medv4380:
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.

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).

gardian06:

medv4380:
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.

Way to go xD

image

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.

medv4380:

gardian06:

medv4380:
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 [been shot] then <myHealth> -= 10

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

Proper way, at boot: Load [player value data file from cloud]
Then during gameplay: if [been shot] then <myHealth> -= <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.

medv4380:

gardian06:

medv4380:
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 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:
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 [been shot] then <myHealth> -= 10

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

Proper way, at boot: Load [player value data file from cloud]
Then during gameplay: if [been shot] then <myHealth> -= <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.

gardian06:
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.

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.

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...

And they couldn't do this before "the cloud" became a buzzword why...?

One thing I never liked about consoles is how restricted they are especially when it comes to the online services. Nicely done Monolith.

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.

1337mokro:
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.

What are you really surprised by this?? This is why I feel so sorry for indie game makers on the 360

Cecilthedarkknight_234:

1337mokro:
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.

What are you really surprised by this?? This is why I feel so sorry for indie game makers on the 360

Not really surprised, more mention the state of the current system out loud.

What is a sadder day for gaming is Steam Greenlight. Where for 100 bucks you can have your game judged by the community. So you pay money so that maybe your game might get picked by the public. Open platform it is not.

1337mokro:

Cecilthedarkknight_234:

1337mokro:
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.

What are you really surprised by this?? This is why I feel so sorry for indie game makers on the 360

Not really surprised, more mention the state of the current system out loud.

What is a sadder day for gaming is Steam Greenlight. Where for 100 bucks you can have your game judged by the community. So you pay money so that maybe your game might get picked by the public. Open platform it is not.

You do know that Steam Greenlight didnt start like that, right? And you should know what a cluster fuck that thing was before they made that change.

1337mokro:

Cecilthedarkknight_234:

1337mokro:
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.

What are you really surprised by this?? This is why I feel so sorry for indie game makers on the 360

Not really surprised, more mention the state of the current system out loud.

What is a sadder day for gaming is Steam Greenlight. Where for 100 bucks you can have your game judged by the community. So you pay money so that maybe your game might get picked by the public. Open platform it is not.

The saddest part of that was because the community itself fucked it up for everyone else by posting fake shit on Greenlight. If I remember correctly, people were posting there to do TF2 trade proposals. I couldn't tell if that was a complete lack of understanding of what Greenlight was, or if they were that big of a troll. None of that is to mention how many Half-Life 3 proposals were being posted by people who weren't Valve.

EDIT: Valve also announced that the $100 goes to charity, because they are expressly not interested in the profit from that. They just needed a paywall to stop the trolls.

Signa:

1337mokro:

Cecilthedarkknight_234:

What are you really surprised by this?? This is why I feel so sorry for indie game makers on the 360

Not really surprised, more mention the state of the current system out loud.

What is a sadder day for gaming is Steam Greenlight. Where for 100 bucks you can have your game judged by the community. So you pay money so that maybe your game might get picked by the public. Open platform it is not.

The saddest part of that was because the community itself fucked it up for everyone else by posting fake shit on Greenlight. If I remember correctly, people were posting there to do TF2 trade proposals. I couldn't tell if that was a complete lack of understanding of what Greenlight was, or if they were that big of a troll. None of that is to mention how many Half-Life 3 proposals were being posted by people who weren't Valve.

EDIT: Valve also announced that the $100 goes to charity, because they are expressly not interested in the profit from that. They just needed a paywall to stop the trolls.

I know. Which is why I didn't make a comment about Gabe Newell eating dollar bill sandwiches.

It is still a rather lazy process where the community basically does what Valve Used to do. The intent here was to open up the platform to indies, which it really hasn't done. It basically outsourced it's selection process to the community who yes ruined everything in the first place :).

tmande2nd:
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 bloody beautiful. Clever thinking, Monolith!

josemlopes:

You do know that Steam Greenlight didnt start like that, right? And you should know what a cluster fuck that thing was before they made that change.

Yup.
Tragedy of the Commons, baby.
Steam Greenlight gave low-budget developers a platform to get noticed, and every fuckhead troll rolled out their own brand of gibberish because it was free.

 

Reply to Thread

Log in or Register to Comment
Have an account? Login below:
With Facebook:Login With Facebook
or
Username:  
Password:  
  
Not registered? To sign up for an account with The Escapist:
Register With Facebook
Register With Facebook
or
Register for a free account here