[erlang-questions] Stand Alone Erlang or Equivalent

Benjamin Tolputt bjt@REDACTED
Fri Sep 7 12:19:07 CEST 2007

Vlad Dumitrescu wrote:
> Erm, if the byte-code is encrypted, how would you replace a beam file 
> with a different one without breaking the encryption?
You wouldn't. Like most "single player" games, you would simply "patch" 
the archive containing the beam files "as a whole" (i.e. as a binary 
patch to the archive file rather than individual patches to the files 
contained therein).
> If the encryption is broken, then it feels about just as easy to 
> replace a file in the file system or in a zip archive.
> One could also use separate schemes to ensure it's difficult to tamper 
> with data, like for example storing the MD5 signature of files somewhere.
I think the actual problem here is being misunderstood (i.e. I am not 
explaining it well enough). We know that DRM (which is what client-side 
encryption amounts to) is not "true" protection. It is, however, a 
necessity to get a deal through the established game publishing firms.

The fact that it ties into one of my desired features is (believe it or 
not) a coincidence in this situation. Erlang as a game development 
language came out of a discussion based around Tim Sweeney's 
presentation  on multi-core enabled game engines (funnily enough, not 
simply a plug for the new Unreal Engine). Being a "high concurrency" 
language/virtual machine with SMP support now on most platforms - I 
thought Erlang was a perfect fit. The problems did not come up from the 
language itself (as functional languages such as Lisp have already been 
used successfully in console games) but from the actual deployment 
features of Erlang (which was designed for easy, hot-swappable upgrading).

In summary, we KNOW DRM (i.e. "client side" encryption & single archive 
deployments) are not the best (or even a completely successful) method 
of protecting the application from unauthorized copying/changing. It, 
however, is necessary to get the publishing deals for PC games (the 
target market).


More information about the erlang-questions mailing list