Developing a Casual Games with Silverlight 2 – Module 2
November 19, 2008 @ 10:54 am in Silverlight
This week Microsoft published the latest issue of the Expression Newsletter. If you have not seen the newsletter its a great series of articles focused on using Silverlight and the Expression tools to create amazing rich interactive solutions. In this latest issue I was asked to contribute the second of a six part series of articles on exploring the process of designing and building a casual online game in Silverlight 2.. Here is what the series will include.
- Module 1: Getting Started – Architecture / framework
- Module 2: Movement and collision detection
- Module 3: Design – Sprites, boards and dialogs
- Module 4: Animations and sound
- Module 5: Initialization and Deployment
- Module 6: Advanced concepts (Physics, Multiplayer, Optimization)
Make sure to check out the article at http://www.microsoft.com/expression/news-press/newsletter/
Code: COMING SOON
/p>
Tagged as 

November 19th, 2008 at 11:37 am
[...] post by WP-AutoBlog Import var AdBrite_Title_Color = ‘0000FF’; var AdBrite_Text_Color = ‘000000′; var [...]
November 21st, 2008 at 1:29 am
[...] Joel Neubeck on Developing a Casual Games with Silverlight 2 – Module 2 [...]
December 5th, 2008 at 3:57 am
Is the source already published or will you publish it here?
December 24th, 2008 at 12:24 am
It is wonderful article for starter to learning SL game development. and it is better if you can share the finial source code, we can learn more from it. ^_^
December 25th, 2008 at 11:37 am
hello this is great work but plz publish it’s code soon
January 1st, 2009 at 10:38 am
My apologies. I have the thiid article in the series coming out in a week or two and I promise it will have all of the source from each previous article.
January 1st, 2009 at 11:18 am
Can’t wait for a Module 3.
PS: BTW Happy New Year. ))
January 3rd, 2009 at 12:38 pm
I am waiting for the next modul.
You do a great job.
Happy New Year
January 25th, 2009 at 12:32 pm
Great article Joel! I’m really looking forward to the next one in the serie.
I have a question about how positioning your sprites. Its different then what you normally see on the net and also different from what I use to do myself.
I use to have my “game screen” as a Canvas and then use the attached properties Canvas.Top and Canvas.Left to positioning my sprite.
You have your “game screen” as a Grid and are using TranslateTransform to position your sprites.
As I see it, the outcome will be the same, but is there a reason to pick one over the other? Performance?
Best regards,
Mads Laumann
January 25th, 2009 at 9:45 pm
This is interesting that you ask this, because recently I ready that using Canvas.Left and Canvas.Top performs a bit better than using a Grid. I am not positive this is true, but a grid is certainly a more complicated panel. Nonetheless, I find TranslateTransform so much easier to use. In fact, you can use TranslateTransform in either a Canvas or Grid. What I like best about a transform is the ability to apply easing if necessary. In this game I specifically choose to use a Grid to ensure that as sprites left the stage, they would be clipped by the container boundaries. If I had used a Canvas I would have had to apply a clipping to its perimeter.
January 26th, 2009 at 6:35 am
Hi Joel
Ok, but the clipping part of a Canvas wouldn’t be that hard a task right? I haven’t used clipping must, but don’t you just have to tell the canvas where is boundaries goes, and that’s it?
It would really be nice to know which approach is the best, performance wise. Maybe I should to some performance testing a blog about it :)
Btw, when will your next article about this game be out (article 4) ?
Br
Mads
January 26th, 2009 at 8:15 am
The articles are every other month. The latest came out the week of the 20th so I would expect article 4 to be released in Mid March.
January 30th, 2009 at 5:01 pm
Hi Joel
I just did a post about Grid vs Canvas as a sprite container with performance in focus.
http://laumania.net/post/Using-Grid-or-Canvas-as-sprite-container.aspx
//Mads