EMUya - A emulation store for homebrew NES development

A place where you can keep others updated about your NES-related projects through screenshots, videos or information in general.

Moderator: Moderators

lidnariq
Posts: 9684
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: EMUya - A emulation store for homebrew NES development

Post by lidnariq » Sun Feb 17, 2013 5:27 pm

3gengames wrote:Put the ROMS online and have it download them from a server just to host them. I'm sure it's a lot harder to extract them if they're not in the file.
Replay or monkey-in-the-middle attacks are approximately as easy as cracking offline DRM, and doing that only makes it more annoying for legit users because the person now has to have a good connection to the interwebz whenever they want to play.

I think watermarking and maybe obfuscation are the best choices. You don't want to sue them anyway (you're not the MPAA...), so you just want it to be the minimum of difficulty to make it awkward for them to extract the image but still 100% reliable for you. Adding the visible watermarking means now they don't get a copy identical to the master, so there's no urge to hoard, and maybe a little bit of name-and-shame.

zzo38
Posts: 1075
Joined: Mon Feb 07, 2011 12:46 pm

Re: EMUya - A emulation store for homebrew NES development

Post by zzo38 » Sun Feb 17, 2013 11:01 pm

You could have these options available for whoever made the game, and also display them to the user before downloading the games (so that you won't cheat the user from their money):
  • Encrypt (the file cannot be moved from the system)
  • Watermark (the file can be copied to use with real hardware and any other emulators, but each copy is different and might be traced)
  • Signature (the file can be copied to use with real hardware and any other emulators, and each copy is the same, but there is digital signature to verify it)
  • Plain (the file can be copied to use with real hardware and any other emulators, and each copy is exactly the same as the master; some features (such as achievements) might be disabled if this is used, but other features (such as cheat codes and debugging) might be enabled only with plain ROMs)
[url=gopher://zzo38computer.org/].[/url]

3gengames
Formerly 65024U
Posts: 2277
Joined: Sat Mar 27, 2010 12:57 pm

Re: EMUya - A emulation store for homebrew NES development

Post by 3gengames » Mon Feb 18, 2013 1:28 am

You could also, say, have the code/ram/data be patched by the emu, like wait for a start up state or something. If it doesn't detect it, just make the game bad to play. Like earthbound did. Stupid hard, no final boss, erased save data, make "random" crashes, etc. I'd say random crashes triggered by a random program so it happens minutes in to the game would be great as you can make it as hard to trace as possible, and allow it to take a while to do and such.

User avatar
Movax12
Posts: 526
Joined: Sun Jan 02, 2011 11:50 am

Re: EMUya - A emulation store for homebrew NES development

Post by Movax12 » Mon Feb 18, 2013 12:02 pm

One could implement some kind of required server communication with server side key verification. Maybe also include some kind of game expansion (code/data download) and/or high score database.

Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: EMUya - A emulation store for homebrew NES development

Post by Sik » Mon Feb 18, 2013 12:29 pm

Movax12 wrote:One could implement some kind of required server communication with server side key verification.
How is this any better than downloading the ROM every time? You need a guaranteed good connection to internet again.

User avatar
Movax12
Posts: 526
Joined: Sun Jan 02, 2011 11:50 am

Re: EMUya - A emulation store for homebrew NES development

Post by Movax12 » Mon Feb 18, 2013 12:58 pm

Then allow for x executions without a connection. There is no other way that I can think of that can't very easily be hacked.
A game with code to connect and verify could still be hacked, but a loss of features changes things more than something that is just for copy protection.

Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Re: EMUya - A emulation store for homebrew NES development

Post by Shiru » Mon Feb 18, 2013 8:56 pm

Desire of total control raises a lot of problems, isn't? And the best thing it is hopeless, any protection will be broken, it is just matter of time.

I would rather think of alternative ways that based on total freedom rather than total control, it seems to be more perspective.

3gengames
Formerly 65024U
Posts: 2277
Joined: Sat Mar 27, 2010 12:57 pm

Re: EMUya - A emulation store for homebrew NES development

Post by 3gengames » Mon Feb 18, 2013 9:38 pm

Put ads in the project, so even if they steal it, the other 1000 people who played and didn't steal helped make it okay?

Zelex
Posts: 268
Joined: Fri Apr 29, 2011 9:44 pm

Re: EMUya - A emulation store for homebrew NES development

Post by Zelex » Mon Feb 18, 2013 9:52 pm

Shiru wrote:Desire of total control raises a lot of problems, isn't? And the best thing it is hopeless, any protection will be broken, it is just matter of time.

I would rather think of alternative ways that based on total freedom rather than total control, it seems to be more perspective.
I agree. At most you can just delay the inevitable, however delaying the inevitable isn't always a bad thing.

zzo38
Posts: 1075
Joined: Mon Feb 07, 2011 12:46 pm

Re: EMUya - A emulation store for homebrew NES development

Post by zzo38 » Mon Feb 18, 2013 11:05 pm

Shiru wrote:Desire of total control raises a lot of problems, isn't? And the best thing it is hopeless, any protection will be broken, it is just matter of time.

I would rather think of alternative ways that based on total freedom rather than total control, it seems to be more perspective.
While I completely agree, I have suggested a compromise nevertheless.
[url=gopher://zzo38computer.org/].[/url]

Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Re: EMUya - A emulation store for homebrew NES development

Post by Shiru » Wed Feb 20, 2013 9:28 pm

Speaking of methods of tying a version of a game to a custom emulator, there is a simple thing to do that will introduce major headache to those who would like to hack it back to put on a cart.

There are plenty of unused/undocumented opcodes that aren't really used. Now, we can make them to do useful things in a custom emulator. Say, we'll add operation stz addr. In source code of the game we can have a macro that will do it either normal way, with few opcodes, or with this new custom opcode. It will be used all around code, and with simple recompile we can have a normal version and this 'protected' one. Even if a hacker will know what the new opcode does (by decompiling the custom emulator or just by a guess), he'll sure be able to hack an existing emulator to support it, if he aren't too lazy. But to make it work on the real hardware he will have to replace the opcode. Since it does job of few opcodes, a lot of code shifts and inserts will be needed, or a full disassemble to recompile - that's just too much of work and will take quite some time even for someone who is brave enough to do it.

Zelex
Posts: 268
Joined: Fri Apr 29, 2011 9:44 pm

Re: EMUya - A emulation store for homebrew NES development

Post by Zelex » Wed Feb 20, 2013 9:36 pm

Shiru wrote:Speaking of methods of tying a version of a game to a custom emulator, there is a simple thing to do that will introduce major headache to those who would like to hack it back to put on a cart.

There are plenty of unused/undocumented opcodes that aren't really used. Now, we can make them to do useful things in a custom emulator. Say, we'll add operation stz addr. In source code of the game we can have a macro that will do it either normal way, with few opcodes, or with this new custom opcode. It will be used all around code, and with simple recompile we can have a normal version and this 'protected' one. Even if a hacker will know what the new opcode does (by decompiling the custom emulator or just by a guess), he'll sure be able to hack an existing emulator to support it, if he aren't too lazy. But to make it work on the real hardware he will have to replace the opcode. Since it does job of few opcodes, a lot of code shifts and inserts will be needed, or a full disassemble to recompile - that's just too much of work and will take quite some time even for someone who is brave enough to do it.
Sounds like a neat idea :) I don't mind doing it if you feel it would be useful to you.

Sik
Posts: 1589
Joined: Thu Aug 12, 2010 3:43 am

Re: EMUya - A emulation store for homebrew NES development

Post by Sik » Thu Feb 21, 2013 1:24 pm

May as well just not make a NES game and make an Ouya game instead...

tepples
Posts: 22052
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: EMUya - A emulation store for homebrew NES development

Post by tepples » Thu Feb 21, 2013 1:57 pm

Of course that depends on how you see the learning curve for Java + Android + OpenGL ES development vs. 6502 + 2C02 development. Making an NES game and wrapping it with Emuya might actually be easier for some regulars here.

Zelex
Posts: 268
Joined: Fri Apr 29, 2011 9:44 pm

Re: EMUya - A emulation store for homebrew NES development

Post by Zelex » Sun Feb 24, 2013 12:33 am

I should be ready in a couple weeks for a brave soul out there to beta test the in app purchasing with :) We would need to work out specifics on what they want to charge and what kind of encryption level they are comfortable with. Also, for those on the forums, I've decided to stick to my guns with the you decide how much % that goes to the store, even if that number is 0% for any number of copies you sell. It is more important for me to see a thriving NES indie development scene than it is for me to break even. I cannot however affect what Ouya takes (30%), so pad that ouya store tax into your prices.

Also for pricing you can reference: http://ouyaforum.com/showthread.php?749 ... -OUYA-Game

Post Reply