Ionixx Interactive

AnarchyX


AnarchyX is a framework designed for XNA in order to bring the power and agility of RAD to independent game programmers. By providing a powerful toolset, AnarchyX strives to empower indie developers to achieve quicker development times, more robust games, and a more enjoyable development experience.


The key components currently featured or in progress in AnarchyX are as follows:

UI Designer InfrastructureWhy reinvent the wheel and create a new UI system for every game? We want to make developing your game's UI as easy as creating a Windows Forms application. To do this, we have created a powerful designer infrastructure inside visual studio, to provide the same experience you get using WinForms. Also, AnarchyX will come standard with a large amount of pre-defined UI elements, such as panels, labels, textboxes, scrollbars, etc. It's easy to define and extend your own UI elements as well, as well as custom designers for these elements.
Unit Testing FrameworkTools such as NUnit are great for running unit tests, but can be a hassle to get running - and sometimes when your test depends on having a graphics device or content loaded, NUnit or other test runners may not be the most convenient solution. To address this, a unit test framework is incorporated within AnarchyX, and a graphical test framework is in the works. The goal is to enable agile or TDD easily within XNA. The test framework can conveniently be hooked at the end of a build process so you have per-build verification.
XNA Data StructuresThere are a lot of data structures that are useful for XNA developers. Quadtrees, Octrees, recycle lists, etc find their way into many games. AnarchyX comes with the data structures you need. In addition, AnarchyX contains a robust entity management and scene management framework to make it easy to bring your creations to life.
Input ManagementAnarchyX abstracts input management so you can easily use any number or type of input devices. Easily bind actions to keys, support both keyboard and gamepads easily. In AnarchyX, you specify the actions that a user can perform (for example, "move forward", or "fire"), and then you bind these actions to keys that the target controller supports. This abstraction makes it easy to provide complicated input support very easily.
Loading/Saving/Asynch OperationsAnarchyX abstracts many asynchronous operations. For example, it contains a StorageDeviceComponent that handles all the heavy lifiting of finding a storage device and container for you - you simply have to call Load<> and Save<> functions.
DebuggingAnarchyX supports a large number of debugging operations to assist you.

One of the major challenges of "one size fits all" solutions such as AnarchyX is balanced power and flexibility. To address this, we simply do not limit the user - you are not forced into using any part of AnarchyX and can easily extend the functionality using samples on creators club or any other area. You pick and choose what works best for your particular game. For example, if you love the UI designer but the shader management system doesn't meet your needs - thats no problem - roll your own solution while still taking advantage of the UI designer. Because of this, we feel AnarchyX is the ultimate toolset for creating xna community games.


Future features:
-Debugging console (was implemented, will be revamped)
-Integrated common shaders (normal mapping, parallax mapping, POM)
-Integrated post processing effects/render pipeline paths (HDR, bloom, shadow mapping, stencil shadows, etc)
-Skinned instancing support as well as some other advanced render techniques
-BSP content processor
-More UI elements - (textboxes, graphs)
-Model viewer
-Animated texture viewer