Silverlight Game Development Inter-web Mash-Up, March 10th 2009
OK, so I missed last week, sorry. I was finishing my 4K Flash game for the Game Poetry 4K Game Competition. I'm now working on converting that game into Silverlight. Anyway, that's a good, quick segue into our first topic: Silverlight Game Competitions.
We have already discussed a couple competitions in these mash-ups, but let's recap and extend:
- The Mix09 10K Mixtify Contest : The winners have been announced for this contest, and several games were among them. The Community Prize went to Mohan Embar's Triangle Puzzle, a cute animated version of a game you probably made in wood shop class in the 80's (I did anyway).Timmy Kokke's Silver Rubix, a very well-made Rubik's Cube simulator took one of the three Judge's Runner-Up Prizes. Jimmy Dickinson Paper Ball, a stylishly made (and really impressive) paper football simulator, took another of the Judge's Runner-Up Prizes.
- The $5000 Silver Quest contest we described in last update has not had much of an update in the past couple weeks. As of today, you have 51 days to enter, so get going!
- Last week we reported about a new contest, the Dr. Dobb's Challenge Deuce a $10,000 contest with a due-date of June 12, 2009. There is a fairly active forum for this contest here, and there are several categories to enter: (I lifted this directly from here)
- The Dobbs Race-To-The-Finish Challenge ($1,000) - Produce the best modded game (of any kind) in half the length of the competition.
Best Game ($2,000) - Produce the best modded game (of any kind) across the whole challenge. - Best One Button Game ($1,000) - Produce the best game that uses only one button for input.
- Best Game Starring Dr. Dobbs And The Defy All Challenges Crew ($1,000) - Produce the best game that still stars the Dr. Dobbs and The Defy All Challenges Crew (though these characters can be redrawn or otherwise used in any way in the title.)
- Best Total Conversion ($1,000) - Produce the best game that is completely different from the original Dr. Dobb's Challenge Deuce game i.e. uses no design aspects or assets other than the use of Visual Studio icons.
- The Dobbs Race-To-The-Finish Challenge ($1,000) - Produce the best modded game (of any kind) in half the length of the competition.
Now let's take a look at the Silverlight Blogosphere:
- Bill Reiss over at Silverlight Games 101 has become the first ever Microsoft Silverlight MVP. That should tell you something about the importance of both Silverlight and games to Microsoft. Congratulations Bill!
- Related to the above, Bill's gaming site Silver Arcade has chosen their new logo and now promises to launch this month.
- Shine Draw has some new 3D and pseudo 3D Flash vs. Silverlight comparisons up which, unfortunately for the current rev of Silverlight, look much better in Flash. Shinedraw is now promising some new, and upcoming comparison that should be very interesting to game developers including: Game: Bejeweled, Particle engine , Physics Engine, Working with bitmap, and Working with sound . I can't wait to see what they have in-store.
- Andy Beaulieu has a great new entry about the current state of Silverlight Game Development called Silverlight Gaming ++. He talks about many things including the new gaming forum at Silverlight.net, and some cool new blog entries. I don't want to take too much away from it, so go read it for yourself.
- Mooshoo has posted some news games, and they are now playable! (I was having trouble getting them to load last time). Spider Solitaire, Silverlight Solitaire, RoboZZle, MutraGame are all fairly new and worth looking at.
- Also, Adam Kinney mentioned us in his new blog called Silverlight Gaming About To Explode. Thanks Adam!
Finally, here are some of the new games in the Silverlight.net Showcase:
- Chessbin Chess by Adam Berent is good little chess game with some nice A.I. built-in.
- Rootbeer Maze by Ben Maddox looks like it uses the Prim's or Eller's algorithm to create a unlimited random mazes for your enjoyment.
Anyway, that is all for this week. If you know of any blogs or game sites that we have missed that should be added to the mash-up, feel free to contact us or added a comment below.
Another Silverlight Game Contest: Dobbs Challenege Deuce
Our good friend Simon Carless just clued-us into another Silverlight Game contest: Dr. Dobbs Challenge Deuce .
There are two way to compete:
1. Simply create new levels in their existing game
2. Create your own Silverlight game from the samples and tutorials provided.
There is a pool of $10,000 available for the contest,and they do not seem to be claiming any ownership of your code after the fact.
Silverlight Game Development Interweb Mash-Up Feb. 25, 2009
Sorry, I missed a week of this mash-up, but I'm back again with another entry chock-full of Silverlight Game Development Goodness.
This week we check out new entries in the Silverlight Game Development Blogosphere.
The guys over at Silverlight Games 101 have just launched a new Silverlight Game portal, SilverArcade.com. They are currently accepting game submissions and ideas for a their new logo for the site. This is great news for Silverlight Game Developers. Another great idea they have is "quality control". They will not be accepting every game that come across their inbox. This is great news for devs who are tired of competing with the latest pile of "Developed-in-2-hours-from-stolen-code super-click" games for attention from portal players.
The fine people over at Shine Draw have a couple of interesting new bits for Silverlight Game devs. The first is a discussion about Eclipse for Silverlight (http://www.eclipse4sl.org/), a nice tool for people used to working with open source technologies and Flash devs who can't get into Visual Studio. The other interesting entry has some good examples of Drag And Drop that can be used all manner of Silverlight web games.
Andy Beaulieu has a nice little entry on the Server Quest Contest, a $5000 Silverlight Game Making contest...
By the way, as an aside, Silverlight Game Developers might not be aware of this, but Flash Game Developers have been participating in contests like this for many years now. It is essential that you read the fine-print in the rules before you submit anything to a contest. Many contests are held by sites simply to get access to new games exclusively (and sometimes source code), and you waive any right to compensation by submitting. The Contest Rules for this one state the following:
- are granting us and our respective parents, subsidiaries, affiliates, employees and agents an irrevocable, worldwide right and license to: (i) use, store, review, assess, test and otherwise analyze your entry and all its content in connection with this Contest; (ii) change the format, transcode, or otherwise process the game to conform to the network's or website's technical requirements or limitations, and (iii) feature your entry and all its content in connection with the promotion of this Contest in all media (now known or later developed);
Believe it or not, this one is not as bad as many that Flash Developers run into on a daily basis. Notice though the words affiliates, and irrevocable . Simply put they could give your game to any affiliates (which could be anyone), and irrevocable means you can do nothing about it. Still, this is much better than some agreements I have read. This one seems to be limited to the contest. I've read agreements that give the web site a license to create derivative works based on your I.P. which means they could take all your assets and make "Game II" and you could do nothing about it. Watch out for that and ALWAYS read the rules and regs before entering a contest. Many times, they are not worth it.
Mashoo has some great news including items about Spicing Up Your Silverlight Loader and the Graphic Design Of A Fictional Character. They also have some interesting new games including Tire Storm, Farseer's new physics-based game, and Snake Charm, a cool little take on this classic game. At the same time, Farseer is also touting Tire Storm right now too, as well as We Are bugs, their entry into the Mix09 10K contest.
In short news, I'm not sure if I mentioned this last time, but Aven's Corner has a nice set of kids' games built in Silverlight, and we launched a simple kids game named Katie's Heart Catcher earlier this month. Also, don't forget top check out the newest games on Silverlight.net, and on the Mix09 10K Contest site.
That's it for this week, thanks for reading.
Flash to Silverlight: Zamboozal #2 : C#-,gt;AS2 Horrors: Don't Do it!
In the past couple years I have done my share of AS3 work, but since I have so many unfinished game engines in AS2, I have maintained a good amount of work in that version of ActionScript because I already had a ton of work complete. However, my last Zamboozal project have changed my attitude.
For the recently finished Zamboozal Silverlight/Flash project, I decided to write the game in Silverlight/C# and then convert it back to ActionScript 2 in Flash. I thought this would take no longer than a few hours. At first, I was right. Because I had planned out my Silverlight object model to closely match how AS2 works, it was fairly easy to covert the C# code to AS2 and get a set of code that would compile. About 4 hours into the conversion process that was complete, and I was a happy boy.
Here are both games.
First, the Silverlight One:
...and the Flash version...
Getting to final Flash version was not easy. The problems arose when I tried to play the game for the first time. ActionScript 2 is so loosely-goosey with the language, that compilable code did not mean I had an application that worked at all. Coming from a Silverlight 2 C# project, which is both strongly typed and very strict about the code, this was a shock. In short, I can't believe that I was living with while developing in AS2! Here are some of the major headaches that occurred while trying to convert the Silverlight App the Flash AS2:
- Everything's a MovieClip: In AS2, you can create classes, but if you have object that are derived from MovieClip's the code barfs sometimes if you don't declare variables for those objects as MovieClips instead of the derived Class type. I found myself, more often than not, converted my pretty class references to my objects back to MovieClip just to get code to work correctly. This was not an issue in C#.
- Related to the above, creating MovieClips to add to the display by using attachMovie made my code simply incompatible with C#. Instead of being able, for example, to create a new "Choice" class by declaring some thing like new Choice("Straight",400) I had to use two lines of code, first attaching the clip : c1 =attachMovie("FStraight","F1",1000) and then calling an c1.init("Straight",400) function to set the name and score value. Not a lot of work mind you, but still very clumsy.
- Button Components: I could not find a way to dynamically change the text on the included button component for AS2 (in Flash 9). I wanted to use the supplied buttons so the game would match more closely with the Silverlight version. However, after multiple tries, I simple gave-up and made my own buttons. However, this was not the end of the issue. Even with my own buttons, setting the .text property dynamically was an issue. The problem seemed to be with the delegates I created to handle the button events in my class. With a delegate created, every time the button was pressed the text on the button would revert back to the default ("xxx"). It made no sense at all. I managed to fix the problem by getting rid of the default text, but why did this happen? Weird.
There were many more issues with converting C# to AS2, but I think they would just get redundant. My real point here is this:t C#->AS2 conversions are too much of a headache to undertake, especially when AS3 is so much closer to C#. If you want to make projects that work in both Flash and Silverlight, AS3 is the only way to go.
Katie's Heart Catcher Silverlight Launches
Today it my daughter Kaitlyn's (Katie) 3rd birthday. In my ongoing quest to make sure to create games that my girls can both play, and (hopefully) will look back fondly on as they grow-up, I decided to create a very easy "game" for Katie. since Katie is just learning the alphabet, I decided to make a game that would help reinforce all the letters for her. Here is the game I came-up with (in 3 days), Katie's Heart Catcher :
Like I said, this game is part of a series ofgames I am making for my daughters. If you are interested, you can check out "Daphnie's Balloon Castle", a game I made last October for my middle daughter.
Katie's Heart Catcher (2009)
Silverlight Game Development Interweb Mash-Up: Feb 9th, 2009
Silverlight Interweb Mash-Up Feb.9, 2009
Last week I had several people email me and ask to get their sites added to the weekly round-up. I say "GLADLY I Will add them! " The only way to get a bead on the Silverlight Game Development Community is to know that it exists out there. If I have missed anything (which I often do), feel free to tell me about it in the comments or via email in the contact section.
We will start this week with a look at the games that have been add to the Silverlight.net showcase:
- Speed Poker:A unique take on Texas hold'em in which you try to select the best poker hands as fast as possible for 60 seconds. Avery compelling little game.
- Silverlight Manic Miner: A silverlight version of the old ZXSpectrum Game, Manic Miner from Pete McGann and Roger Costell. The collision detection is nearly flawless and very impressive.
- Mahjonged : A Nicely done mahjong game with the tantalizing option of a future "level editor". Cool.
- Zamboozal Poker Dice: Yes, we hypnotized Silverlight.net into running our game as well.
- Joe Rassic: Quite a nice looking and sounding dinosaur fighting game. It takes a LOOONG time to load though.
Now we move on to the Mix09 10K Contest:
- Baltagz Aim: 20 second mouse clicking and aiming contest. A bit addictive I do say.
- Jags 10K and Kendoku: Suduko! You know, I have a theory that this game was created to sap the mind-power of the Western world, while the East remains productive. Just a theory mind you.
- Catchosoma: An action block puzzler where you try to catch the worlds' most notorious criminal. If only it was that easy.
- Trapped: A "Click The hot spot" adventure game.
- Chain Reaction: A decent version of the Flash game genre where you click circles that expand.
- The Fish Game: A decent version of the popular Flash "food chain" fish game genre.
Next, we visit Mashooo to see what new games they have in their portal. Unfortunately, nothing was showing-up today. Hopefully they will have this fixed by next week.
On the blog front this week we first visit Andy Beaulieu's site where he is highlighting the work of Tiago Andrade e Silva in his quest to port the Physics Helper Library to Silverlight. Very promising. Over at Physics Powered Games they have just recently posted their first game, Diver, a sublime diving simulation with some of the smoothest graphics I have ever seen in a web game. Over at laumania.net they have posted a link to great to a piece about avoiding common mistakes when making Silverlight games. finally, Aven's Corner has posted two new Silverlight games, Laser Copter Inferno 2, cool, retro scrolling shooter, and Flabberblast, a very nice Bookworm style word game.
Well, that is it for this week. I have added all the new blogs that you have told me about to our Blog Roll, and I will visit all of them again this week, so if you want to get a mention, then update often!
Zamboozal Silverlight Featured In Microsoft Silverlight Showcase
It must have been a slow week for Microsoft's Silverlight.net editorial team, because our 2-week test project, Zamboozal Silverlight was featured today in Microsoft's Silverlight.net Showcase. Even though we are pretty sure that nearly every entry Silverlight.net receives gets featured, we are still happy to see it there, and it inspires us on to make more and more games in Silverlight.
Silverlight Game Development Interweb Mash-Up Jan. 30th, 2009
It is still very quiet on the Silverlight game development front this week. However, we will forge through as we believe this platform is going to be very significant very soon.
Microsoft has not added any more games to their Silverlight.net Showcase this week, but the silverlight.net community gallery has added a couple small ones:
- Tic Tac Toe by Lee Saunders is a version of this very simple game, but Lee has included all the code and project files. I look forward to his next experiment in A.I.
- SimpleVB has a cool little "bouncing ball" game reminiscent of many Flash games out there. It shows a lot of promise.
The Mix 2009 10K Smart Coding Challenge Has A ton Of Cool Silverlight Game Entries. The key to the contest is to Make a game in 10K or less. I love stuff like this because it forces programmers to really think about what they are going to to use in their game, and still make it fun.
- Battle Planes is a take on Battleship by Sorin Tarceatu.
- Bubble Mania by Gabriel Nitulescu is in the "Click Like Things Next To Each Other To Make Them Disappear" genre. It's simple, but games like this are always enjoyable.
- Silver Rubix is a great looking Rubiks Cube simulation by Timmy Kokke.
- Spin And Win is a gorgeous slot machine simulator by Grant Archibald
- Warp Jumper, a cool pseudo 3D bouncing ball game from Wian van Aggelen
- Silverhack, Tommi Pirttiniemi's version of Nethack written in Silverlight
There are many more good games too, so check out the full list of entries.
Here is something old, but really cool: Chris Bowen's list of Silverlight Games (some with source code) from last June.
Also, here is a very recent Silverlight vs. Flash game comparison from the masters over at ShineDraw: Snake Snacks Game.
Finally, we launched our own new game written in Silverlight named "Zamboozal Silverlight", based on a game we made 20 years go. You read about it and play it here: http://www.8bitrocket.com/newsdisplay.aspx?newspage=23363
Anyway, that is it for this week. We'll back again next time with even more...
Zamboozal Silverlight 1.0 Launches : Plus Hosting Silverlight Games with .ASP.NET 2.0 MasterPages

Excuse me for being a bit nostalgic, but tomorrow is my birthday. Actually, since my brother Jeff and I are twins, it is both our birthday's. Anyhow, nearly 20 years ago Jeff and I created our first real "finished" and compiled object code game (we had made many games in various BASIC languages for many years prior) named Zamboozal Poker Dice.
Jeff and I were always big fans of a certain "dice" game that had been around for centuries, but had been branded by Milton Bradly i nthe early 20th century. However, at the time we felt we could do it one better. So we aded some new options likeone Pair, two pair, and Blackjack and bonuses.
So, when I started building a my first "real" game in Silverlight, I decided to take inspiration from this old game. Sure, it is simply a recreation of an existing old game, but for a short two week development cycle while I was trying to learn the intricacies of a new language and platform, it seemed like a good idea. So, in all it's basic glory, here is Zamboozal Silverlight
Right off the bat you will notice that a many things have changed, while a few things have stayed the same. First, I kept our original title screen. Even though it is amazingly bad, it fits the game perfectly. However, since I wanted to get this game finished, I dropped some of special effects from the original game. I figured that those would be well used as examples in other games that I build down the line in my Silverlight development.
To be honest, Zamboozal Silverlight does not really tax Silverlight's animation features. It's really just a tech demo of how I might build a game in the future. While it might not look like much at first, under the covers I tackled the following problems (all of which might appear as individual tutorials in the coming weeks)
- Creating a game loop interval
- Creating a simple game state machine
- Loading and displaying bitmap images
- Loading and playing sounds
- Managing dynamic colors in code
- Creating and a managing multiple custom controls in code.
- Creating custom events and event listeners
- Implementing a subscriber design pattern
- Generating random numbers for multiple class objects
For me the above was enough for a first game. My next step is to create a Flash version based on the class structure, sounds and graphics used for this game and show the differences in the code.
OK, now to the small "tutorial" for this entry. Embedding Silverlight apps in ASP.NET with MasterPages.
When I initially tried to launch this game and its predecessor "Guess The Number", I was confounded because while the Silverlight app showed-up perfectly in a .HTML page, in and ASP.NET 2.0 page with a MasterPage, it would come-up as complete BLANK. For ASP.NET 3.5 there is a Silverlight Control you can use to embed, but for 2.0 you are left-up to the simple object embed. However, the default embed supplied by Visual Studio when you build your Silverlight app will not work in a MasterPage. Here is an example:
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%">
<param name="source" value="DiceGame.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
The above looks fine and will display in HTML, but as-is it will not display anything in an ASP.NET 2.0 page with a MasterPage. However, the fix is quite simple,but not documented any place I could find. To fix the display problem, you must explicitly state the height and width of your Silverlight app, and get rid of the width="100%" height="100%. Here is what I did:
<object data="data:application/x-silverlight," type="application/x-silverlight-2" width="500" height="500">
<param name="source" value="DiceGame.xap"/>
<param name="onerror" value="onSilverlightError" />
<param name="background" value="white" />
<param name="minRuntimeVersion" value="2.0.31005.0" />
<param name="autoUpgrade" value="true" />
<a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;">
<img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/>
</a>
</object>
That's it. A simple fix to a very frustrating problem.


