Jul 01

Today is July 1, and this means that a few promotions for US based Windows Phone developers have ended, but if you didn’t quite make it, there is one continuing on.

Microsoft has been running a sweepstakes giving away free Samsung Focus phones, and they’re doing it again for the month of July. There are 10 phones up for grabs, and each app approved in the Marketplace during July can be submitted for one chance to win.

image

How to enter:

Go to the sweepstakes site: http://www.windowsphone7event.com/contest/ContestIndex.aspx

Enter 7VPNM for the event code, and if required to enter a date or user group name use July 1 and Silverlight Games 101 Blog for these fields.

Good luck and happy coding!

Jun 14

Microsoft is trying hard to get developers to make apps and games for Windows Phone 7, and this means opportunities for developers. This is a rundown of the promotions I know of, if you know of more please let me know in the comments and I’ll update the list.

The following promotions end on June 30, and are for US residents only as far as I know.

Free advertising and maybe win a phone

reiss

Over the past few months, there has been a contest to win one of 10 Samsung Focus phones. By clicking on the above image, or this link http://www.windowsphone7event.com/contest/ContestDevOffer.aspx you can enter this contest. Use code 7VPNM and use a date of June 14, 2011 and “Silverlight Games 101 Blog” as the event info. Entering your information there will enter you for two promotions. The first is the ability to win one of 10 Samsungs, as specified above. Along with this, if you have submitted 5 apps or games to the Marketplace and have gotten them approved between April 15 and June 30 you will have the ability to have one of your apps advertised for free. This is a great opportunity since visibility is such a big part of success on Windows Phone.

Get your $99 fee for Marketplace reimbursed

Submit 2 apps to marketplace and register at this link http://phone.microsoftplatformready.com/ to receive a rebate for your $99 annual marketplace fee.

Student App-a-thon

First thousand students who submit apps win Xbox games, students who submit the top 5 most apps get cash. You need to be 18 or over and a student to participate at http://www.wpstudentapp.com/

Apr 13

Much of my time creating games in Silverlight has been spent trying to find creative ways to make the graphics in the Silverlight visual tree preform well enough to make a good game. Up until this point, casual games have been decent but anything that required more horsepower was usually not an option. This all changes with Silverlight 5 and the new 3D API. You may or may not know it, but 2D sprites in XNA (using SpriteBatch) are actually rendered on a 3D surface. We can now do the same thing in Silverlight. The Silverlight 5 beta doesn’t include a SpriteBatch class, but you can roll your own. Over the next few weeks I’ll be focusing my efforts on creating a version of SilverSprite which uses the new Silverlight 5 DrawingSurface for its rendering.

SilverSprite is a Silverlight implementation of XNA’s SpriteBatch, and up until now it’s been using some clever hacks to make the Silverlight visual tree act like XNA’s immediate mode capabilities. I eventually felt like I took it as far as I could, and moved on to other projects for a few months. Now that Silverlight provides XNA-like capabilities I can make SilverSprite into something that can really do justice to XNA games that people want to port to Silverlight.

I need your help! If you have an XNA game based on SpriteBatch that you want to get working on the web, especially if it uses some of the advanced features of SpriteBatch and you’re willing to share the source code with me, I’ll port your game for you. This will help me make SilverSprite better, sometimes it’s hard to find good test cases. Contact me if interested.

Here is a sample created with the Silverlight 5 beta which uses additive blending and is rendering a lot of particles. This may not look like much, but it’s something that was impossible before Silverlight 5.

You can download the source code here.

 

Here are some things that are now possible for 2D graphics in SL5 that were problematic or impossible in Silverlight before:

  • Color tinting of visual elements. This could be done with a pixel shader before, but there was some CPU overhead and you had to set a new pixel shader on each element to be tinted. Now you can use one pixel shader for all elements and just set a register with the desired color. You could also do this in SL4 with WriteableBitmap and your own blitting, but this was slow and complicated.
  • Additional blend modes. Only alpha blending was available before. This one is huge. Think additive blending for particle effects, there are a bunch of other cases where you want other blend modes too. This could only be done in WriteableBitmap doing your own blitting by hand before.
  • Scaling without blurring. This is important for getting those crisp lines of an 8-bit retro game. The way pixel shaders were implemented in SL4 you couldn’t get this effect, was possible if you do your own blitting in WriteableBitmap. You can also scale with blurring, but now you have the choice.
  • 500+ independent sprites with <10% CPU usage (so far, I think this can get better).

I’m really excited about the potential for Silverlight 5 in the area of gaming and plan to cover many topics in the near future about how to use these powerful new features.

Feb 03

Join me at the Tampa Microsoft offices as I discuss the Silverlight Media Framework (SMF), an open source CodePlex project which simplifies the playback of video and other media in Silverlight. The session will cover simple out of the box implementations to easily add video to any web page, smooth streaming video playback, markers and captioning, Windows Phone 7 support, and skinning the SMF player control in Expression Blend. The session will also cover why SMF and Silverlight are still relevant and important in an emerging HTML5 world.

Food will be provided by AgileThought. Doors open at 6:30 with the session starting at 7PM.

Register for the event here: http://tampaslug20110207.eventbrite.com/

Jan 22

If you’re reading this blog you’ve probably heard of SilverSprite, a set of open source class libraries that enable you to port your XNA 2D games to Silverlight. It provides APIs that mimic the XNA APIs and hides the major differences in the two platforms away from the developer. A few months ago, real life intervened and I was forced to discontinue actively working on the project. I’ve made it to a point where I can resume my work on it, but now the big question is whether anyone still cares.

A few other projects forked off from SilverSprite including XNATouch (for iPhone) and ExEn (for Silverlight, Android, and iPhone) so I’m thrilled that what I started inspired and gave a good starting point to these very interesting projects. Should Silversprite continue on in its own form or has it done its job and is it time to move on?

I’d really like your feedback in the comments here and in the SilverSprite CodePlex discussion forum:

http://silversprite.codeplex.com/Thread/View.aspx?ThreadId=242841 

There have been some events recently that could help SilverSprite move forward, such as the availability of Silverlight profiling tools and the new graphics APIs coming in Silverlight 5. Given a combination of these it’s possible that performance issues which are the biggest issue with using SilverSprite to port an existing game could be reduced or eliminated. 

Dec 26

The folks over at Best Windows Phone Games have done a nice writeup about Popper 2, you can check it out here:

http://www.bestwp7games.com/wp7-game-review-popper-2.html

If you’re interested in games on Windows Phone 7 I’d highly recommend subscribing to their feeds. There aren’t too many places to get this kind of information given the infancy of the Windows Phone platform and they’re one of the best.

By the way, if you didn’t play Popper 2 on Christmas day, you may want to set your phone’s date to December 25 and play Popper 2 (or Popper 2 Lite) for a little Christmas surprise. You’ll have to be on version 1.5 or later for this to work. Happy holidays to everyone, and all the best in 2011.

Dec 20

So I took some of my own advice and released a “Lite” version of Popper 2 a couple of days ago. The Lite version is pretty much identical to the trial mode of the paid version. The main difference is where there were prompts to buy the game, those have been replaced with prompts to download the full version. This makes for interesting comparisons of apples to apples, and it will take a couple of weeks to get all of the data to let you know how it’s going but I thought the early results are worth sharing.

I don’t know how many downloads are turning into downloads of the full version yet, but the downloads if Popper 2 Lite in 2 to 3 days have already exceeded an entire month of downloads of the full version. It looks like around a 10:1 download ratio versus the paid version in trial mode.

So what can we make of this? I think it’s confirmed that a free “lite” version of the game is going to attract a lot more eyeballs than a trial mode on a paid game, even with the paid game having lots of text saying how generous the trial mode is. It also shows how much work Microsoft has to do to make games with a trial mode more visible. I hate the fact that I had to do what I did, and I would have rather just stuck with the preferred method of providing a trial mode on the paid app instead of 2 different versions, but the current state of the marketplace doesn’t really make this a feasible option.

I’ll follow up with some purchase numbers when the reports are available, it takes about 6 days or so for the reports to catch up. In the meantime, you may want to start working on a free version of your game. 

Dec 13

Let me start by saying that I struggled with whether I should write this post. I really want the platform to succeed and I feel that raising awareness about the issues so that they can be fixed outweighs any negative publicity I may be giving Windows Phone in this post.

Well the initial numbers are in, and developers that have released apps and games on Windows Phone know how they’ve been doing. I don’t have any numbers on paid apps, but for paid games things aren’t looking too great. I’m talking about “indie” or “non-Xbox Live” games here, no idea how Xbox Live games are doing, but I would assume a lot better.

In the first month in the marketplace, my game Popper 2 has been downloaded almost 600 times with 156 sales. To put this in a bit of perspective, the first month my Dr. Popper game was on Xbox (released very soon after indie games was launched) it did 10 times that amount, and it was a much simpler game and took much less time to write. Popper 2 isn’t “crapware”, I spent a lot of time on it and it’s received very good ratings and is currently the 20th highest rated overall for all apps and games on the phone.

I’ve talked to other developers who spent months on their games to have them ready for launch, and there are some dismal numbers, and others that are doing better than me but still don’t have numbers that will make up for their efforts. One developer has a game with a download rank around 300 out of 700 total paid games and he’s sold less than 10 copies in a month. This means that almost 400 games (more than half) have sold less than 10 copies. These are game developers that will probably never write another one for Windows Phone.

So what’s the problem? Is it just that there aren’t a ton of phones out there yet?

Obviously the number of phones is part of the issue, but I don’t think it ends there. I would guess that there are somewhere between a hundred thousand and a million phones out there. Given this, my numbers are less than 1 percent (and maybe much less than that) have downloaded my game, and it’s doing much better than a lot of games. The truth is that indie games are at a huge disadvantage currently on the platform. First let’s consider the Zune software to navigate the marketplace. I go through these steps…

1. Go to Marketplace->Apps. The Featured and “we recommend” games are all Xbox Live games:

image 

The “top paid apps” are also all Xbox Live games, it’s a bit of a self fulfilling prophecy.

2. Go to the games section. The filter defaults to showing only Xbox Live games.

image

3. Select the “paid” filter. This will show all paid games, ordered by top downloads.

image

Hmm looks a lot like the Xbox Live filter. If you scroll down a bit you’ll start to see some “indie” games.

4. Here’s the kicker. Pick any game and click on it, then hit the Zune software’s back button. Where would you expect to go? Back to the paid apps filter right? Nope, you go back to filtering on only Xbox Live games.

There are other issues too, like you can’t sort by rating, and so if you have a good game that just happens to not get noticed right away you can slide toward the bottom and never recover.

Ok so how about the marketplace on the phone itself? That should be better right? Let’s take a look. Sorry for the poor quality.

1. Select games in the marketplace. You default to Xbox Live just like in the Zune software.

image

2. Top games also shows a bunch of Xbox Live games first.

image

3. My game isn’t new so no help there, it isn’t free either.

imageimage

4. There’s no way on the phone to list all games, so I have to go into a specific category to find my game. Again you have to get past the Xbox Live games and go down a page.

imageimageimage

5. Woohoo, found it. Now when I go to details and scroll down to see related games, I see 4 Xbox Live games.

image

On the phone, unless you know exactly what you’re looking for, I would contend that you would almost never stumble across my game.

So what can you do? Here are some ideas:

1. Make the game free to start, and make it clear in the description that it’s free for a limited time. Then change it to a paid app. The download stats from when it was a free app carry over so you can get ranked higher in the paid downloads section on the Zune software and all of the other top downloads lists. About Flags did this and is much more visible because of it.

2. Make a “lite” version of your game and release it for free, with in game download links for the full version. Since there’s no way to tell at a glance whether a paid game has a trial or not, you’ll be much more visible in the free section.

3. Consider how you can leverage facebook, twitter, etc to get the word out there. People especially like to be able to compete against their friends, I know it’s made me play Flowerz a lot more than I would otherwise.

4. Release your game on Xbox Live Indie Games on Xbox too. If your game is XNA this should be possible.

5. If it’s a Silverlight game, consider putting the “lite” or the “full” version online. Wrap some ads around it and definitely have an easy way to get to your Windows Phone game from there.

6. Enter contests and take advantage of other promotions if possible.

7. Write games that take much less effort. Get a few out there. Hopefully one will be a hit.

8. Write a free game with links to download your other paid games.

9. Do your own marketing. I throw this one in because I know someone will post in the comments about it. I don’t think this is practical right now since there isn’t an easy way to target a large concentration of Windows Phone users.

10. Hold off a little while and hope that Microsoft evens the playing field a little bit. If Microsoft continues the way they are going, no inide game devs will be making games for the platform which can’t be good for the phone’s success.

Nov 14

Popper 2 has been in development for a while, and my goal was to get as close as I could to a professionally developed game with a team of a single developer and a graphics artist. Popper 2 was developed in Silverlight and uses XNA libraries for sound effects and some basic data types.

Popper 2 is available here with a free trial or can be purchased for $1.29:

http://social.zune.net/redirect?type=phoneApp&id=5e4f3c52-0bed-df11-9264-00237de2db9e 

You can pop groups of the same color that touch either horizontally or vertically. The number of points grows exponentially as you make bigger groups, so try to build them as large as you can. Popper 2 introduces the idea of bonus pieces which do things like clearing a whole color, or an entire row or column. You can go to the instructions page in the game to get descriptions of the different bonus pieces. Bonus pieces are revealed as you clear an entire column which causes a new column of pieces to fly in from the left.

There are three game modes, each different enough to provide their own challenges while having the same basic gameplay. Each game mode has its own high scores, and Popper 2 stores your personal high scores on the phone as well as networked high scores where you can see how you compare to other players. Here are videos of the game modes with brief descriptions, these recordings were done in the emulator and the game on an actual device is smoother:

Frantic Fifty gives you 50 seconds to score as many points as you can.

Frantic Fifty is completely unlocked and free in trial mode, including networked high scores and choice of 5 different themes.

In Levels mode, each level has a goal of a certain number of points that need to be scored to move on to the next level. You have a limited number of moves on each level to reach the goal. As the levels increase they get harder, requiring more points or having more colors (starting with 4, up to 8 colors) making it harder to make big groups. You get bonus points for exceeding the goal, so one strategy is to get close to the goal then get a big grouping.

Marathon mode is like Frantic Fifty but it has no time limit, bonus pieces come out less frequently, and you have to deal with 5 colors instead of 4. It’s a good game if you have more than a minute to play and want to use a bit more strategy than Frantic Fifty mode.

I hope you enjoy Popper 2 as much as I enjoyed creating it.

Nov 05

I’ve literally spent hundreds of hours digging through fonts and their license files trying to find ones that can be used in commercial games. Selecting a font that is appropriate for the style of your game can make a huge difference to the gameplay, but most fonts (even the ones included with Windows) have licenses that may or may not allow you to use them if packaging in a XAP or a game package.

One benefit of HTML5 (or more accurately the CSS3 font-face tag) is that more and more font developers are releasing their fonts with a “free for commercial use” license. There is a great web site that has only 100% free for commercial use fonts called Font Squirrel.

http://www.fontsquirrel.com

There may be others, if you know of any please post in the comments section.

So go ahead and browse their collection and find the perfect font for your game or Silverlight application.

preload preload preload