Welcome to Null City Software
Tasty, tasty software.
Null City Logo Home Kitae Breeze Products Login Forums Contact Us About Us
By RobHutchinson on 13th Jun 2010 @ 01:36AM
I’ve not updated the blog for a while, but it’s not because nothing has been happening - far from it! In fact, Kitae is still being developed full steam, as well along with other projects which I’ll go into in a minute. This new release provided to the testers today contains a bunch of new functionality that I’ve been meaning to add for a while now. You can now toggle visibility of layers on the scene dock, which allows you to build even more complex scenes without having to fight to select the correct actor with the mouse; this can be seen in the shot below.

Kitae now has a simple storage management mechanism, which deals with a large amount of the grunt involved with cross-platform support for storage devices (namely the storage dialog on the 360). Kitae’s main Game class KitaeGame now has a link to a Store object, which allows you to binary serialize simple flat (graph-less) data classes and contains a mini basic value serializer. It will serialize most of the base types (int, float, long, etc) and some of the commonly used types (Rectangle, Vector2, etc) but will not serialize custom data types. This can be used in the following way in Kitae:

game.Store.SaveFlatObject(myData, “filename.dat”);
game.Store.SaveFlatList<T>(myList, “filename.dat”);

I’m willing to bet, most people can get away with this in their XNA games. Of course, you won’t be serializing complex save state data like this. But for arcade games that basically have option data and maybe some highscores or record times, this is all you will need.
If you do need to serialize more complicated data, you can of course simply use the Xml version of the same function:

game.Store.SaveXmlObject(myData, “filename.dat”);

Simple? Hopefully this will speed up the time it takes people to implement data storage for their game cross-platform. As well as these features more bugs are getting squashed and some of the long-standing issues are being addressed.

Additionally, there have been a couple of new examples since I last posted on the blog, one which shows you how to use this new storage class and one that creates emitter based animated sprites.

And finally a side note about the other projects I'm working on related to Kitae:

When I originally started work on Kitae about a year ago, the goal was not to write a saleable product. It was always simply to build an engine that I would feel comfortable building games on top of, and to provide integration in such a way that doing so could be achieved as quickly as possible.

Every, maybe, 2 months or so in the development of Kitae I come up with some new crack-pot idea for a game. I now have about 5 games in the pipelines which are all yet to be finished and they are being written in tandem with Kitae. While I don’t like having 5 unfinished games sitting there, I think this has greatly improved the quality of Kitae, mainly because it constantly introduces me to things I’ve not yet thought about or missing functionality/functionality that needs work in the engine. Probably the best side-effect of this is that I’m continuously using the Game Editor during Kitae’s development. While it’s not perfect yet, so much of the functionality in the editor is there because I’ve been annoyed by some quirk or have needed some specific feature. Upshot is that these games are basically driving the development of Kitae, that and the bugs the testers are finding.
One of these games I’ve been developing is now roughly 75% complete and I’m expecting to complete work on it in the next 2 weeks. Once it’s nearly complete there will be more information available here and I’ll be uploading it to Indie games for peer review. This will most likely be the first finished game written with Kitae.

As always, if you still want to be part of the beta test, sign up today, there’s plenty of time to participate.

For more updates, follow NullCity on twitter: http://twitter.com/NullCity.
I've not posted for a while, so I thought I'd drop in a quick update before I snooze. I'm now on to the final hurdle for an alpha release of Kitae. Kitae in it's current form has now been in development for about 9 months maybe? I'm hoping to get a working version 1 release up and out by end of January or February 2010. As such, to keep up with that schedule I am aiming for an private alpha and maybe even a public alpha release for early December.

As of writing, Kitae now has at least the basics of everything I wanted it to have in version 1. Obviously there's a few holes, I've not implemented Bloom yet, although I have spent a lot of time getting the effect system working nicely in the past few weeks, so that's all in place now. However I am noticably reaching my target feature list for V1. Kitae has never intentionally been a composite of other game editors on the market, there is obvious overlap with others, but I've basically built in the feature set that I've always wanted access to for writing 2D games. I've been writing 2D games on and off for about 12 years now, and I consider myself to have a reasonable understanding of the developer needs for such games. However this method of development will undoubtably lead to feature holes. That's fine - I expect that, once V1 is out, I'd like to spend a good portion of my time implementing any user feature requests for stuff I think makes sense, and fits into the framework.

What's left is mostly clean up. I need to spend about a week writing documentation for the Game Editor. But expect documentation to be a bit sparse to start with, I'm only one man, and that's what the forums are for! On top of this, I've written down about 40 minor (ish) issues in my fat black book of features/bugs that I've been scribbling in as I've worked on this project. I'd like to resolve a large amount of those, and those that don't get resolved I'd like to transfer to the nice new Forum bug tracker. But after that I'm going to be putting out a release.

I've not advertised Kitae in any way shape or form, and this site is fairly low traffic at the moment, yet I've still had about 10 test requests via the Members section. I'd like to get a good few more than that before alpha, so if you're interested in testing. Please submit a request.

I've spent most of my time recently getting the effect system up and running. So far you've got easy access to Guassian Blur, Refraction and Saturation pixel effects out of the box. That list will extend to a few others including bloom in V1 or very soon after. Of course you can write your own effects and snap them into your game at runtime. Although the refraction effect is based on that supplied with the XNA examples, so you can quickly and easily create all kinds of sworl and distortion effects at design time by specifying a texture to use for displacement (a default is supplied).

All effects in Kitae are post processing. Which means they do carry an overhead. My own tests, on both the XBox360 and my slightly out of date PC suggest this is fairly negligible on the kind of games you're likely to write in Kitae. However it does mean you can apply them at both the layer and scene level. So they are essentially post layer/scene processing, which gives them a great flexibility. Additionally, you can attach as many effects as you wish to any layer or scene. For example, you could apply both a refraction, 2 x blur and desaturation all at the same time on an individual layer. If you apply no effects, layers are rendered directly, so you don't incur the overhead of rendering to an off-screen buffer.
Null City Software
Null City is dedicated to developing top quality sofware products for Windows PC, XBox and Windows Phone. We specialise in games and .NET applications & components.