Welcome to Null City Software
Tasty, tasty software.
 
Null City Logo Home Kitae Breeze Products Login Forums Contact Us About Us
I'm very happy to announce the development of Kitae. A new rapid development 2D engine for XNA that enables 2D game developers to build games for both Windows and the XBox 360. The engine is currently under heavy development and will be released within the next 3-4 months.

If you are interested in 2D game development and particularly XNA game develepment. We are looking for beta testers for the Kitae application which will go into beta phase within the next month or so. If you would like to test the application you can submit a request to test over at the also newly introduced Members section of the site.

Check out Kitae over at the the new Kitae Section.

About Kitae
Kitae is a rich, rapid development 2D in 3D game engine for use with the Microsoft XNA platform. Kitae provides a rich application development toolset that suplements Visual Studio or Game Studio Express, allowing you to concentrate on the design and logic of your games without having to worry about the grunt work. Kitae is feature rich, allowing you to create just about any game you can imagine with relative ease. Kitae is not a Game Maker and is not designed to remove programming from the equation. Kitae is a powerful asset management system and middleware engine that facilitates modern 2D game development for both Windows and XBox 360.

Screen Shots

Rob - Null City Admin
By RobHutchinson on 26th Jul 2009 @ 03:41AM
Kitae has it's own implementation of Sprite Fonts which are not directly compatible with XNA sprite fonts. However, the Kitae fonts are more powerful and configurable than the built-in alternatives. Fonts of any kind can be created; you can either build an entire font from scratch using individual graphics for each glyph you intend to use, or alternatively, you can base your font on an existing True Type font and then tweak it.

The Game Editor's font wizard provides a simple interface to building beautiful fonts from True Type system fonts. You can visually pick a font, effects, textures and various options to create stunning fonts in minutes. See the screenshot below.

Fonts can be used with TextActor objects to create text on layers in your scenes.

Screenshots
By RobHutchinson on 02nd Jul 2009 @ 08:15PM
Hopefully this section will answer any queries you might have about the Kitae product at this stage of development. If you are interested in Kitae and your question was not answered here, drop us a line using the Contact Us form and let us know.

Engine

Q. Is the engine 2D or 3D?
A. The engine is "2D in 3D". It is 3D projected into 2D space. Kitae provides 1:1 pixel rendering where no transforms are used and supports 2D transforms for most objects (scale, rotation).

Q. Will the engine ever support true 3D.
A. No. However Kitae has a CustomRenderActor which can be used to render 3D to an actor that can be placed within a scene for custom rendering of 3D. This is particularly useful for Avatars.

Q. Why not?
A. Because we will be concentrating on producing the most powerful, full featured 2D engine out there.

Purchase and Release

Q. When will Kitae be released?
A. When it's ready.

Q. Will Kitae be a free product on release?
A. No, you will need to buy a Kitae licence in order to create games with it.

Q. Will there be a trial version on release?
A. Possibly not as soon as the engine is released, but soon after. The trial version will be limited in some fashion, we've not decided how/where yet. There will also be demonstration projects with binaries as separate downloads for anyone to download and try.

Q. How much will Kitae cost?
A. There is nothing set in stone right now, however, we are looking at a price point of between 50GBP - 80GBP (up to ~120USD) per developer licence for indie developers and ~320GBP (~500USD) for commercial developers.

Q. Will I get all updates for free?
A. All updates for the current Major version you purchase will be free. New Major versions (e.g V1 -> V2) will be charged upgrades at reduced rates.

Q. What payments will you accept?
A. The plan is to use a common online payment provider which will accept all major credit cards.

Beta Testing

Q. Will there be a public beta release?
A. No, not a public beta.

Q. Will there be a private beta release?
A. Yes.

Q. Can I participate in the private beta?
A. At this point the private beta is by request only, please use the Contact Us form to contact us about joining the beta program. Please provide details of your machine specs and reasons for wanting to test Kitae.

Q. What if I already joined the old Beta Program, will I still get my free copy on release?
A. Of course, once Kitae is released, drop us a message via the Contact Us page and we'll activate the product for you. Provided that you participated.
By RobHutchinson on 02nd Jul 2009 @ 08:15PM
Actors are the fundamental building blocks in Kitae. There are currently five different types of actor in the system. Each of the actor types are created as base actors within a module and then 'dropped' onto scenes within the same or other modules for active use.

SpriteActor
Sprite Actors are the most primitive actors in the system, and simply display a single graphic on screen. Sprite Actors are very useful for particle effects using emitters, texture splatting and foreground and background objects.

TileMapActor
Tile maps contain a single layer of map data which is rendered using a single Graphic. Tile maps can be used to build foregrounds, backgrounds and most importantly, map based levels. Maps contain not only the tile graphic frame data, but also additional information such as miscellaneous flags, colour and x/y flip details.

TextActor
Text Actors are used to render text through the use of fonts. These are useful for ingame text, huds, menus, options and game instructions amongst other things.

EmitterActor
Emitters create new instances of other actors to produce particle effects and generators. The most simple of which is an emitter that generates SpriteActor objects to create a particle fountain effect. However, the EmitterActor can be used for many other tasks. Here are some examples:

• A fire trap that produces damaging fire particles in a sequence.
• An arrow trap that continuously releases poisoned arrows across a scene.
• The flame atop a torch.
• Enemy generators ala the classic game Gauntlet.

Emitters can also be used for smoke effects, explosions, turrets, blood splatter, magic, sparks, volcanoes and many many other game effects. For more information on emitters, see the Particle Effects section.

AnimatedSpriteActor
Animated Sprites are similar to standard Sprites, however, they contain animations. Any actor can be playing any one of it's animations at any time within a scene. Animated Sprite actors can have unlimited animations, based on graphics created in the Game Editor. The Game Edtior provides tools to facilitate the creation of animated sprites from frame images. Animated sprites would usually be used for main characters and enemies, or anything in the world that moves.
By RobHutchinson on 02nd Jul 2009 @ 08:15PM
Scenes are the place where all your game action occurs. Scenes contain any number of layers which in turn contain deep and shallow copies of your base actors. Each of these actors is rendered when a scene is rendered.

Layers are contained within a Scene, and each layer can have different rendering qualities, such as blend mode and pixel shader effects.

Scene trees can be completely managed within the Game Editor and building your game environment couldn't be easier.

Screenshots

By RobHutchinson on 02nd Jul 2009 @ 08:15PM
Kitae furnishes the developer with a complete set of Tile Map creation and manipulation tools. The Game Editor can be used to create TileMapActor objects. These are a single layer of tile map entity which can be either shallow or deep copied onto a layer within a scene. The tile map can then be geometrically collided with and modified at run time.

Multiple tile maps can be edited and built simultaneously, and you can position tile maps over each other in a scene to create multi-layered tile map effects. This way, adding foreground and background as well as parallax effects is made very easy.

Tile Maps are relatively expensive where memory is concerned. Therefore, Kitae supports shallow copying of complex actors. Each actor on a scene can either be a 100% duplication of a base actor or a shallow copy. Shallow copying is currently supported on tile maps and animated sprites. Shallow copied tile maps hook into map data taken from a base tile map but have their own location, rotation, etc information. This allows you to build large complex tile maps and re-use them in multiple places without increasing memory usage by having duplicated map data. Currently Kitae uses approximately 20 bytes per map tile for each tile that does not have any attributes, but provides practically unlimited configurability and flagging options. Each tile can have it's own colour and transparency value, can be flipped either vertically, horizontally or both and can have unlimited key-value attributes which can either be provided at the tile or graphic level.

The Game Editor's tile map editor is essentially a full-featured WYSIWYG 2D game level designer, allowing you to create whole game levels just by painting tiles onto a map surface. The editor supports, fill, line draw, rectangle draw, filled rectangle draw, selection, cut, copy, paste and many other tools.

Screenshots

By RobHutchinson on 02nd Jul 2009 @ 08:15PM
One of the design goals with Kitae was to have the engine completely manage your game resources, so all your graphics, sound, music, level data, etc. All these resources can be added at design time to your project's modules. At its heart Kitae is a complete content management system for games.

A project can have any number of modules and you decide how you want your modules to be arranged. Modules can be loaded and unloaded as whole units during run-time and you can pick the modules you want to be loaded automatically at startup using the Game Editor. This gives you a streamlined way to implement game levels and shared resources. For example, in a platform game you may decide that your main character and all enemies are common resources that are used on all levels of the game. Therefore building these resources into a 'Common' module that is always loaded makes sense. In a platform game, usually you're only dealing with one whole level at a time, or one set of levels (a world) that all use the same resource set. Here it makes sense to have each world or level type have it's own module. That way you can reload levels simply by unloading the module (and therefore all it's resources) and reloading it. This provides you with an extremely simple way of managing your game's life cycle. From the point at which the player enters the game world on the first level, through to the last level of the game, switching scenes and expunging groups of unused assets is simple using Kitae.

Modules are expressed in XML with embedded resources. The modules (.kmo) and the project file (.kpf) are the only files you need to add to your content projects, and even this is handled for you by the Game Editor application that is provided with Kitae. The module files contain information about your graphics, graphic data, scenes, actors, layers, sounds, sound data, etc. All in one nice neat package. These modules are transformed at runtime using the XNA content pipeline into XNB files (one per module), making it even harder for 3rd parties to access or modify your game resources and reducing the number of files you need to provide to end users.



Addional to all this, Kitae provides a very powerful graphics handling feature that can help you improve performance and build more maintainable games. Graphics in Kitae work as 'Sprite Sheets'. A single Graphic object contains many images, which are automatically managed by the framework. So for example, you may have a single Graphic that contains all the frames of animation for your main character. At build time, each image in a Graphic is packed into a single texture which is embedded into your module binary. You have certain options available to you as to how you want that texture to be created, but by and large, this process is handled for you completely automatically.

Graphics cards like to work without being interupted by developers switching textures all the time. Because of this, having all your resources in a single sheet alone can increase performance across the board, particularly in Tile Map rendering processes. Keeping all your tiles together in a single texture and using only that texture to render an entire Tile Map keeps performance high. With a little bit of thought, this is done automatically for you by Kitae.

Screenshots
By RobHutchinson on 02nd Jul 2009 @ 08:15PM
The Kitae Game editor is where you'll spend a lot of your time designing your games. Everything from setting up your sprites, animations and scenes, to creating innovative levels and designs. The Game Editor provides a professional interface that is similar to that of Visual Studio or Game Studio Express, so it will be familar to those who have already written games in XNA.

Features
Here are just some of the main features of the Game Editor.

• Project Manager provides a tree-view of your game assets.
• The Graphic Editor provides a fast, easy way to insert and manage your art assets.
   • Sprite Cutter tool can be used to extract sprites from other images.
   • Tile Cutter tool can be used to extract tiles from uniform tile-mapped images.
• Font Editor provides an interface for building fonts.
• Font Wizard allows you to quickly create Kitae GraphicFonts from True Type fonts and allows you to add effects.
• The Property Grid allows quick and easy editing of all your game objects.
• The Scene Editor allows you to create scenes with layers and actors and position them for first run.
• The Tile Map Editor gives you the power to quickly build game levels and maps.
• Powerful Magnifine Glass tool - helps with pixel perfect positioning.
• Keyboard shortcuts for all major actions.

Screenshots
By RobHutchinson on 02nd Jul 2009 @ 08:15PM
Other than actually running and playing your game, the Game Editor gives you almost complete access to everything in the engine. This allows you to build a large portion of your game using a design interface rather than manually coding everything from scratch.

Here are a few of the additional features not discussed in other sections:

Effects
Effects work on a per-layer basis. Each layer can have a range of different effects. Firstly, each layer has the option to render in either filtered or nearest neighbour rendering mode for different qualities. Secondly, layers have a blend mode, which describes how they mix with other layers and scenes. Finally, each layer can render with any number of built-in or custom pixel shader effects such as blur and convolution effects.

Post Processing Effects
Kitae will provide simple interfaces for post processing effects and there will be a number of built-in effects which can be used out of the box. Post processing effects can be applied to create overall screen pixel deformations such as blur, convolution and desaturation.

Controllers
Controllers are an integral part of the Kitae engine. Controllers are used to 'control' the actions of actor within the system. Each actor can have any number of controllers assigned to it. Controllers can perform just about any action and are called every time the actor needs to update.
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.