[erlang-questions] Stand Alone Erlang or Equivalent
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
> 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
More information about the erlang-questions