XNA Game Studio Express and Xbox Live Arcade

 For those in the Queensland area please do not forget to have a look at the following post..

Link to XNA Game Studio Express and Xbox Live Arcade « MikeFitz with overflow bit set…

The Queensland MSDN User group is holding a meeting on the 28th of November based on the XNA Framework and Game Studio express, the good ting is that two of the XNA Team are going to attend.

Tues 28 Nov 2006 – 17:30 for 18:00, finishing approx 19:30
QUT Gardens Point Campus, Lecture Theatre S403

  • A brief introduction by Dr Ross Brown to The State of the Games Industry
  • Zsolt Mathe, speaking on Introduction to XNA Game Studio Express
  • Jason Strayer, speaking on Xbox Live Arcade
  • I will have to apologies as I will not be able to attend, the trip from Melbourne to Brisbane is still a bit too far…. but if someone would like to supply me with plane tickets and accommodation I would love to attend.


    Cross Post from Virtual Realm – Mykre’s Space

    XNAPong

    I had a quite couple of hours this weekend so I thought I would have another look at Pong. But instead of putting together one of my own versions (Like most of us have) I thought I would have a look at the tutorial that was posted by David Bailey on XNASpot in the early days of the XNA Framework Beta 1.

    What I ended up doing was doing a straight convert of the code to run under the XNA Framework Beta 2, as well as some other small changes. The first major change was to remove the Keyboard entry system and convert the code to run using the Xbox 360 controller, and the second was to change some of the coding style that was used to be one of my own.

    Over the next few weeks when I get another couple of free hours I plan on doing some more work with the code and add some more features and try and convert the piece of code into a finished product. This will include startup screens different game states as well as scoring. I might even look at some high scores. Along the way though I will write about what I am doing and hopefully turn it into a small tutorial series.

    Here is the link to the Applications Source Code: XNAPong


    Cross Post from Virtual Realm – Mykre’s Space

    XNA Codeplex Roundup for October

    Following up on my last Codeplex Project Round up, I thought I would expand on it and compile a list for the last Month.

    The list I am compiling is just a list of Started projects, in time I will try to set up a list with the progress on each of the projects. Remember that if you do wish to help with the projects you should contact the developers, as most of the projects are accepting help.

    • Section VIII XNA – XNA GameComponents, by Section VIII. A suite of “useful” components like SceneGraph, Camera, Terrain, Model Loaders and so on.
    • MattOfOrion – A turn based strategy game built in XNA for XBox 360 in the tradition of such classics as Master of Orion, Warlords and others
    • Paradox – Paradox is a classic RPG in the style of the original Final Fantasy games. Built on XNA, it serves both as a fun game itself as well as a good way to learn Game Development with XNA.
    • Day Break Motor XNA 3D engine – DBM (Day Break Motor Engine) is a scene-oriented, flexible 3D engine written in C# and XNA framework. It is designed to make it easier and more intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics.

    As you can see the list of projects starting has slowed down, if I have forgotten any projects please drop me a line and I will add them. Note that this list is just for Codeplex and not for Sourceforge or other sites.


    Cross Post from Virtual Realm – Mykre’s Space

    Drawing a Basic Background in XNA

    I have finally finished installing the system on both my work and home machines and thought it was time that I did some playing.

    After playing with the Space War starterkit (Looking forward to some more) I decided to work on a simple sample that would just load a texture to the background.

    The first step is to create a basic application using the main template and making sure that it ran on my systems. When it did run and I got the good old blue screen I wanted to know what the size of the main window was so that I could make sure that my background would draw correctly. To do this I added the following code.

    this.Window.Title = this.Window.ClientBounds.Width.ToString() + "x" + 
    this.Window.ClientBounds.Height.ToString();

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }


    The above section of code was just added to the Update call and changes the windows title to the dimensions of the window. When running the application I found that it was set to be 800×600. But I want to make sure that it uses this size, to do this I used the following lines of code to adjust the back buffer size of the device and therefor force the application windows to run at 800×600.

            public Game1()
            {
                graphics = new GraphicsDeviceManager(this);
                content = new ContentManager(Services);
    
                this.graphics.PreferredBackBufferWidth = 800;
                this.graphics.PreferredBackBufferHeight = 600;
            }
    

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }


    I made the above changes to the Game1 call to set the PreferredBackBufferWidth, BTW If I am doing this wrong please comment. :)


    Now to the Content..


    Using the new Content Pipeline functions I created a new directory for the project called Content and also put another inside called Textures. To this directory I added the background texture that I am using for the background. Because the background file that I am using has a large file name I went into the properties for the Background Texture in the solution explorer and changed the Asset name to Just Background. You will find that by default the name defaults to the full name of the file minus the Path and the extension.


    Next I added the following two lines just under the setup for the main components.

            GraphicsDeviceManager graphics;
            ContentManager content;
    
            private SpriteBatch mainSpriteBatch;
            private Texture2D backgroundTexture;
    

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }


    With the sprite batch and texture objects set up I now needed to assign the values to them and drop them in. to load the content Add the following lines of code to the Load Graphics Content Call.

            protected override void LoadGraphicsContent(bool loadAllContent)
            {
                if (loadAllContent)
                {
                    // TODO: Load any ResourceManagementMode.Automatic content
                    this.mainSpriteBatch = new SpriteBatch(graphics.GraphicsDevice);
                    this.backgroundTexture = content.Load<Texture2D>(@"Content\Textures\Background");
                }
    
                // TODO: Load any ResourceManagementMode.Manual content
            }
    

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }


    Now that we have the Content Loaded we now need to be able to draw it to the screen, Add the following section of code to the Draw Call.

            protected override void Draw(GameTime gameTime)
            {
                graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
    
                // TODO: Add your drawing code here
                this.mainSpriteBatch.Begin(SpriteBlendMode.AlphaBlend);
                Vector2 pos = new Vector2(0, 0);
                this.mainSpriteBatch.Draw(this.backgroundTexture, pos, Color.White);
                this.mainSpriteBatch.End();
    
                base.Draw(gameTime);
            }
    

    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }


    Ok, That’s it, you should now be able to run your application and see your background texture drawn as the background to the application. As I mentioned earlier if any one has some suggestions on how I am doing this please post or contact me.


    BTW: For those who live Downunder I am still working on setting up an Australian XNA User Group, If you are interested you can get in touch with me through my Site www.virtualrealm.com.au


     


    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, “Courier New”, courier, monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }

    Cross Post from Virtual Realm – Mykre’s Space

    XNA and GSE Beta 2 Release

    Today the Latest Beta of the XNA Framework and Game Studio Express where released, Also included in the release was a re badging of the Developer Center and some new artwork for the XNA System. Check out the New Developer Centers Look.

    For those who do not know what XNA and GSE is here is the overview from the Microsoft Downloads site.

    “XNA Game Studio Express enables hobbyists, academics and small, indie game developers to more easily create video games using new, optimized cross-platform gaming libraries based on .NET for Windows and XBox 360. This beta release targets the development of games for Windows. The final version of XNA Game Studio Express will be available later this holiday season and will enable development of games which target Windows and upon purchase of an XNA Creators Club subscription, the XBox 360 as well.

    While we’re very proud of this Beta 2 milestone and it represents full functionality on Windows, it does not include the full feature set for developing, debugging and playing games on the XBox 360. The features specific to the 360 console will become available upon the final release of XNA Game Studio Express later this holiday. This beta also does not include the additional starter kits and tutorials which will be made available upon final release of XNA Game Studio Express and/or as part of your XNA Creators Club subscription”

    Here is the Download Link for the XNA and GSE Beta 2

    Also released with the new Beta is a redistributable that can be used on Client systems, the will help when distributing your applications as the client will no longer need to have the Visual Studio Express or the DirectX SDK Installed. The client will need the DX Runtime though from the latest DX Release.

    “The XNA Framework redistributable provides the necessary runtime components to execute a game on Windows that was developed using XNA Game Studio Express Beta2. Installation of this runtime is not necessary on systems that already have XNA Game Studio Express Beta2 installed. Developers may include this runtime redistributable when they share their games written using XNA Game Studio Express Beta 2, but may not currently be used for commercial applications.

    Here is the Download link for the Redistributable Package..

    Migrating your XNA Beta 1 code to Beta 2

    David Weller has posted a small post that goes through some of the things that are needed to convert an XNA B1 application to B2, here is the Link to David’s Post.

    Here is a link to ZMan’s post on some of the changes from the Beta 1 system to the Beta 2 system. When I get the system installed I will see if I can make any additions.


    Cross Post from Virtual Realm – Mykre’s Space