Silverlight Viewports

Posted by Dan Dobbs – November 14, 2007

One thing you usually recognize about web-based games is that they generally have a fixed view. With a fixed view, your game world matches the web control 1:1. What if you want the game to take place in a larger space, like an entire world, or a galaxy. In the game world, you’d create a viewport or a camera that only displays a portion of the world. Unfortunately, Silverlight doesn’t have native support for viewports into a larger space. We decided to make it.

CanvasViewport Class Diagram 

Source: CanvasViewport C# class 

The CanvasViewport is a simple plugin class that can be used to create a viewport on any Canvas (it doesn’t have to be the main page). It works by manipulating the Canvas’ RenderTransform in response to programmed parameters.

Usage:
// Create a viewport on this canvas.
CanvasViewport _Viewport = new CanvasViewport(this);

// Create a viewport that is 320x240 in logical (original canvas) units
_Viewport.Size = new Size(320, 240);

// Set the center of this viewport to 500, 800 on the canvas
_Viewport.Center = new Point(500, 800);

// In a game, you can have the viewport track a player like this:
void Update()
{
  _Player.Update();
  _Viewport.Center = _Player.Position;
}

An added advantage to using viewports in XAML is that since XAML graphics are all vector based, zooming in and out dosen’t have all of the pixelation problems that working with raster graphics has. Here’s the orignal game without the viewport.
 Shooter without viewport 

Here’s the game with a smaller viewport into the original world. (Notice that the UI and the Reticle doesn’t change size).
Zoomed in view of the shooter

Have fun with your viewports.

FacebookTwitterGoogle+PinterestTumblrRedditPrintShare

Breakout – Silverlight Style

Posted by Dan Dobbs – November 8, 2007

A full breakout clone with source. The demo features 9 levels loaded from embedded XML. There is also an “attract” mode which makes for a nice screen saver.

We also wrote a level editor in WPF because it was so similar to Silverlight. The editor can be released upon request.

Silverlight 1.1 – C#

Example, Source

Filed Under:   Games, Miscellaneous | 3 Comments

:30 With Vectorform

Posted by Administrator – November 7, 2007

Filed Under:   Office | Leave a Comment

Well looky here…

Posted by Administrator – November 1, 2007

Our Silverlight Gallery design has been “borrowed.”

Filed Under:   Design, Office, Silverlight | 1 Comment

Silverlight Pong – 1.1 C#

Posted by Dan Dobbs – November 1, 2007


We wanted to start exploring some game development with Silverlight so we started where one should start… good ol’ Pong! Then with the functionality in place we couldn’t help but skin it with some nice imagery of a beat-up ping pong table. Enjoy!

Example, Source

This is our first 1.1 example and we plan on doing more as time allows so check back often.

and for the Javscript folks, here’s the 1.0 version…

Example, Source

m4s0n501
Filed Under:   Games | 2 Comments