I think this topic is of general interest, so i’m reposting it for those who only read the GamingHorror blog.
Please visit www.learn-cocos2d.com to learn why you should ignore everything you’ve read about App Store Piracy!
I think this topic is of general interest, so i’m reposting it for those who only read the GamingHorror blog.
Please visit www.learn-cocos2d.com to learn why you should ignore everything you’ve read about App Store Piracy!
Our game Black Hole is now undergoing Apple’s approval! Hopefully we’ll see it on the App Store this week. I post it when i know more.
So you got this PC/Mac game and during install or when you’re first starting it, you’re asked to enter a Serial Number like WARZ-DOOD-IROK-4331. Errr….
I would like to indulge on the serial mistakes companies make when it comes to entering serial numbers and why this process, if done wrong, only helps to reinforce software pirates.
#1 – Serial Number is not trivial to locate. Either there is no mention whatsoever in the “Please enter your serial number” dialog where to find the Serial Number, or that information is wrong. It doesn’t happen very often but when it does, it’s a painful experience. There is no standard place where a serial number is printed but it’s very common to see them printed on the backside of the manual, at the bottom, or on one of the disks itself. Hopefully that disk isn’t in the drive while you’re asked to enter the serial number! Less frequent but very annoying are serial numbers printed on the inside of the cover pages, either the first or the last page, along with other text and not visually enhanced with a thick border, red color or something to that effect. One game i know hid the serial number on a label underneath one of the disks of the DVD box. This may actually be a good place if that disk is the first disk and the setup program asks you to enter the serial number right away.
#2 – Serial Number font makes it hard to differentiate certain characters. The game SpellForce i worked on suffered from this very unfortunate problem. Certain characters like 0 and O or 7 and 1 were so hard to differentiate, and printed in a font that was way too tiny and consisted of dots instead of lines (as if it was printed with a needle printer), that consistently users entered incorrect serial numbers. It was a customer support nightmare. A good serial number does not use look-alike characters and either print the zero with a slash inside or do not use either 0 or O in their serial numbers.
#3 – The Serial Number entry box is a simple textbox. Usually the serial number consists of dashes to seperate blocks of 3 to 5 characters. A simple textbox leaves it up to the user to enter the dashes and makes it hard to spot missing or extraneous characters in each block. Take a look at how Microsoft implemented the serial number entry boxes – each block of characters has it’s own box and the dashes are already printed between the boxes. The cursor advances to the next textbox when you filled in the exact amount of characters from the first box. This is the best way to ask users to enter a serial number and it should be standard with all other methods frowned upon and getting a 10% review score deduction if they don’t use it. Game companies, please learn this lesson!
#4 – Dashes are added automatically while entering the serial number. This is the poor man’s solution of Microsoft’s (and other’s) serial entry fields which uses several textboxes with the cursor advancing (see #3). In this case we have just one textbox but someone thought the user needn’t enter the dashes and so they are added while you are typing. It does help to get the number of characters per block right. However, the problem with automatically added dashes is that they’re not immediately visible and the user will type them anyway! Sometimes you’ll even end up with 2 dashes!
#5 – Dashes are not printed at all. In my opinion this and the following are the worst kind of mistakes. Your printed serial number contains dashes but while you enter it in the single textbox it does not allow you to type dashes. Some users may frantically try to type the dashes and get frustrated, they may even think their keyboard is broken. You’ll end up with a long chunk of non-seperated characters and it makes it very hard to spot any mistakes or missing characters. Game Developers: DON’T MAKE THIS MISTAKE!!!
#6 – Serial Number entry box is case sensitive. A serial number never contains lower-case characters. Any serial number entry box that prints the letters as they are typed, which is usually lowercase, is just downright dumb and stupid. I’ve seen it myself: users start entering the serial number, they notice that the letters are printed in lowercase, so they go back and delete them and then enter the characters with the SHIFT key held down. Of course this can lead to other mistakes, like holding the SHIFT key pressed while entering a digit. Major disaster! There is no excuse whatsoever not to automatically uppercase any letter entered in the textbox!
#7 – Serial Number has several entry boxes but cursor does not automatically advance. Someone tried to copy Microsoft’s system but forgot to implement the crucial element to advance the cursor to the next entry box once the correct amount of characters was entered in one. This is a user interface nuisance which simply need not exist. That is a 5-minute task anyone can implement even during a rush to get things done quickly (aka crunch).
#8 – Serial Number is entered using the game’s ornate font. This makes the characters not look at all like the ones that are printed and in some cases makes the characters hard to distinguish even if the serial number itself took care by not using characters like O and 0. Do not use ornate fonts for entering serial numbers, period.
#9 – The Serial Number contains upper and lowercase characters. Yes, seriously, WTF !?!?!?! Use a modern serial key generator service that adheres to certain usability standards. Serial Numbers with upper and lowercase characters should be outlawed.
#10 – The Serial Number entry boxes allow you to enter invalid characters. Developers already know which characters are allowed in the serial number and which aren’t, so why not filter them out? Do not allow the user to accidentally or incidentally type characters which can’t be part of the serial number, like any SHIFT+digit character if the users does happen to hold down shift while entering the key.
It’s really rather simple, so why do i have to see these mistakes repeated over and over again???
I’ve learned a lot about iPhone game programming, cocos2d for iPhone and Xcode, Objective-C and the Mac OS in the past year. I want to share my knowledge pertaining to cocos2d in specific and iPhone game development in general. I’ve created a completely new website dedicated to cocos2d over the last 2 weeks:

I made a 90+ (!) pages Tutorial about how to setup an Xcode project for professional work, including cross-referencing the cocos2d project, optimizing the build settings and adding targets for all platforms and purposes (eg debugging crashes). You can view the tutorial on my website or download it as PDF!
Since after 10 years in the game industry i’ve specialized in iPhone Game Development using cocos2d for iPhone i will always have something to say or add to this website. Let me know what you think and if you like it, please tweet it and recommend it to your peers, thank you!
I spent the last week creating a Xcode project template that uses the cocos2d for iPhone as cross-referenced project as it is obtained from git. I want to be able to branch off of a common base project using the source control software of my choice – Perforce – and also be able to update the cocos2d for iPhone game engine at any time for all of my future projects.
I think the feature list of that Xcode Project Template speaks for itself:
It gets better! I’ve actually made tutorial explaining each and every step in detail and explained some of the reasons and intricate details of Xcode Build Settings. I’m confident it’ll blow your socks off! This Tutorial combines everything useful that has ever been written about Xcode & cocos2d Project setup into one large Tutorial. And i can guarantee that it’ll work because it describes exactly how i created the Project Template i’m now using for my professional work.
Of course i will also share that Xcode Project Template. This is all content for my new Website which focuses on making games with the cocos2d for iPhone game engine. I hope to be able to reveal the website soon, until then you’ll have to be a little more patient. Please stay tuned and follow me!
For now i’d like to offer you a Teaser for this Tutorial: Git Setup for cocos2d for iPhone. Please do me a favor and do not link to this HTML file directly, instead link to this post, as i will remove the HTML as soon as the new website goes live. Also the HTML isn’t formatted properly, for a better result download the PDF version of the cocos2d Git Setup Tutorial. It contains the first 11 pages of the 93 (!) pages Tutorial!
Recent Comments