Tomahawk OpenSource XNA Game Engine

It was initially developed during the creation of the game "Rotor'scope - The secret of the endless energy" but is now enabling several other games for the Xbox LIVE Indie Games platform. It's free to use for all kinds of games and applications, and it's open-source, giving you total flexibility to expand, modify or even cut features to suit your game's needs.

Currently, you can compile to both PC and Xbox360 targets. Zune support is being considered for a future release.

Features

Logic framework

The engine features a powerfull and easy to use logic framework that helps you keep your game logic conveniently separated from the technology layer. It provides lots of base classes for typical game objects and functions (like actors, pawns, controllers...) and support a component-based composition pattern to expand and reuse functions across several logic objects.

Life-cycle of logic objects is controlled by the engine's World, enabling both painless destruction of objects (and their childs) and spawning new objects during gameplay.

Serialization framework

One of the most powerfull features of the engine is the ability to create objects from data archetypes. The serialization framework is seamlessly integrated into the logic layer, enabling any logic object to define serializable attributes that can be configured within the archetypes.

The serialization framework uses Nivel21's SerialBoost technology to enable ultra-fast Xml serialization that is 10x faster the standard .NET XmlSerialize.

GUI framework

Powerfull GUI framework that support extensible controls, and archetypes. It works using patterns similar to thoose found in ASP.NET or recent WPF: visual presentation of the interfaces can be defined into XML archetypes, and logic can be later added via c# code.

It also features an keyframe-based animation system that can be used to easyly add life and richness to user interfaces.

Resource Management

Resource management abstracts the developpers from loading the resources manually. Logic objects that require resources (like models, textures...) can be created at any point, and they'll automatically start updating when all their required resources had been loaded from disk.

This manager can also be used to pack a bunch of resources to be loaded into a single loading operation that can be performed while a loading screen is being show.

Material framework

Tomahawk fully supports NVIDIA's FXComposer project (collada-based) format to import materials and shaders into the game.

Shaders parametters can be definided from whithin FXComposer using SAS sintax to enable automated value injection of engine matrices. Also there's an optimized layer to enable custom code to inject user values into these materials.

Optimized Rendering pipeline

The rendering pipeline support lots of optimizations for grouping and minimizing render calls.

The entire rendering pipeline can be reconfigured from withing FX Composer, including defining render targets and custom post-process effects that can be activated during the game.

Localization framework

Easyly add several languages to your games using separated language files. All components of the engine support not only localized strings, but localized textures too.

This framework also enable the game to support language hot-switching at any moment.

Networking framework

Fully integrated with logic layers, the Networking framework enables easy multiplayer game creation.

Also, special network services are supported, like customizable background content sharing.

Integrated extensible development console

The game feature an interactive game console that is very usefull during game development to log events or errors, and also enabling the game to respond to typed commands.

Physics support

GibLibX is fully integrated into the logic layer to enable easy physical behaviours in your logic objects.

Animation support

XNA Animation System (XMAS) is fully integrated into the logic layer to enable effient and powerfull animation to your logic objects.

Availability

Tomahawk OpenSource XNA Engine is currently available only via source code repository.

We are currently hard at work for an October release of Version 1.0, with fully on-line documentation, code documentation, and lots of useful examples.

Plase, go to Tomahawk website to obtain the lastest source code version of the engine.

If your are currently considering using Tomahawk for a production project, don't hesitate to contact us. We can help you evaluate if the Engine will suit your needs. We are approachable people, and willing to expand the engine features to make it the best engine available for XNA, so drop us a letter if you find some feature is missing.