Your W-7, ITIN, W8BEN & You

I’ve seen loads of posts with creators (outside of the US) having problems with the required paperwork to receive payments from Microsoft, without being charged tax withholding. I have helped out as best I can in these situations as Microsoft seems to stick by the “we don’t offer legal advice”, well neither do I, but I can tell you how I got mine all sorted.

NOTE: This is the way I handled getting mine all sorted. I am not guaranteeing that this will work for your application – this is just the way I did it.

Things to note:
1. I’m in the UK and am being paid into a UK bank account.
2. The UK has a tax treaty with the US.

From start to finish I needed to fill in three forms:
a. Letter from Microsoft.
b. W-7.
c. W8BEN.

a. Letter from Microsoft

(i). I downloaded and filled in this form with the relevant details.
(ii). I printed it out and made sure that I sent it off to the IRS with the completed W-7.

b. W-7
(i). I downloaded and filled in the W-7.
(ii). Areas that were confusing and/or misleading
* Reason for submitting W-7
I had to check both A & H and fill in the description of “Exception 1(d) – Royalties Income” in H
I used the treaty article number of 12 by reading this.
* Section 6b – This is where I filled in my National Insurance Number.
(iii).I took my passport to an approved notary, and had them notarise a copy and sent it to the FCO to obtain an apostille (legalise the copy).

Other options that I could have gone with are:
1. Sending my actual passport.
2. Getting a copy of my passport notarized by the IRS at the US Consulate.

Check List for sending off my W-7 to the IRS:
1. Completed, dated and signed W-7.
2. Included completed and dated letter from Microsoft.
3. Included copy of passport with apostille attached.

c. W8-BEN
(i). Upon receiving my ITIN from the IRS about twelve weeks later, I downloaded and filled in the W-8.
(ii). Send this off to Microsoft. The address is made available to you when you input you ITIN in the payment pages in the creators club.

Windows 8 Experience

As the time for the release of Windows 8 approaches, so does the deadline to get apps submitted to the store and the deadline to being able to join the Windows 8 | Elite Program.

 

Last week I submitted a build of our app and it cam back failed yesterday for two reasons, one of which was a lack of privacy policy as the app requires Internet capability, which is required for the Microsoft Advert SDK, not for my own use, but still it seems that I have to provide the privacy policy… Seems a bit strange, but anyway that’s not the main issue with the first failure reason – the strange bit is I DID provide a privacy policy, so after consulting with a support analyst via online chat it looks like it was human error.

 

Prior to starting the chat session, which wasn’t available at the time when I noticed the failure, I send an email request to support with a request for more information and that was as helpful as a chocolate fireguard!  Their response was that the app didn’t have a privacy policy and then the app kept crashing and if I required additional details I need to request it in the tester notes prior to submission.  WTF!

 

The second reason for the failure is that the app kept crashing!  Now this is something that I was unable to replicate, especially as all they said is that it failed due to 3.2!  Yeah really helpful!  Again thanks to the chat session, I was pointed in the direction of checking to make sure that my integration with the store API’s was correct as crashes could be caused by using CurrentAppSimulator class rather than the CurrentApp class *1.  This was exactly the problem as in my rush to add a trial mode, I used the code provided by the Trial app and in-app purchase sample and neglected to change this!

 

Lessons Learned:

  • The certification process feedback is not the best.
  • With my limited experience of online chat with support they seem quite good.
  • RTFM! *1

 

*1 – In the API ref it states:

Note  You must replace the CurrentAppSimulator class with the CurrentApp class before you submit the app to the Windows Store. Apps that use the CurrentAppSimulator will fail certification.

We’re still around…..

We’re still around…..

It has been over seven months since the last time I posted anything here… So, what’s been happening?

We have been focusing mostly on WP7 apps for a while, but have started to move back towards creating games in the last month or so.  See below for an early build of a PC game that we are working on – it is still very early days, but we are happy with the progress that we have made so far.

Everything for this game has been done in-house so far, including the music and we hope to also be creating the SFX ourselves, which are two items that we would normally outsource.

Anyways, let us know what you think of the game so far.

 

One of our latest projects

A little something that we have been working on lately is something that may seem familiar to some of you.  I think it’s best if I just let you watch the video.  However before you do, please excuse the jerky video and also keep in mind that this is just a demo level that I created for a Dev Challenge that I was involved in.

The building of the proper more simple levels will start today by our level designer Neal (XboxHornet) whilst I carry on and add additional level functionality which will only be used in future levels.  Unfortunately, he have no idea when the completed version will be released.

Anyways, enjoy the video……

Overdue Update…..

It’s been a while since a I posted a proper post here….  My last proper post being back in October!!!!!

Well, a lot has been happening since I last posted.  We have released a plethora of simple apps for Windows Phone.  You can see a list here.

On the Xbox front, nothing much has been happening as things were starting to get a bit too “political” with XBLIG and also the support from Microsoft seems only half hearted.

One thing we have been looking more into and especially with the launch of IndieCity, is Windows games development.  For this we are using Unity3D for the time being, mostly due to the limitations of my computer hardware, but I have plans to move onto the UDK when I am able to upgrade my hardware.  However, this hardware upgrade all depends on the income generated by our game sales, so please do get spending :D

We have a couple of Windows games in the pipeline – one of which you can see here and here.  The other is still very much in the early stages, but is quite possibly something that you may recognise…..  However, you will have to wait to find out what it is.

Messing about with Unity

 

The results of messing about with Unity and going through the FPS Tutorial...

Read more...

Sprite sheet adjustment tool

Now as most will know, I am no artist and I even find it difficult to navigate my way around a simple program such as the Gimp. This generally isn’t a problem, except when I have received sprite sheets that are incorrectly rotated and I have attempted to do this manually, which takes ages, or I can always get the artist to do them – whether this is as much work as it takes for me, I don’t know.

Anyways, not wanting to put people unnecessarily out and having limited time to be messing about with images, especially in a recent situation where I am working on a simple c++ project using SDL, which doesn’t support rotation (yes, I know there is SDL_gfx, but it wasn’t suitable for the situation). I have eight spritesheets of two rows by six columns, therefore 12 frames per sheet and a total of 84 frames rotated (each sheet to face in one of four directions – up(this I already have), right, down & up)! I could always have just rotated the whole image, but then if I rotated either 90 or 270 degrees, I would have a totally different sized sheet, being six rows by two columns and would have to adjust my code to store all the extra parameters and well, it would just start getting messy.

To sort out this issue, I came up with a quick tool to dissect the spritesheets, rotate each individual image and put them back together. This tool also allows for changing the rows and columns of the sheet, so for instance a six by two can be changed to a four by three or a 12 by one etc.

Here’s a screenshot of what I can up with:

Sprite sheet adjustment tool

I like to think the whole think is fairly self explanatory, but then I would as I wrote it. Here’s a description of each of the fields:

  • Spritesheet – enter the name of the source spritesheet here, or browse for it using the button.
  • H Frames – the number of horizontal frames (columns) in the source spritesheet.
  • V Frames – the number of vertical frames (rows) in the source spritesheet.
  • Rotation – choose to rotate the sprite by any of the following degrees:
  • ->0
    ->90
    ->180
    ->270

  • Req. H Frames – the number of horizontal frames (columns) in the target spritesheet.
  • Req. V Frames – the number of vertical frames (rows) in the target spritesheet.
  • Process – starts the process.
  • Here’s the download: BBQImageTool

    If anyone finds this tool useful and uses it, please let me know.

    [edit]
    I thought that I would throw together an example…

    Original Image

    4x1Sheet

    1×4 sheet with 90 degrees rotation

    [/edit]

    Touch Gestures…..

    Recently when trying out a game from one of our fellow WP7 developer friends, I noticed an issue on their high score tables, which plagued our very first high score tables.

    The issue was what I would consider a very simple understandable mistake to make and thought that I would write about it in the hopes that if anyone ever actually reads theses posts that they will not fall foul of the same issue.

    Imagine a scrolling high score table on a WP7 device. Now answer this – “how would you expect to scroll the list of scores?” I would like to think that most people would expect that dragging their finger up or down the screen would achieve this. With this in mind I had selected the VerticalDrag gesture, which seemed to work well. However after the release of the game and the score table filling up, it appeared that from time to time the scrolling would lock, especially when vigorously scrolling!

    After a bit of investigation, I discovered this to be due to the fact that I was using the VerticalDrag gesture and technically, I wasn’t actually doing a vertical drag as sometimes when I was dragging quickly, I would go slightly diagonally and this diagonal motion is not registered as a VerticalDrag. Upon discovering this, I changed to using the FreeDrag gesture and only paying attention to the Y values. What this did is allow any form up vertical movement to register as scrolling and make the tables scroll as I would have expected them to.

    Simple mistake to make? Yes. Easy one to avoid? Yes. Embarrassed that I cocked it up? No – that’s all part of learning.

    I hope somebody finds this useful.

    Spider Invasion – go live

    Last week, our latest WP7 game Spider Invasion was certified and we thought that would give reviewers and a few followers on facebook a sneak preview before general release. We aimed to achieve this by publishing the game as “hidden”, which allows us to provide a link to enable the game to be downloaded, whilst keeping the game hidden from the marketplace and any marketplace search. All sounds good so far….

    So we prepared the press release and sent it out along with the link to the game and all seemed to be going well, until a question we asked on the AppHub was answered and it wasn’t the answer we were hoping for…..

    We asked that if we made a game hidden and then at a later time made the game “live” (live is the word used on the AppHub), what would be the published date. We were expecting it to be the date when the game was made “live”, but alas it wasn’t, it would have been the day that we made the application hidden.

    You may think, “so what’s the problem?”

    Well, given there are now in excess of 30,000 apps & games on the WP7 marketplace, being on the “New” list for as long as possible and giving your product the most visible exposure is important.

    Lesson learnt? Never make your app or game hidden to allow pre-release previews.

    How long has it been…..

    It’s been ages since I last posted something on the site…… I just can’t seem to find the time anymore…

    We have had quite a bit happening lately and these include featuring on an Orange UK promotion and releasing Balloon Buster, which is an enhanced and child friendly version of Spider Squisher and even better still, it’s free! Spider Squisher itself has been through quite a few changes including performance enhancements as we were receiving reports of it performing poorly when more spiders appeared on the screen. The cause of this was really all my fault and was caused by a bit of … well … piss poor programming really!

    The performance issue was caused by the fact that every time the player tapped the screen, the collision code would check for collisions with each individual spider, even if the tap was nowhere near any spiders. A quick extra bit of code to check that the tap actually happens within range of a spider before checking for an actual collision had things running much better.

    How had I managed to code this bug in is really beyond me as it was such a stupid mistake to make!

    In addition, Spider Squisher now has global highscores. The highscores code was actually quite fun to write as it involves a mixture of C# and PHP to provide a solution, but also in addition to this, I had to write my own simple encryption code, so that I could check that scores being sent to the server were legit, to try and avoid having the leaderboards spammed. Hopefully the encryption algorithm is strong enough…..

    Some more news on Spider Squisher – we will soon be releasing a free version, with advertising on the menu screens. The only difference between this and the paid for version of Spider Squisher is just the adverts. If you wish to get rid of the adverts, you can always buy the paid for version, but I did try to make them as unobtrusive as possible.

    For those that follow me on Google+ you may also have learnt that we will be releasing another WP7 game in the near future. In this game, we have tried to make use of the various different control methods that the phone has to offer. We haven’t finalised a name for it yet, but yes, it does include spiders! Again!