Michael Quandt

UTS MSP

Dark Omen Games Website Re-Opens

clock January 4, 2009 00:21 by author

Just wanted to announce that Dark Omen Games, a collaborative little game studio that now has about 5 members including myself, has a new website/blog.

Here we will post any games we are developing under the DOG banner, as well as anything else appropriate. You can find the site at http://www.mquandt.com/dog, and hopefully soon that will become a proper domain. (Once we get our old one back)

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Scalars & Vectors

clock December 24, 2008 21:45 by author

Please note that I will first explain what each concept is, and then I will write up how to calculate/get each concept afterwards.

A scalar is simply another name for a number, however it uses that name to indicate a difference between a Vector and a single number. (Or other mathematical structures)

In the field of game programming, Vectors play a key role in almost every aspect. In its simplest form, a Vector is a collection of 2 or more scalars that indicate a point in space, relative to the Origin [3D=(0,0,0) | 2D=(0,0)]. Each scalar in a Vector is called a component, and indicates the distance along the corresponding axis from the origin. For example, the Vector (9,5) is 9 units along the X axis, and 5 units along the Y axis. Vectors can be used to indicate positions, directions, and many other things. It all depends on the context, and what the Vector is relative to. (World/Local space)

Vectors in pure maths generally refer to a direction rather than a point, however in computer graphics we use Vector structures to represent a point. We can view a point as the end of a direction from the origin, however when written, points usually are written with parenthesis (0,0) and Vectors are usually written either using angle brackets <0,0> or in component form, where each part (component) of the Vector exists as the coefficient of a unit vector pointing along the corresponding axis. [More on Unit Vectors later]

For example, the Vector <9,5> can also be written as 9x + 5y.

The accepted way of indicating something is a Vector in digital form (as opposed to written on paper) is to bold the vector, for example i.

So now that you are most likely confused, let us move on to Unit Vectors. A Unit Vector is a vector with a distance of 1. This is the way you represent an axis in Vector form. For example, the unit vector for the X axis in 3D space is <1,0,0>. You can see that in our component form, the scalar co-efficient of x is 9, which is the distance along the X axis.

Key to getting the Unit Vector, is a concept called Magnitude. This is represented by two bars on each side of the vector. The magnitude of the vector is a scalar representation of the distance from the origin, so if  you need to find the distance of a Vector from the origin, you are simply calculating the Magnitude.

The magnitude is found by applying the distance equation between the Vector and the Origin. The distance between two vectors is found by taking the square root of the squares of the difference between the corresponding components. Quite a mouthful, isn’t it?

To find this in code, we use the following:

public double Distance(Vector3 i, Vector3 j)
{
    double x, y, z;
    
    x = Math.Pow((i.X - j.X), 2);
    y = Math.Pow((i.Y - j.Y), 2);
    z = Math.Pow((i.Z - j.Z), 2);
    
    return result = Math.Sqrt(x + y + z);
}

In Mathematical notation, this is just:

Distance Function

So for magnitude, where we are getting the distance between the Vector and the origin, we are subtracting 0 from each component, which simplifies the equation down to:

clip_image002[13]

So now how do we use the result of this to find the unit vector? Well the equation for a unit vector is clip_image002[15]. This pretty much means that we divide each component of our vector by the magnitude of the vector. This is what we do to “normalise” a vector, and this allows us to multiply the vector by a number and not change its direction.

Remember that Vectors are a way of representing many things, although the common definition is that they represent a direction combined with a magnitude, which we can use to get a point, as if we moved the point from the origin along the direction using the magnitude. It is all about context, and that determines how you use the vector and its components. For example, a normal is a vector which indicates the direction perpendicular to the object’s tangent. (A tangent is a vector parallel to the line/object)

Another calculation common in computer graphics that uses Vectors is the Dot Product. This is a multiplication of two vectors which gives a scalar value that can indicate many things, usually though it can be used to get the angle between two vectors. The dot product is rather simple, you multiply each component of a vector with the corresponding component in the 2nd vector, and then add the result of each of these multiplications together to get a scalar value.

Dot Product

We can use this and:

Angle to Dot

to find the angle between the two vectors. After rearranging we use

Dot To Angle

(Note that the cos is simply ArcCos)

I hope this has explained what a Vector is and some key aspects about it, if you have any further questions leave a comment. Comments and criticism welcome. I plan to write another post on Matrices, with a focus on their application in computer graphics.

If I have missed anything, just tell me in a comment and I will add it in a later post, this was written after a nice lunch on Christmas day, and I am a bit tired now.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Windows Update: 8024420C

clock December 24, 2008 04:21 by author

Just got a new computer the other day (info coming soon) and only had a disk for Vista x64 RTM on hand. I loaded that on and attempted to use Windows Update to move to SP1 when I was presented with the error: 8024420C. Now I have had this error before on a previous system, however I forgot how I solved it, although I thought it was solved by downloading the offline install of SP1 and running that.

So I did that, and upon booting into SP1, found the error was still there. Much searching later I found that the error has to do with proxy settings, with suggestions like ensuring “Automatically Detect Configuration” is on in the LAN settings on Internet Options, amongst other things.

The issue here: I am not on a proxy. So after much effort searching (to no avail) I did what I usually do – suspect the firewall.

Turning off Windows Firewall gave me an immediate response, my updates now worked! Turning the firewall back on gave me the error again, and so I realised that Windows Firewall was the sole culprit here.

Morale of the story? I guess there is none, thankfully I have a NAT to protect me, and hopefully Windows 7 doesn’t have this issue.

On that note, word is that Windows 7 will enter full public beta early Jan, open to all, so if you are daring (or have a VM), give it a try, and give feedback!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


NXE + Gamercard Widget

clock November 19, 2008 01:35 by author

The NXE is finally out! The next time you switch on your Xbox (if you haven’t already), you will be prompted to update.

So now I must say, welcome to the NXE. I successfully got it from the second round of the preview program, and have been enjoying it since. It is a great change that really gives a new breath of life to the Xbox 360.

Whilst I was sitting on twitter and watching my friends login and gain the download tonight, I wrote up a small widget for BlogEngine.Net that displays your GamerCard, provided by MyGamerCard.Net.

If you want it for your own blog, you can download it from here. Instructions are in the archive.

(Or from my Skydrive)

On another note, A Kingdom for Keflings was released for Arcade, which takes advantage of the avatars you create when you download the NXE.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Move Complete – Software Updated

clock November 17, 2008 21:51 by author

I recently finished my server platform move with my hosting company, and now am working to get my site hosted on IIS7+Server 2008.

I have decided to shift my MVC efforts from a website like this to another area, probably a portal for UTS MSP.

In the meanwhile I have also updated to the latest version of BlogEngine.net and hope that there are no issues. ;) If you notice anything, leave a comment.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Moving Servers

clock November 3, 2008 02:53 by author

I am currently in the process of working with my webhost to move my site over to their new platform. The benefits of this means I can use subdomains properly (I think) and they promise me that I will be on the Windows Server 2008 platform, which means IIS7. :) (That lets me use things like the URL rewrite module)

Due to the inspirational talk by Scott Hanselman at TechEd Sydney 2008 I am also considering using Asp.Net MVC to create a new blogging/content platform to replace BlogEngine.net on this website. Currently BlogEngine.net is serving me well, however I do like to write my own, and I would prefer to bake in a good page system rather than adding to a token implementation on a blogging platform.

More info once I make the move, and once I get started on the project. Might even make a small screencast or write a tutorial on it.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


XNA Game Studio 3.0 is here!

clock October 30, 2008 18:27 by author

Just in time for developers to polish their games for Community Games, XNA Game Studio 3.0 has been released. There are numerous changes, however the most important ones are:

  • XNA Game Studio 3.0 now supports Visual Studio 2008 (all editions), however it does not support VS2005 anymore, so ensure you upgrade!
  • Friend Invites over Live – Add the ability to let players invite their friends on the Xbox/G4W Live network.
  • Automatic Asset compression – this one is obvious
  • New Media system – now you can add MP3 files to your content folder and play them using the new Media namespace.
  • Zune support
  • One Click installation for Windows games

Remember, if you live in the USA and some parts of Europe, Xbox Live Community Games will be released with the New Xbox Experience on the 19th of November.

Download XNA Game Studio 3.0 today!

Update: From the updated FAQ:

“Creators Club Premium members in the U.S., Canada, United Kingdom, France, Italy, Sweden, Norway, Netherlands, Denmark, Ireland and Spain will be able to sell their games. We'll be adding support for other regions later in 2009 and beyond but these are the only countries where XNA is enabled to pay their residents.”

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Halo 3 Expansion?

clock September 25, 2008 05:50 by author

h3_exp_cap1

After a 12 hour long countdown on the Bungie website today, Bungie has released a teaser trailer for their next project, which is set in the Halo Universe.

The teaser trailer, entitled ‘Keep it Clean’ is very vague on details, however the keen eye will notice that it is in New Mombasa, the city destroyed in the beginning of Halo 2, and the fact that this game is still a part of Halo 3.

 

 

 

snapshot20080926003655The trailer opens to cameras showing an evacuated New Mombasa. Then it cuts to some drop pods falling in the outer atmosphere.  The streets are deserted, as shown by the camera ‘Lubamba’ and there is a space elevator in the distance, as shown by camera ‘Mbaraki’. The camera cuts to thousands of drop pods falling in the distance, and focuses on a small group, before a large explosion (presumably the warp in Halo 2) occurs, destroying the city.

 

 

 

snapshot20080926003817 The AI and cameras reboot to show a destroyed city, however when the camera Mbaraki reappears, you see a single drop pod falling towards the city. It cuts to Halo 3, before showing the pod from a different angle, as it smashes past the camera. Then it cuts to black  and reads: “Prepare to drop”, before jerking around a bit more and reading Bungie, then showing the standard Xbox 360 clip.

 

 

 

Here are some more screenshots from the video. Note the entire trailer is pre-rendered, click on the thumbnails to get a hi-res version of the screenshot.

snapshot20080926003830 snapshot20080926003836 snapshot20080926003958 snapshot20080926004316

You can view the trailer for yourself, just head on over to Bungie.net and download it in either Quicktime or WMV, Small Medium or Large.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Dreamspark out in AU

clock September 7, 2008 04:33 by author

So TechED Sydney is over and I now have the time to post about the big announcement for students that came out of the event. On Tuesday Microsoft held TechEd Student Day, a free day for students to come along and sit in on a series of presentations geared towards students, TechEd style.

Aside from that, every University student who attended the University half of the day received 4 DVDs full of free software, ready for use. Now if you could not attend this event, do not fret, this is all available for you as well (if you are a student), however you need to download it for yourself.

Head to https://downloads.channel8.msdn.com/ and Sign In with your Windows Live ID, and then verify your student status and you can get your keys and downloads for all the software listed. This includes:

  • Visual Studio 2008 Pro
  • Visual Studio 2005 Pro
  • Windows Server 2003 Standard
  • SQL Server 2005 Developer Edition
  • Microsoft Expression Studio
  • 12 Month XNA Creators Club Trial
  • XNA Game Studio 2.0
  • Virtual PC 2007 (Great for use with Windows Server 2003)

Grab the downloads, grab the keys, and start making cool things with this free software. Anything you make can be distributed with a non-commercial license, so get to it!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Spore

clock September 7, 2008 04:23 by author

The game enjoyed an ‘early’ release in Australia, I picked it up last week and had loads of fun! For those who do not know, Spore is the latest game from the genius game designer that is Will Wright. Here he has taken his Sim style of games, where you create more than you destroy, and expanded it more than ever.

Now you can create life from the cellular stage, modifying your creature through some really intuitive and powerful tools before you get to the tribal stage where the game turns into a little version of Populous. (Also created by a game design genius, in this case, Peter Molyneux)

The game is lot of fun and I would recommend it to everyone, however I do have some issues with the DRM the game uses to fight piracy. Electronic Arts decided to use Securom to ‘protect’ the game after a large amount of backlash came from their idea to have people activate every 10 days. Now the game activates upon installation, however there are a limited number of activations possible before you have to contact customer support to reset your counter. In my opinion this does more to hurt the legitimate consumer than it does the pirates, as the scheme has already been cracked.

Those issues aside, the game runs great and is lots of fun. On the technical side the game makes heavy use of procedural generation, for textures, models, music and animations. The use of procedural generation allows people to share their creations using a small file that weighs in at less than 100kb. (In most cases 20-30kb)

Maxis have also developed an innovative way of sharing the content. Inside your ‘My Documents\My Spore Creations’ folder, you will fine png files that are 128x128 and contain an image of the creation. This is actually all the data the game needs to generate the creature/ship/vehicle etc. To share this, you simply give the png to others and they put it in their folder, and it is ready for use. The bonus of this is that because it also contains the thumbnail, you can easily create a small gallery for people to browse.

Blaggaboxers (2) The Propagandinator Mr Partytime

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5


Gamercard

About the author

Michael Quandt is a Student at the University of Technology Sydney. He is also a Microsoft Student Partner. Passions include DirectX, Managed Code, C#, XNA, and gaming.

Page List

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in  anyway.

© Copyright 2008

Sign in