Welcome to Null City Software
Tasty, tasty software.
 
Null City Logo Home Kitae Breeze Products Login Forums Contact Us About Us
By RobHutchinson on 12th Apr 2010 @ 12:06AM
Kitae sports a variety of complex scene transitions using pixel shaders. These transitions run at very high speed on reasonably modern hardware and can be invoked with very minimal effort. This allows you to smoothly move from one area of your game to another with ease. Simply create two scenes, for example a main menu and an options menu, and then make a call to StartTransition as shown below.

Code:
game.StartTransition(mainMenu, options, new TimeSpan(0, 0, 2), InterpolationMethod.Cubic, new RadialWiggleTransition());

Transitions can be checked and stopped at any point, and the engine will leave your game in a state showing the destination scene. Scenes, layers and actors all still continue to update and render whilst the effect is in operation so animations still show through the transitions.

Supported Transitions

• Banded Swirl
• Blinds
• Blood
• Circle Stretch
• Circle
• Circular Blur
• Cloud
• Crumble
• Disolve
• Drop Fade
• Fade
• Line
• Pixelate In
• Pixelate Out
• Pixelate
• Radial Blur
• Radial Wiggle
• Random Circle
• Ripple
• Rotate Crumble
• Saturate
• Shrink
• Slide In
• Smooth Swirl Grid
• Swirl Grid
• Swirl
• Water
• Wave

Videos
All of the above transitions can be seen in the video below:

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.

Effects
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.
By RobHutchinson on 23rd Sep 2009 @ 08:14PM
The Game Editor application has a fully integrated particle editor which allows you to build and test complicated and often convoluted particle emitter effects on a design surface, rather than in code. This particle system is incredibly powerful, any kind of actor - be it sprite, animation, text, tile map a can be used as a particle within the system and all particles have the same abilities and functionality as any other actor. This of course means you can perform collision detection and other actions against particles. Each particle has a set of controllers which can assist in giving it additional behavior elements, such as physics. Additionally, controllers are also used to manage the lifetime of particles, attaching a LocationCullController object to a particle will remove the particle when it leaves an area specified by the controller and there are plenty of built-in controllers to choose from.

The engine has no problem producing thousands of particles and is quick enough for extreme real-time effects. The editor can be used to build weather, fire, wind, or even water effects.

Screenshots


Videos

By RobHutchinson on 23rd Sep 2009 @ 07:17PM
I've not worked on the engine a great deal recently, as I've been working quite heavily on the game I'm writing with the engine. However, after manually building a lot of the particle effects I wanted to use in the game, I finally knocked that on the head and started working on the main particle building editor for Kitae. I thought I'd share some of the early results. The particle builder is fully integrated into the Game Editor application and allows you to build and test complicated and often convoluted particle emitter effects on a design surface, rather than in code.

The particle system in Kitae is probably not as high performance as others out there, however it is incredibly powerful. Any kind of actor, be it sprite, animation, text, tile map can be used as a particle within the system and all particles have the same abilities and functionality as any other actor. This of course means you can perform collision detection and other actions against particles. Each particle has a set of controllers which can assist in giving it additional behavior elements, such as physics. Additionally, controllers are also used to manage the lifetime of particles, attaching a CameraCullController object to a particle will remove the particle when it leaves the visible camera area. There are plenty of controllers and that's the bit I've not finished yet.

Having said the performance is a bit squiff, the engine has no problem belting out 10s of thousands of particles in tests I've performed myself. It's easily performant enough for most games. You would have no problem building weather, fire, wind, or even some water effects with the system. Hopefully I'll be able to put up a lot more video demonstrations of different effects in the future.

Here's the editor in playback mode.



On my nearly 2 year old PC, the above effect, despite there being thousands of off-screen particles runs at way above 60fps without ever dropping a frame.

This effect is simply two particle types (essentially sprites), one sort of firey smudge, which provides the outer glow, and one thick white fire spark which is the white particles you can see the most of in the image. These are sprayed from the emitter at differing force, scale, direction, etc. All controlled from the editor. So you can play and test the effects as you build. The editor already supports zoom, pan and layer effects so you can look around as you watch and build your particle effect. Here's a video of me doing exactly that in the editor:



This effect was the first thing I've come up with, and did so in about five minutes, so the potential is there already to build some very impressive particle effects. Of course, once you're done with the designer, all you need do is drag and drop the emitter onto your scene and activate it in game, productivity WIN!

One quite important aspect of creating particles with Kitae is the 'spawn rate' - how and when after the emitter is activated should particles begin appearing. Because this is tricky thing to implement yourself and 'spawn one every X milliseconds' is not good enough, I've gone for the most robust approach I could think of - timeline curves! Each emitter either repeats or is one shot. The spawn rate is responsible for deciding when the emitter has completed, and of course you are alerted to this in the form of an event or simply by monitoring the state of the emitter in your game loop.



As you can see, over a set time period, you can adjust the rate at which particles are spawned, allowing you to, for example, launch an arrow every 3 seconds from a trap, or produce a dealy timed flame-thrower effect that the player must avoid. I'm hoping that this along with the diversity of the controller system will allow users to build just about any effect they can think of, and test it without ever having to launch their game.

That's enough jabber for now, I'll put up some more interesting effects once I've gotten a bit further with the editor.
Rob - Null City Admin
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.