XNA, Managed DirectX and Game Programming

October 2006 - Posts

Wacom Tablet and XNA

Last night I received my graphics table, Thanks to Wacom. Although I did not really have time I thought I would give a quick going over. For starters (Before Kids Bath) the Tablet installed really easily and went in with out a problem. After Tea, I got another few minutes with it and fired up Photoshop to see what it could do...

Then after the Kids went to bed I finally got some time to sit down, Looking at the bare roots of it the system basically imitates the mouse so my next challenge was to see if I could get it running with XNA. To do this I started a basic application Added my Mouse Component to the base and compiled..... the next thing I new I was controlling the Mouse with the Tablet inside a full screen XNA Application.

Of course moving the mouse or sprite was one thing but the next was to see if I could get a basic game together that would use the tablet. So today I have been playing around wit some different base games to see what I can do. I hope to post more soon.

Cross Post from Virtual Realm - Mykre's Space
XBox 360 Fall Dashboard Update

The fall update for the XBox 360 dashboard will be going through tonight at 21:00 hours Melbourne Time. Here is the official Announcement from Major Nelson, and the Press Release on XBox.com.

One of the main things that I am looking forward is that the update includes support for the upcoming release of the XNA and Game Studio express systems, as well as video playback from various sources (Read the full list of changes). 

Cross Post from Virtual Realm - Mykre's Space
The ZBuffer : Early details of XNA beta 2 from Code Camp Seattle

The Zman has posted some notes on the up and coming XNA GSE Beta 2, these notes where taken while at the 'Code Camp Seattle'.

Included in these notes is some information on some downloadable Starter Kits including one that the Zman is working on. 

Link to The ZBuffer : Early details of XNA beta 2 from Code Camp Seattle

Cross Post from Virtual Realm - Mykre's Space
XGameLineInput Component

One of the things that most games will need is a way for the client to enter there name or other details. Reading the MSDN Forums this morning I came across a new component site that has posted an Input Component.

"What is it ?
XGameLineInput is a GameComponent for the XNA framework that provides the programmer with
the ability to allow for text entry in their game without the need for a keyboard."

This is a small component that I will be looking at and seeing what projects I could use it in. BTW The author has requested comments on the project.

Link to XGameLineInput Component

Cross Post from Virtual Realm - Mykre's Space
XNA Performance and the SpriteBatch

Over the last few days I have been helping someone with a small application and some performance issues with it. When looking at the code I found that the application was calling several sprite batches. To test the effects of running multiple batches I put together a base application that did nothing fancy.

The basic layout and functions in the application included the default application template with events added to the base for the loading of managed and non managed resources. To test the performance I added three sprite batches (background, main, and UI). Testing was done by disabling all of then and building the app, then in turn adding one in between builds. While the application was running I just did a simple check on the processes tab in the task manager and recorded the memory usage of the application.

When testing I found that each time I added another sprite batch to the code the memory increased in the usage...

  • 0 sprite batches configured - 16920
  • 1 sprite batch configured - 19744
  • 2 sprite batches configured - 20172
  • 3 sprite batches configured - 20640

When testing the system all of the results where expected and the main purpose of the application and the tests was to prove a point. In summary we really need to look at our applications and make sure that we are only making calls that are needed. In the case of the sprite batches, why do we have multiple batches? Can we do it all with just the one batch?

When developing with MDX I used to used multiple calls to the sprites, but during the stages of the managed DirectX system a 2d Sample was released that showed a method to batch the sprites. From that point on I began to batch the sprites into the one call... and now with XNA I do the same.

On a Side note I am still working on Setting up an Australian based XNA User group, those who are interested can contact me through my site www.virtualrealm.com.au.

Cross Post from Virtual Realm - Mykre's Space
GRAW 2 Takes Aim

Going through the normal blog and forums search for new and information I came across an article on IGN regarding UBISofts earnings Statement.

Over the last couple of weeks I have really gotten into playing GRAW, included in the statement was a reference to GRAW 2.

"The company also announced that anticipated sneak-and-strike action adventure Assassin's Creed and sequel WWII shooter Brothers in Arms Hell's Highway will not be released in the fourth fiscal quarter. Instead in that timeframe Ubisoft will offer Ghost Recon Advanced Warfighter 2, the sequel to the future-soldier first-person shooter. This means we'll see GRAW 2 before the end of March 2007. No further details on GRAW 2 were available at this time."

This now makes it easy for me to decide on the game to buy that month :), I will have to keep a watch on what is happening with the Title.

Link to IGN: GRAW 2 Takes Aim, Assassins Waits, More Wii from Ubi

Cross Post from Virtual Realm - Mykre's Space
XNA and GSE Beta 2, using Oct DirectX SDK and Vista

Microsoft have announced that they plan to release the next beta of the XNA Framework and Game Studio Express. We should see this release over the next few weeks.

"One of the most popular requests has been for a second beta and on behalf of the XNA Game Studio team, I’m pleased to announce that we will indeed be releasing another beta of XNA Game Studio Express and that it will be available in a couple weeks. ", Michael Klucher

You will be able to use this release with the latest version of the DirectX SDK.

"Works with new DX SDK? Yup (remember, all you optionally need are the audio/image tools, so there’s no real dependency)", David Weller

Please note that the XNA System and the Game Studio Express system is not supported on the Vista OS. There have been cases where people have been able to get it running, but it is unsupported and not advised.

"However, even if you were successful, it is STILL an unsupported OS at the time.", David Weller

I know that there are people out there that want to get the Vista OS Running, but for the time being we are just going to have to wait.

Cross Post from Virtual Realm - Mykre's Space
Posted: Wed, Oct 25 2006 12:18 by Glenn Wilson | with no comments
Filed under: ,
Using VB.Net for XNA Development
For those who are or would like to use VB.Net for XNA Development have a look at this site.

http://www.alanphipps.com/VisualBasicdotNET-XNA.ht...

Alan Phipps has started working on a series of tutorials using VB.Net and XNA, so far there are the basic steps like creating the main device and displaying textures... but the most inportant one is the first one "How to set up and configure VB.Net to use XNA"

Cross Post from Virtual Realm - Mykre's Space
Migrating from SQL Express to SQL Server 2005 Part 1

I have been reading several posts in the Forums where people are having trouble migrating there data from SQL Express and the Visual Web Developer onto a full version release of the software (SQL Server 2005 Workgroup, Standard or Enterprise).

Attaching the Database Files

This is actually an easy task and can be completed in several ways, the main method is to just attach the files to the database server. In many cases this can be an easy task, but it you need make sure that you have access to the server on a file level as well as the database. To use this method you would take the MDF and LDF files and copy them to the server making sure that you locate them in the correct directories on the server.

Once the files are located start up the management studio and connect to the server. Next step is to expand the tree so that you can see the database item, right click on this item and select Attach. This will open the Attach Database Dialog, select the Add button and browse to the location of you MDF File. Note that at this point you do not have to select the LDF File as if the file is in the same directory it will automatically be added to the dialog. The next step is to change the name of the database that you are attaching, by default the file is attached and the name of the database is set to the full name and path to the database files. This makes the Database name long. To change this in the Attach Database Dialog change the Attach As label to the name of the database (This does not need to have the full path to the file in it only the name of the database).

I Have used this method several times with out any major problems. One thing that you will have to remember is that you will have to change your connection strings to reference the new server.

Sometimes when I have used this process I have come across a problem where the database has no valid owner. To fix this I have written another post that may help, here is the link (http://www.virtualrealm.com.au/blogs/mykre/archive...).

Cross Post from Virtual Realm - Mykre's Space
Database does not have a valid owner
I started to do some work with a SQL Express database that I received from another person. The problems started when I tried to add a Database Diagram to the project. Normally when you do this you do need to create the diagram objects in the database, but this time I received an error message saying that the database did not have a valid owner.

Here is a copy of the error message that I received.

"Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects. "

To fix the problem I first needed to attach the database to the management studio, this can be done in either the full product or the SQL Express Management Studio. Then by going to the properties for the database with the problem and selecting the files tab, change the owner to the [sa] account and select apply. Or you could use the following script.

 

USE [<DatabaseName>]
GO
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false
GO

Cross Post from Virtual Realm - Mykre's Space
Making SQL Express run on Windows Vista

The SQL Server Express team have published some instructions on getting SQL Express SP1 running on Vista. Note that the RTM Version will not work as there are some known Issues, but the SP1 Install will work for Testing purposes. According to the Post Official support for Vista should be with SP2 of SQL Express for which a CTP should be released soon. 

Link to SQL Server Express WebLog : Getting things working on Vista (aka - Dealing with User Account Control)

Cross Post from Virtual Realm - Mykre's Space
Starting to Test Vista

Over the last few weeks I have been using Vista more in a hobby sense, and as the XNA Framework and GSE are not supported on Vista in there current state I have not even taken the plunge on my home machines. But over the last few days I have seen posts about using XNA on Vista and decided that it was time to start testing. (This testing would also help with work, currently testing with Windows Vista RC2).

Over the next few months we are planning on rolling out some new desktops around work and as the release is coming soon I thought that I should test the apps as the clients would like to move to vista. So in summary, I have several MS Applications to test including SQL Server 2000 applications, and several third party applications (These include JDE, and some apps specific to our industry). I do know that some of the apps we use are having problems with IE on the Windows XP System, and these do need to be fixed before we can move forward.

The first step was the install of the base image. The base install went through fine and we did not come across any problems, it was quick and simple. Next was to add it to the domain and see what happens. After adding the machine to the domain using the base install it connected fine, but we got the security messages when the Group Policy and registry changes were made during the log on process. We will have to look at this when deploying our SOE to the clients. What I might try over the next few days is to package it up the same way we currently do for our Windows XP Images.

Cross Post from Virtual Realm - Mykre's Space
Playing with Particles

With my entry into the xbox360homebrew Competition I was looking around to find a different ay to explode my Player. Some of the examples that I have found are just using simple animated sprites. One of the examples that I did find was the Blocks sample from Matt Guest of xnaexplorer.com. In his example he uses a simple particle engine/system to explode the blocks as you complete the puzzle.

Looking at his code I have taken it apart and decided that I can use parts of it in my Application, or at least the idea of it. For the moment I still want to try and speed up the code before I release it. On my small notebook the particles are drawn using sprites and when I add about 1000 sprites the system starts to slow down... Now I know that 1000 sprites is a lot, but I still would like to look at the code to see what else I can do.

One thing that I would like to have a go at is adding some collision detection to the particles so that they will interact with the other objects in the scene, this will include having them bounce off each other if they collide.

Cross Post from Virtual Realm - Mykre's Space
Blog Migration DasBlog to Community Server

In the beginning I started using Community Server which was hosting my www.ircomm.net web site (Which is now Inactive). Then due to some unforeseen reasons I had to register a business and get a Domain to match, at that time I chose to go with Dot Net Nuke and DasBlog for my blog. Over the last few weeks since the release of the XNA Framework system I have returned to Community Server.

To complete the task I have started the migration of the content to the new www.virtualrealm.com.au site, this includes the article and blog content. To do this I was looking for an easy way to move the blog content over, what I found was BlogMl. In the first stages there was no tools that could be used for the conversion on CS 2.1 so I tried to integrate the 2.0 tools for BlogML... They sort of worked in the dev environment. But just before I was ready to move the tools for CS 2.1 were released.

The next stage was to get the content out of DasBlog. To do this I came across some other users who had attempted the move and got a copy of there tools, but this still only worked for BlogMl 1 and the CS tools where for BlogMl 2. In the end I recompiled the tools I had to convert the DasBlog Content directory and then used the XML Notepad to make the final changes to the XML Document.

For now most of the content has been migrated but I still need to go over the code and change the links... might jump into this over the weekend. If any one does want to talk more on what I did to convert the code drop me a line and I will try to help.

Cross Post from Virtual Realm - Mykre's Space
Ido Samuelson's blog : XNA Lode Runner 360 - progress

I was doing some quick searches before I crashed for the night and came across a Lode Runner Clone in progress. On the blog there are several screen shots showing the progress of the game... But I have yet to find a link to some source or the game, hopefully we will see some soon.

 

Link to Ido Samuelson's blog : XNA Lode Runner 360 - progress

Cross Post from Virtual Realm - Mykre's Space
Michael Klucher's XNA Blog : Software you use for creating content.

The XNA Team are looking for information on the different types of Content development tools that you use, the information will assist the testing teams to make sure that they test a large variety of tools for the XNA Content Pipeline.

To make sure that we can get a full list of the general tools used please reply to Michaels post on his Blog. 

Link to Michael Klucher's XNA Blog : Software you use for creating content.

Cross Post from Virtual Realm - Mykre's Space
XNA Keyboard Component

With one of the current projects that I am working on I needed to have some basic Keyboard input systems. to Help with this I started to look at the XNA Documentation that is included in the XNA Framework and GSE downloads. After geting the keyboard systems from the samples intergrated into my application I thought that the base was good enough for a small Keyboard Input Component. (http://www.virtualrealm.com.au/forums/thread/54.aspx)

The code is ruff but at the moment it does the job, Over I time I might do some work on expanding on it. If anyone has some ideas on it please post your thoughts.

Cross Post from Virtual Realm - Mykre's Space
Posted: Sun, Oct 15 2006 8:28 by Glenn Wilson | with no comments
Filed under: ,
XNA Stones

I just want to welcome back Jason to game development, it has been a while since we have seen any game content from him but it has started to flow again. Jason is currently working on a small clone of a Bejeweled type game called Stones.

He is also still working on he Space Balls program for the GWB Contest, although now he has started to convert the code to XNA. In the process of his work he mentions that he will plan on doing some webcasts.

"At the rate I'm going though, it might not actually take that long for me to get back to where I was when the GWB game development contest finished. Hopefully then I'll crank through the tutorials/Screencasts. I'm currently shooting for sometime around Christmas time, but it might be afterwards."

 

Cross Post from Virtual Realm - Mykre's Space
Posted: Tue, Oct 3 2006 22:04 by Glenn Wilson | with no comments
Filed under:
XNA Codeplex Project Round up for the last Month

I was looking over the list of Codeplex Projects and thought that I might put together a list of the current projects that are using the XNA Systems.

  • eXperience - eXperience is a project which main goal is to centralise as much as possible open source XNA Game Components to be used by Game developers using XNA Game Studio.
  • www.XNADev.ru - XNA projects of first russian XNA community www.XNADev.ru
  • Xngine - Xngine is a casual game engine made of XNA component, each component can be reused to as it si to build different application like 3D renderin view, but all toghether they make a RAD for casula game with XNA.
  • Lunar Lander Evolved - A simple Lunar Lander game clone which provides two modes: A traditional sprite-based 2D 'Retro' version and an 'Evolved' shader-based 3D version.
  • Spark Engine - A small game demo writen using XNA with simple particle engine, collision and physics with basic position and velocity equations using gravitational force between most particles on screen.
  • RavenXNA - Raven is a full fledged Game engine previously based upon FlatRedBall 2.5D engine, but now due to the release of XNA we are moving towards a more Game Component based Game Engine. Build solely on Managed DirectX and C# we hope to build a game engine that makes it easy for small time developers to create games they love and like.
  • Farseer Physics Engine - The Farseer Physics Engine is an easy to use 2D physics engine designed specifically for Microsoft's XNA platform. The Farseer Physics Engine focuses on simplicity, useful features, and enabling the creation of fun, dynamic games.
  • Xymus - Xymus is a project intended to illustrate the utility of XNA Game Studio in making a small game.
  • XFinity - XFinity is a game engine created using XNA.
  • XNA Paralax Engine - XNA Paralax Engine is a 2d Paralax scolling component. This project is designed to enable developers of XNA projects to easily use and create games that have scrolling backgrounds without the need to devlop complex scrolling management systems.
  • Mercury Particle Engine - A 2D particle engine component for Microsoft XNA. Features 7 different emitter shapes - Point, Spray, Circle, Ring, Spiral, Rect & Frame. Emitter presets - create a working emitter with a single line of code! Flexible scale, rotation & colour variation based on definable curves.
  • XGameInput - This is a simple XNA Game Component that provides the user with a single point of access to user control input via the gamepad, keyboard or mouse. I plan for this project to evolve into a game framework targetting mainly 2D game development.
  • Slime Volleyball XNA - I'm updating/porting the java "classic", Slime Volleyball to XNA for use on the 360 and the PC.
  • S2Engine - S2Engine is a XNA based game engine with Scene management support and Scene Components based on XNA Component Model.
  • xgo - An implementation of the game Go, using the .NET framework, and the XNA framework.
  • Planet Command - Planet Command is a simple 3D game inspired by the classic game Missle Command. It is written with C# using the XNA Framework and targets both Windows and Xbox 360.
  • Flamen - Flamen is a 2.5D platform game based on the FlatRedBall engine. It's a no-violence game, where the story unfolds as it's uncovered by the player (and it is based on the true story, about pyramids and their hidden secrets described here: http://www.projekt-cheops.com/). The game will be a mix of platform and RTS games. We will use our regional folklore and legends, and also in the first few levels we will make use of local places - castles, churches, ruins and secret mystic places.
  • Rayging - Rayging is set of tools for realistic 3D games. Currently, it composes of a ray tracer and a neural net designer. It is written in .NET.

 


Cross Post from Virtual Realm - Mykre's Space