How to encrypt our code.

Make the game logic part of your project on the server side. Now any dirty secret about your game-play is safe.
Of course your customers will hate you, but if Blizzard and EA can handle it, why would you not :wink:

that’s an to attempt to address piracy.

OP: If you’re going to obtusify your code you really want to write a script that makes a version control tag and adds the obtusifier’s back-translation info into your VC so you can be sure to track down problems related to a specific version. For most folks I think this extra hassel isn’t worth the effort. Follow Cas’s example and don’t bother. It should be noted that this is “as good as it gets” if you go this route…assuming you’re using an off the shelf VM. In about 5-10 minutes you can write a code snippet that talks to the tooling interface which will write all classes seen by the VM off to disk, so all further efforts are utterly pointless. (The same can be said for all art/shader assets for any program which uses OpenGL or DirectX BTW.)

Spend your time creating something people want to steal rather than wasting it attempting to prevent it.

Certainly, but decompilation is rather trivial in Java when compared to other languages. Just saying that, all other things being equal (hint: they rarely are), it might be worth switching languages if the end result after all the obfuscation is applied happens to be similar (or worse) than the default result of other languages.

The greatest problem, in the end, would be, ironically, success. If your game is successful, more people will want to crack it open increasing the chances that someone will eventually do it. It’s not a matter of “if”, but rather of “when”, so, as with DRM, there are diminishing returns to the investment (be it effort or money) made into security.

This also means that it’d probably be better to focus on making a great game, than lose sleep over people stealing code. The idea posted above of code being “cheap” is a variation on the concept that ideas are cheap, meaning, anyone can have an idea, it is how you use it that matters. People don’t see the code, they see the final result.

If your game is awesome, that’s what will matter in the end, regardless of how the code is reused elsewhere.

Roquen beat me to the punch:

[quote]Spend your time creating something people want to steal rather than wasting it attempting to prevent it.
[/quote]
Oh my…

Because they are multi-million dollar companies with massive marketing departments, a long list of valuable IPs and a solid costumer loyalty base.

Don’t be a dick if you can’t afford the backlash.

This is built-in to Proguard.

Ultimately however, the things most likely to be ripped off are assets, not code.

And let’s face it, anyone borrowing assets is basically an amateur and there’s generally no need to really worry about that. I’m quite happy for people to borrow stuff from us for their amateur projects.

Cas :slight_smile:

If people want to steal/borrow your assets/code to projects they’re doing themselves, then you should just feel flattered. It means they actually like what you’ve made. :slight_smile:

If people REALLY want to rip you off, there’s little you can do to stop it. Of course safe guards as using obfuscation can prevent some theftary.

Anyone a biscuit? I haven’t seen a group of grown men agreeing with eachother like this since 1997.

I find your concept of “grown men” questionable :wink:

What happened in 1997?

There’s no mention of ‘fully’ grown men. ;D

Maybe you should forget the biscuit as I disagree a bit with some comments here. A political problem requires a political solution. Developers wouldn’t need to think about obfuscation, copyright and DRM if a suitable business model for the digital economy existed, if you get paid when you spend some time in creating “useful” (determined by votes) stuff without explicitly selling your games / applications, for example thanks to the collectivist cooperative global patronage.

Julien, you can’t just tell the entire internet to use a different business model. Things just evolve and the best things win out.

Cas :slight_smile:

And the problem with any collective endeavor is that most people are morons.

No, seriously. Unless you have very strict bars to entry (and even if), statistically a big portion, even a majority, of a given group is composed of people with little understanding of whatever is being discussed, often driven to participate by herd mentality alone.

And if you enforce very strict bars to entry, you end up losing the collective approach as the group of participants is reduced.

I do see the value in collective initiatives, but the prevalence of the aforementioned problem makes them hard to implement.

We see this quite often with things like Greenlight or Kickstarter, where hype and popularity have often had more weight in the decission making of the community than hard work and quality, resulting in rather unfair results all around, which would be contrary to the idea of being rewarded for the actual effort put into the product.

A true solution to these issues, if one exists, is probably a combination of politics, technology, and, above all, social awareness and responsibility.

That last one is the hard one, though.

But my dear Cas and Julien, that’s exactly the model that we have today expect we haven’t gotten around to adding the bad parts. Yeah I know that multinational agencies have been a huge success and it’s a world wide proven fact that civil service is the most efficient and corruption free way to handle all known situations. It’s certainly without question that governmental agencies have the most reliable and secure servers. And I’m sure that we all agree that levying taxes is unquestionably the best and most equitable way to fund the system. So where’s the problem you cry?? Privacy. We would have to insure that all computers had built-in unique identifiers and that all OSes supported remote secure invocation of executable to put a tiny dent in impact of “MyVoteBot v.666”. Of course we might have to nuke a couple of countries that start spewing out CPUs with programmable “unique IDs”. On second thought, let’s just hold hands and sing “We are the world”.

Er, is that in response to me?

Cas :slight_smile:

I’m attempting to be amusing. So sort-of: [quote]Julien, you can’t just tell the entire internet to use a different business model
[/quote]
and I’m saying it’s the model we have, without the parts we don’t need.