Galactic Wars (2.0) - Menus

October 14th, 2008 No comments »

I am taking a different approach to the menus in the next version of Galactic Wars (formally known as Galactic Wars 3). The previous version (1.3) used a new sliding menu that shifted to seemingly random points on an image and displayed some text for the point. It made sense since Galactic Wars does take place in space (each menu choice was a star in a galaxy). However the graphics required to do this were a big drawback, even on the Zune. This is because you can’t really have a low resolution image and have to make it much larger than the screen to get the sliding effect to look good. Because the game is going to the PC and Xbox 360 platforms, to carry over this idea would require even bigger images. In the end, it just doesn’t make sense.

So the new idea is to keep it sleak and simple. On the PC/360 version the menus will drill down a little differently but the idea is the same.

<a href="http://video.msn.com/video.aspx?vid=eb945ef8-ae67-45a4-bb83-fe3c17657729" target="_new" title="Galactic Wars - New Menus">Video: Galactic Wars - New Menus</a>

GMS Alpha Available

October 13th, 2008 No comments »

A very early version of Gato Muy Splato is now available for download one the Zune Games page.

Building an Xml Serialization Provider

October 13th, 2008 No comments »

While building Galactic Wars 3 version 2.0, I quickly ran into a serious problem with Xml serialization and more specifically deserialization. A few months ago I rolled my own solution for serializing data to and from Xml because the built in classes were bloated and yet not feature rich. A week or two ago I managed to get my class (XmlProvider) to compile for the Zune and Xbox 360. But there was still a problem…

  1. References

    The first problem (the reason for the creation of XmlProvider) was that the built-in classes could not handle references. Every object had to be serialized straight through from top to bottom. Thus if you had an object with two properties that referenced the same object (in memory), the object would be serialized twice.
  2. Inheritance

    The new problem is that with XmlProvider, deserialization was based on the information given by property attributes in your code. This is limiting because you may not know at compile time what exact type of object your property will be holding a reference to. In Galactic Wars 3 this is a problem when I am saving the profile of the user and want to save his specific ship.

So what is the solution? Start from scratch of course and solve these two problems at once! The first one is easy: provide a mechanism with which to uniquely identify any objects in memory and in Xml. We can then build a cache which we can reference from as we find objects with references. The solution to the second problem is also simple: rely on the type name in the Xml rather than the type on the property’s attributes. » Read more: Building an Xml Serialization Provider

FGF 1.2 Available

October 4th, 2008 1 comment »

Get it on the FGF page! This should fix the problems from the previous version.

Thrust v1.2

October 4th, 2008 No comments »

Before people start reporting problems with Thrust v1.1, let me say that version 1.2 is already on its way. I have caught a few bugs in the InputManager that are demanding a quick release. I will also be including some new GUI functionality.

In the meantime, catch up on the tutorials and samples about using the Focused Games Framework.

Advanced State System: Queues and Removal

October 1st, 2008 No comments »

During the last part of this little article series I mentioned how I used a queue in each state object to allow for continuous transitioning to occur. The reason for this is to allow for complex transitioning to occur. One example for this is a logo screen where it needs to fade in, stay on screen and then fade out again. Rather than relying on managing the states manually, we can add states on to a queue so they occur automatically.

» Read more: Advanced State System: Queues and Removal

Advanced State System: Concept and Base

October 1st, 2008 1 comment »

There comes a time when simple state management just will not cut it anymore. I found this out while building up the code base for Thrust’s GUI library. As the objects on the screen became more complex, so did their states. This article covers a new way of thinking about an object’s state, a design that has been proven in Thrust (v1.x). The goals of this state system include the following:

» Read more: Advanced State System: Concept and Base

FGF Beta, Folder Kill Installers

September 30th, 2008 No comments »

I have put up a new version of the Focused Games Framework for download. This release includes Thrust v1.1 and Vodka Alpha files. I have also released X86 and X64 installers for Folder Kill. Below is a more complete list of the changes made.

Thrust

  • Created Content Pipeline Project
  • Terrain Content
  • Cleaned some StateObject & Menu code
  • Added repeat states for GamePad
  • Added Xbox 360 projects
  • Added Camera components
  • Added Console component
  • Diagnostics
    • Added Stats component
    • Added Thumbstick Throttle Component

Vodka

  • Created core Vodka project
  • Added core interfaces
  • Implemented a few providers
  • Added Services project.

Finally, I urge you to keep an eye on FGDN as I continue to add to it over the next couple of months.

Donation Time!

September 27th, 2008 No comments »

Ziggy of Ziggyware, as many of you know, has been hit really badly by the latest hurricanes and storms. Please consider taking the time to donate a few bucks to help keep his site and contests alive. If you do not care for donating, perhaps now would be a good time to buy an XNA book from Amazon through his site’s many book links. You can read more on his website.

Galactic Wars 3 v1.3

September 25th, 2008 No comments »

I have upgraded GW3 for Xna 3.0 Beta and Thrust v1.1. I have included a fifth level that should be very hard and attempted to fix a few bugs. If you run into any issues, please do not hesitate to let me know. You can download the GW3 source code from the following link:

Galactic Wars 3 (8551) - 7.46 MB