Now Hiring Silverlight Developer

Posted on June 9, 2008
Filed Under 1.0 Javascript, 1.1 Alpha, Application, Career Opportunities, XAML | 1 Comment

Due to the great demand that we have received for products developed using Silverlight, we are now looking to expand our team. To be considered for employment at Vectorform, you must have the desire to work in a collaborative environment, but also have the ability to research and develop new applications leveraging Silverlight as the main development technology. Below you will find the specific requirements for the position;

Qualifications

Requirements

To apply for this position, please forward your curriculum vitae to: msheldon@vectorform.com

Accessing the canvas in a Silverlight 1.1 User Control

Posted on January 30, 2008
Filed Under 1.1 Alpha, Application, Components, User Interface, XAML | Leave a Comment

When you create a Silverlight User Control from a piece of XAML, you expect to be able to modify the Canvas using the a standard property. After all, the control’s XAML is a Canvas.

Foo.xaml
<Canvas xmlns="http://schemas.microsoft.com/client/2007"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="100"
Height="100"
Background="CornflowerBlue"
>
</Canvas>

However, the Control interface doesn’t have an accessor for the Canvas. Looking at the control in the debugger, you find that the Canvas is buried down deep in the control in a non-public area.

Control Canvs

So, how do you access the Canvas?
Well, there’s a simple 3-step process.


public class Foo : Control
{
// STEP1: Save the canvas locally
private Canvas _TheCanvas;


// STEP2: Add a public property so that clients can access
// the canvas easily.
//
// Control.Canvas
public Canvas Canvas
{
get { return _TheCanvas; }
}

    public Foo()
{
// STEP3: Save the canvas as the control is being created.
System.IO.Stream s = this.GetType().Assembly.GetManifestResourceStream("UserControls.Foo.xaml");
_TheCanvas = this.InitializeFromXaml(new System.IO.StreamReader(s).ReadToEnd()) as Canvas;
}
}

That’s it. Now you can access the canvas of your control at any time.

Happy Silverlight Holidays from Vectorform

Posted on December 11, 2007
Filed Under 1.1 Alpha, Games | 1 Comment

Vectorform is proud to present Xmas Drop a new Silverlight 1.1 game with full C# source.

In Xmas Drop, you play the role of Milo. The only security elf on duty when the toy factory exploded. It’s up to you and Milo to save Christmas.

Help Milo catch presents using the arrow or A/D keys. When Milo catches three presents in a row, his elf magic puts them safely away. Use the Up/Down or W/S keys to cycle the stack and setup for a 3 in a row.

Play the game. Download the source. Check out our other demos.

XmasDrop_0_2 screenshot

Silverlight Shooter nears completion

Posted on December 6, 2007
Filed Under 1.1 Alpha, Games | 9 Comments

The Vectorform Shooter project (codename VectorLight) is almost complete. Check out version 0.7.

Vectorlight_0_7.jpg

New in this update:

Things to do:

We’ve learned a lot about Silverlight 1.1 while making this game. With the ability to cross-compile to WPF and XNA, we think that Silverlight can be a viable game platform for the web. Looking forward to the official 1.1 release.
If you’d like to help us out, please play the game and send us your feedback.

Silverlight Viewports

Posted on November 14, 2007
Filed Under 1.1 Alpha, Components, Games, User Interface | Leave a Comment

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.

Breakout - Silverlight Style

Posted on November 8, 2007
Filed Under 1.1 Alpha, Games, Uncategorized | 1 Comment

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

Silverlight Pong - 1.1 C#

Posted on November 1, 2007
Filed Under 1.1 Alpha, Games | 2 Comments


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

Recently


Categories


Archives