. Topicala Page Index Token

A Journal about the experiences I have developing little applications in C#, Perl, Html and Javascript and talking about things new things that I use. Always Geeky; Always Nerdy; Always poor Grammer!

I am a Software Analyst Developer working in Southport, England but living in Liverpool. I develop mainly in C# and ASP.Net. I have been developing comercial software for several years now. I maintain this site (hosted at SwitchMedia UK) as a way of exploring new technologies (such as AJAX) and just generally talking about techie geek issues. This site is developed through a host of Perl scripts and a liberal use of Javascript. I enjoy experimenting with new technologies and anything that I make I host here.

Quick Search

Web www.kinlan.co.uk

Saturday, September 30, 2006

XNA Parallax Demo Video

I have created a video to show you how easy it is to create great scrolling layers for your game in less than 3 minutes (including me making mistakes). 

The basic components of the parallax engine are four fold:

  1. the engine itself
  2. the layers
  3. the camera
  4. the scrollers.

The enigne co-ordinates the layers by using the camera and the scrollers.

The layers represent a repeating background.  The background posistion can be modified by the scrollers. 

The camera represents a view on the world, where ever the camera is the engine will know how to convert the posistion of the layers correctly so that the scrolling still works.

The demo film shows first how to create a simple scrolling layer that scrolls left to right, then later on in the video it shows how a developer can add more effects to the backgrounds, such as simple scrollers combined with an oscillator. 

Watch WMV.

Watch on YouTube.

Watch on Google Video

All of this was done with no code required!

I am always looking for suggestions on how to improve this project, so any feedback would be greatly appreciated.  You can leave feedback here, or on the forum [Discussions]

tags: , , , , , ,

Sunday, September 24, 2006

XNA Parallax Engine Update

I have updated the code again, it now includes the first of many demos.

The first demo is simply a single scrolling background.  It is not complex, but it requires not code (other than initialization).

I am working on making it the Initialization for the layer collection work correctly.

Have a play if you want, the source can be found at [Codeplex.com]

tags: , , , , , ,

XNA Parallax Engine

I have just made the first Alpha Release of the XNA Parallax Engine.  It can be found here.  It needs a lot of work to make it more proffesional.  It needs examples, documentation, artwork and much more.

If anyone is interested in helping drop me a line [paul.kinlan@gmail.com].

tags: , , ,

Saturday, September 23, 2006

Problem with List<T> and TypeConverter

I am having a bit of difficulty with TypeConverters and Generic Lists and I was hoping that I could get a bit of advice.

I have a type converter that is used to create the constructor code for my component. (It is an XNA a Game Component, but I don't think that that has anything to do with the problem because it appears on a Winform) inside another component.

For instance I have the following:


public class A{
private string s;
public string SProp
get{ s = value;}
set {return s;}

public A()
= "";
public A(string inS)
= inS;

By itself, when class A is an object on a form (or in my XNA Component) the TypeConverter code works fine, the property grid on the desinger is fine, if I debug the ConvertTo on the type converter I see that the variable s is all set up okay on the object.

However if on my form, I have a List<A>, the type converter works to an extent, as in it will add code to the perform the List.Add(new A("")), however the constructor with the parameter is not being called, instead the parameterless constructor is being called. 

Obviously, if the input to ConvertTo on the type converter is not set up, then my type converter won't work or display the values the user has put in.  This only occurs when my object is in a Generic List.

Can anyone suggest anything to look at?

tags: , , , ,

Somebody already blogged my project!

Yay. Xbox360homebrew has blogged about my Paralax Engine Project.


Just need to get some more code up and more people involved! :)

tags: , ,


I have created a project on Codeplex, and I must say that I am really impressed.  If this is Team Foundation Server, then it appears to be mega easy to use.  Much easier than Rational ClearCase and ClearQuest.  It just fits in so nicely with VS2005.

I am still experimenting at the moment, and I am having some issues with the fact the VS C# Express, which you have to use for XNA doesn't support Team Foundation integration.

I am using a mixture of VS2005 Team Edition,  VS Express and the command line like tf.

It is pretty simple once you get used to it :)

tags: , , , , , ,

XNA Paralax Component

I have started a Paralax (I think I got the spelling wrong :) Scrolling Component over on CodePlex [http://www.codeplex.com/].  It is an open source type of project that is designed to help game writers create repeating scrolling backgrounds.

It is far from complete but has some basic functionality, such as a 2d Camera, Layer Oscilators and also Scrolling and Clipping.

If you are interested in either the code or helping me code it visi the XNAParalax Component http://www.codeplex.com/Wiki/View.aspx?ProjectName...

Or leave a comment, I would really love feedback.

tags: , , , ,

Monday, September 11, 2006

XNA Vector2 Type Converter

I was messing around with the XNA development environment the other day and I started to make a componenet that I thought would be pretty cool to use. I got to the point where my Component had a Vector2 public property that I could use in other components but also change it in the Game Designer.

The only problem was that Vector2 is a struct and doesn't have any way to change the values of the Vector 2 in the designer.

I thought it was about time I started to learn a bit more about type converters, so I created one for this project based on the above problem.

Vector2Converter is a Type convert that should be added to your exposed Vector2 Public Properties. Once you have it on your property, you will be able to change it through the Game Designer using comma notation. i.e you will see it in the designer as {X: 0, Y: 0}, you can change it by typing in something like: 50, 100 which will then convert the output to {X: 50, Y: 100}.

Anyway, I have provided the code [http://www.kinlan.co.uk/source_samples/Vector2Converter.cs] so you can change it for things like Vector3's and the like.


Sunday, September 03, 2006

No 360, but I have the controller!

Because I am a nerd and I want to develop some games using the XNA for the PC and the 360 when it comes out, I went down to the local GameStation and bought a cheap second hand Xbox 360 controller.

I have just been testing the programming model with it and all seems well.  I can sesne the pressure on the triggers and all that stuff using the XNA.

One thing that I did notice is that I couldn't install the Xbox 360 Controller Common driver for the Windows XP.  However I did find that XBCD drivers worked for me and it works with the XNA.  You can find the drivers here [http://xbcd360guide.50webs.com/]

I presume the download is okay, nothing scary has happened, although the design of the site doesn't inspire any confidence.

tags: , , , ,

Saturday, September 02, 2006

What you can't do in Windows Live Writer

A short while ago I wanted to convert my ajax tagger in to a Windows Live Writer Plugin.

After some silly mistakes creating sample plugins I started to learn how the API works and some the short falls of the current API.

The main thing I noticed was that you cannot access the text of the post inside your plugin.  You cannot access the selected text either.

I pinged off an email to the Window Live Writer Forum

I am in the process of playing with the SmartContentSource class for creating a plugin.  But I am having some problems.

I am debugging my plugin, to see the state of certain objects such as the SmartContent Objects.  My Plugin creates a side bar and manipulates the SmartContent Object, all fine and well.

The problem that I am having is that I can determine what text is in the blog post at the moment.  The SmartContent object doesn't have anything, and the object represented by the ISmartContentEditorSite interface doesn't have the whole text or selected text.

Does anybody know how to get at this text, because as I see it, if plugins can't see the blog post then there is only a small finite amount of plugins that we as developers can create.

And this was the response that I got from Joe Cheng at Microsoft. 

Right now, the plugin model is just about inserting objects.  Can you share what your idea for a plugin is?

It's not as simple as saying "whole text" or "selected text", blog posts are composed of a pretty rich set of objects from MSHTML and from our own framework.  If we can understand your specific scenario it would help us figure out the right way to design these interfaces.


Which is straight to the point.  I have let them know of the ideas of the things that I wanted to do.

I would also suggest that if you have any other ideas for plugin for Windows Live Writer that you cannot create in the current implementation of the API, then let them know as quick as you can so that we can get a big bit of ground support so that are requests will be taken notice of.

I belive we need access to the text of the plugin because without it we will be very limited to the number and types of plugins that we can create.

For instance we would not be able to mark up posts with microformats as easily.  We will not be able to respond to the content and meaning of the post, so for instance we would not be able to create an automated tagger that simply looks at the content of a post and works out the topics (much like my Ajax Tagger http://ajaxtag.kinlan.co.uk/).

tags: , , , , , ,

Some hCard Stats

I have started processing hCard stats on www.topicala.com (stats can be found at www.topicala.com/ping/hCardStats) with thanks to www.pingerati.net.

hCards are a microformat that describe your contact information in a manner that can be parsed by machines, but is also human readable and therefore can be included inline with any html that you make.

Pingerati is run by Technorati and is a service that notifies other services (such as mine) of updates to peoples sites and blogs. 

At the moment pingerati pings me whenever a hCard is updated on a page.  I record this information and only use it in some stats at the moment.

To get your hCard into my stats I would suggest that you simply make sure that you ping pingerati at the following url http://pingerati.net/ping/[url that is updated] (details can be found at: http://www.pingerati.net/about/).  This can be done by configuring your blog writer to include the pingerati ping service with any other pings it does.

I would like to see Microformats being taken up because there are a lot of cool services that can be provided once the data can be understood by machines.

Once topicala has enough information there are some services that I will be adding to make topicala a lot better.

If you are wondering how to make an hCard simply visit http://microformats.org/code/hcard/creator 

tags: , , , , ,