• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Norman Barrows

How to time bomb a beta?

80 posts in this topic

How to time bomb a beta?

 

its time to release a beta version of my game into the big wide world. 

 

while its still not complete, compared to the final version, it still needs to be time bombed.

 

What's the best way to do this?

 

a simple check_date, they can change the PC's clock.

 

counting number of runs?

 

storing date of last run?

 

multiple checks in different places with different unique code (anti-hack) ?

 

I have testers waiting, so I need a bullet-proof as possible solution quickly.

0

Share this post


Link to post
Share on other sites
EDIT:
I misread the question, hurrr.

Perhaps you can password-encrypt the game and send it with a launcher with a password prompt, then you can publish the key via twitter or something once you're ready to release the beta. Edited by fastcall22
0

Share this post


Link to post
Share on other sites
[quote name="fastcall22" post="5142872" timestamp="1396023671"]Perhaps you can password-encrypt the game and send it with a launcher with a password prompt, then you can publish the key via twitter or something once you're ready to release the beta.[/quote]

but that doesn't turn it off after 3 months or whatever.

A further note:

I'm not really interested in any type of "ET phone home" solution.
0

Share this post


Link to post
Share on other sites


Then there's no solution you'll like.

 

yeah, i know...   : (

 

 

 


It doesn't need to be time bombed.

 

 

have you ever been hacked?

 

so bad you lost the company?

0

Share this post


Link to post
Share on other sites
Good idea. Apply a very subtle gaussian blur to some of the art assets you ship, and put a tiny "BETA" watermark on them.

 

actually, its got no audio yet <g>.

0

Share this post


Link to post
Share on other sites

this will be a beta test version, not the demo version.

 

technically, there are 4 versions of the game:

 

developer (the full game + dev tools, testing controls, etc)

 

release (the full game)

 

beta  (for beta testing, not complete, time bombed, features will vary depending on version DL'd.)

 

demo (small free to play trial version)

 

i'm thinking i'll actually end up selling the developer version, IE include all the modding tools and testing cheats.

0

Share this post


Link to post
Share on other sites

 


Good idea. Apply a very subtle gaussian blur to some of the art assets you ship, and put a tiny "BETA" watermark on them.

 

actually, its got no audio yet <g>.

 

 

I think he is reffering to grafic assets, not audio assets?

0

Share this post


Link to post
Share on other sites

have you ever been hacked?

 

so bad you lost the company?

Sounds like a story, I'd love to hear more about that, perhaps in another thread.  Could be some worthwhile lessons for others in it.

0

Share this post


Link to post
Share on other sites

have you ever been hacked?
 
so bad you lost the company?

 
In what way does that even remotely have anything to do with DRM on a game?
 

You could always just periodically poll the clock and keep track of how much time is passing that way even if the clock is jumped back you will still be accumulating time towards the quota.

 
This accumulated time is stored on the local machine, and hence it is easy to reset.
 
Literally, there is _no_ way to make  your game time-limited without running the game on a server you control that you can shut down or restrict access to on the desired date. Even games that "phone home" can be trivially defeated; look at the cracks for getting Assassin's Creed running without the online connection, for instance.

1

Share this post


Link to post
Share on other sites


You can't stop the game from being hacked and circumvent the time bomb.
All you can do is to check the clock, keep a launch count, check timestamps of the files, phone home, obfuscate all of the former and check multiple times.

 

i realize all this. 

 

i spent yesterday reading up on code obfustication, self modifying code, and DL'ing disassemblers.

 

at this point, the real question is, in a disassember dump, one can see windows  and library calls, correct?

 

any protection will ultimately depend on 3 system calls: get system time, get file time, and read sector. if those calls can found relatively easily, then its the code that uses them that must be obfusticated.  

 

it looks like the best approach is a VM that uses a proprietary machine code and self modifying code. it in turn would have ops for gettime, get filetime, and read sector. 

 

i was hoping for a few pointers or tips on implementation.

 

I find it rather surprising that DRM is not a more popular topic here.   whats the deal?    do most folks here fall into one of two categories: 1. "i have yet to make a game worth cracking", or 2. "i work for a big game company and cracking is someone else's problem" ? 

 

 

for future readers who might be interested in the topic:

 

not only can the user reset the clock before running  the beta, then can also do so BEFORE installing! never thought of that one before!   so saving the install date won't always catch a clock that's been set back after the install. but it should still be done. it DOES trap the case of they install, then set the clock back to run.

 

there should be a check for current date older than release date, as well as current date beyond expiration date.

 

current date beyond expiration date is the basic condition we're interested in. all the rest is cause they can play with the system clock.

 

current date older than release date traps clock set back too far.

 

and since they can play with the system clock, you need to verify by checking the last update time of files on the hard drive. using something that gets updated automatically at startup, such as the hidden backup copy of the windows registery.  i figured i'd just do something like simply check the last update time of all the files in the windows directory (or a few target files if all files is too slow). if any file is "too new" the beta is expired.

 

but as stated in some of the info i found online, the worst case is you're running in a VM (emulator) where the date never changes.

 

i did find a lot of good info, and will be posting it to my gamedev info journal.  my brain was absolute MUSH last night after all that reading!

 

and i do plan to also have missing content / disabled features and beta messages.

 

perhaps i should have started this thread with a disclaimer like:

 

"i know there's no perfect solution, but one must do what one can, so whats the best way?"

1

Share this post


Link to post
Share on other sites

 

have you ever been hacked?
 
so bad you lost the company?

 
In what way does that even remotely have anything to do with DRM on a game?

 

 

 

i was cracked because i jumped on the "e-delivery" bandwagon without good DRM. in v1.3 of Caveman, i switched from a proprietary keyCD DRM technology that i had been using successfully for 15 years to a weak registration key check that got cracked immediately.  the idea was that users no longer had to wait for the full game in the mail, they could enter a hardware based registration key and unlock the full game from the demo. it was hacked by some group in eastern europe or china as i recall, and posted to a warez board out of Zaire or someplace in africa  that was hosted on servers in russia. so no legal recourse possible. when i discovered this, it explained why sales had dropped to almost nil with the release of v1.3.   Losses were so bad, i had to fold the company.  

 

DRM sucks, but then again, people do to, that's why its a necessary evil.

 

i'd much rather be implementing the quest gen than dealing with this BS.   

0

Share this post


Link to post
Share on other sites

 

have you ever been hacked?
 
so bad you lost the company?

 
In what way does that even remotely have anything to do with DRM on a game?
 

You could always just periodically poll the clock and keep track of how much time is passing that way even if the clock is jumped back you will still be accumulating time towards the quota.

 
This accumulated time is stored on the local machine, and hence it is easy to reset.
 
 

 

 

 

actually....

 

you could keep track of execution time, and update a file from time to time.  even if they alt-tab and change the clock while the game is running, it would only screw up the timing for the current interval. so say you used a timer, and once per minute you increment a "minutes_running" counter, and reset the timer. a clock change would only screw up the timing for the current minute. then you set it to stop after something like 3 hours per day  * 60 minutes * 90 days = 16200 total minutes of runtime. and if you used a hi-rez (game) timer, clock changes wouldn't even affect it, would they?

0

Share this post


Link to post
Share on other sites

Literally, there is _no_ way to make  your game time-limited without running the game on a server you control that you can shut down or restrict access to on the desired date. 

 

 

 

too true.  in the end, the only secure code is code you don't give to the user.   : P

0

Share this post


Link to post
Share on other sites

well, i ran caveman through the disassembler in PE-explorer. you can see every string of text, and every system call.   so now at least i now what i'm up against.   but its kind of cool, i can see what the cracker sees.    so i can write my code, disassemble it, and see what it would look like to a cracker.

 

the next thing to figure out is how to deal with them bypassing the system calls in the VM.  i plan to call the vm from time to time to do mundane stuff for the game (like increment action counters). that way if they bypass it entirely, the game won't work.  but if they isolate the VM routine, basically a switch(instruction_pointer) routine, then they could turn off or replace the cases for get date, get file date, and read sector. i was thinking maybe a checksum on the vm code in ram, but that might be complicated, what with page access and all, although i know it is done in some types of software.

0

Share this post


Link to post
Share on other sites

If I ever negotiate a way to get my game onto retail shelves (say, a simple jewel case) I swear I will put a Big Red Shiny Banner across the top front saying "THIS GAME IS DRM FREE!."

 

ok, so what will you do when they put it in a zip file and put it on the web for free?

 

why would i pay for something at gamestop that i can download for free?

 

but our situations are a little different.

 

for Caveman, sales will be direct to the end user, no distributor, no publisher, no retailer. Haven't even decided about Steam etc yet. There was a time when i'd get about 2 unsolicited calls a week from publishers. but they never guaranteed me more than i was already making selling direct. 

 

despite begin large in scope (think skyrim big - today i estimated the project at 7488 man-hours, done by one person over 2.25 years), the game is only about 250 meg uncompressed, due to procedurally generated content and reuse of assets. plenty small enough to pop in a zip file and post to mediafire, warez sites, etc.

 

the game is also a proven seller, and has been targeted by crackers in the past. so to put out a beta version that has everything except audio and optional quests with no restrictions might be unwise.

 

i don't want to be harsh, but some questions come to mind:

 

1. how many games have you released?

2. how big were they ?

3. how well did they do? 

4. have you ever been cracked?

 

apparently, to be cracked, you must 1: release, and 2: succeed. else there's no glory in the cracking.

 

also, i suspect there's a correlation between the size of the game and the glory of the cracking. IE cracking skyrim would be more impressive than cracking angry birds.

 

so you might add a 3rd requirement, that your game be of sufficient scope / size / depth / gravity to warrant the effort in the first place. 

Edited by Norman Barrows
0

Share this post


Link to post
Share on other sites

ok, so what will you do when they put it in a zip file and put it on the web for free?

 

What did Runic Games do when it happened with Torchlight?  Or any other game that you can find on The Pirate Bay, which would be, let's see...  just about all of them?

Why do people still buy CD's when they could download the music for free?

 

Getting a game on a retail shelf allows for random, impulse purchases. Those people aren't likely to take the time to go hunt down and download a game from a warez site.

Likewise a lot (not all) of the people who download from the Pirate Bay would never have bought your game under any circumstances, so they really aren't lost sales.

 

I don't know if I could get my game on a shelf or not. That's what I would do if I did. I know I do pick up game boxes when I'm at Walmart, and if I see Origen or Steam I put it back. If it's not an impulse buy (even if it is, my wife can check on her smart phone) I find out what DRM if any it comes with - and yes, that is a big factor in whether or not I buy the game.

 

Steam makes things convenient for their customers, so if people choose that, I got not problem with it. I would try to get my game Greenlit. Big Fish Games was a potential portal, but I'm hearing they aren't even looking at RPG's any more. That leaves a couple other smaller portals I know of - where people actually do browse and buy games, and even better, the specific sub-genre of game I'm working on.. I'd also try to do the direct thing as well. The key is putting your game in front of enough of the right people - just like any other product.

 

iTunes proved that people will pay for music, even when they know they could find it free somewhere else. Good Old Games is proving the same thing with software.

 

People will pay for something they see value in.

0

Share this post


Link to post
Share on other sites


Torchlight's retail release was 100% DRM free from launch - from everything I've seen and read the game did pretty well - good enough for them to keep going and make a sequel.

 

its a $15 dollar game. dev costs for game development vs dev costs for DRM  probably don't warrant DRM.  too small. no glory in cracking that. no DRM required!  : )

 

once you move past that, more towards a AAA type of game, still indie though, like minecraft in the early days, then you become an attractive target.

 

it would be nice if Caveman 3.0 stayed "under the radar" like that. but Caveman v1.3 didn't, so i'm preparing for the worst and hoping for the best.

 

also note that it took two years and FOUR major releases for Caveman to pop up on the cracker's radar. torchlight may not be popular enough yet to warrant attention, even if it had DRM. If their popularity continues, they'll probably have to do something eventually.

 


Rather than worrying about 'Is my game worth cracking?", I prefer to worry about "Is my game worth somebody's hard earned dollars they could spend on something else?" I believe if the answer to that second question is yes, then enough people will buy the game to make it successful.

 

as do i.

 

its only once you've done a good job at the latter that you must worry about the former.  

 

i'm in the position of already having achieved the latter in the past, and therefore i must worry about the former now in the present and going forward.

 

as a side note, what we all really need to worry about is what we don't know how to do that will achieve somebody's hard earned dollars. that's the only thing you really need to worry about in game development, is what you don't know how to do.  and there's tons! code, graphic, audio, design, writing, marketing, business, etc.

 

for me most recently that was how to do a checksum of ram to make sure my DRM VM code was intact (Thanks Apoch!).

 

 


How many people do you think really want to go through the trouble of finding a free copy of an unfinished, buggy game?

 

a bug free skyrim with no audio and no addons, 10 minute free download. that's the kind of thing i'm talking about here.  a far cry from an unfinished buggy game.

 

set your warning to level to max, suppress inline warning,  and halt on all warnings or errors. modular design, unit testing. write one thing, do it very well, test it completely, then move on: "ok that works, that's done, whats next?" . develop in release mode only. and if you need it, stuff like LINT and BoundsChecker. bug free is NOT a dream. the only bugs in software are ones we put in by typing, or choosing to use a buggy library or tool. Caveman v1.0 had ONE bug in it. and it wasn't even a show stopper or anything like that. needless to say, v1.1 was 100% bug free. And that was in a game with about say 50,000 lines of source code. v3.0 currently tips the scales at about 90,000 lines of code.

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0