What is XENA?
The idea behind XENA, is to further the ease of game development already provided by XNA, by reducing the need to create custom components such as UI Controls
Monday, April 23, 2007
Has XENA Died??!
We have decided to make XENA "The Game Engine Of Options", many pre-built functions in XENA can be done in multiple ways, Don't like a boring old "Sky box"? (Six cubes with various textures) use a "Sky Dome" complete with fluffy cloud systems and weather effects, throw in a prebuilt XENA rain effect, or make your own rain using C# and the XENA Particle system, alternativly you could always resort to the XENA Particle Language Files to define your own.
We are cruising ahead to a version 0.3, and one step closer to a "public release-to-play version".
The following list, highlights the next list of features being added/ or has been added into the XENA 0.3 build.
- NEW: Particle Engine - Multiple emission types and modifiers. Such as spray, circle emissions
etc and Colour & Scale modifiers to name a few.
- NEW: Pre-Built particle effects - Rain, Snow, Blood spray
- NEW: Sky Domes, Sky Box environment views
- NEW: Screen Resolution Manager - allows you to restrict or offer many choices for resolutions
and screen formats (16 bit) refresh rates, etc. This
can be done through the screen resolution filter, or by
retrieving all supported video modes from the graphics
adapter using the easy
"GetAllSupportedVideoModes(GraphicsAdapter adapter)"
Method. Yes, you can even filter on the supported Video
Modes within the Code.
- NEW: Definition files can be encrypted or decrypted - (Post coming soon about XENA Def files)
- NEW: An advanced font engine, as opposed to the standard XENA Font engine, this engine
allows for in code font manipulation, much like the particle
engine, developers can change the colour of a particular letter
in the text, or scroll the text through use of modifiers (Oh... and if you're curious, the advanced font engine, runs on the same technology as the advanced sprite batch detailed below... So yes... even your text can have per pixel shading properties ;) )
- NEW: Advanced Sprite Batch - This is an extension of the current standard XNA Sprite Batch,
This sprite batch allows for per pixel shader language
alterations. Cool shader level effects, are now possible per
pixel of the 2D Texture.
- NEW: XENA Sound Engine - allowing the developer standard sound bank functionality with
XNA sound functions, BUT with even more functionality, don't
like the wave sound banks in XNA?. Xena allows playback of
OGG, and MP3 too, so no more huge sound files!
above is the list for release 0.3, so as you can see, its been a very busy month or two... The list above could still have more added to it, so I will keep you posted.
Tuesday, March 6, 2007
Feature Showcase: Xena Development Speed Test
I decided to test how quickly I could set up a basic game UI in the engine. The test results showed that It took me approximately 15 minutes and 23 lines of code to set up the "Xena Test Game", This included fetching a background from www.fg-a.com , constructors for three UIButton controls (with properties a plenty/and function like command buttons in visual studio) , wiring the in-built click event to the 'Exit' button to close the game when clicked, and the inclusion of an animated mouse icon.
The result of these 23 lines of code was:

Ok so the graphics might not be fantastic, but this was a speed test... The only graphics i had to get was the background, since the fonts were created by the Xena XGate Text Generator, and the images were the standard XENA In built control textures...
Feature Showcase: UI Controls - UITextbox


The textbox also comes with a large variety of tweaks in the form of properties, some of which are shown below:
I know some of the graphics might be tough to view, but the blog is quite destructive with regard to images, so in order to see the image properly, simply click on it...
It may be of concern to some that it looks like you have to use that simple textbox texture and colour, however, this is not the case... all controls come with a default constructor, and a customising set of constructors... In using the xena default constructor there is no need to set which textures you want to display, the engine displays the default Xena texture. In the customising texture, you specify exactly what you want to show, where.
Hope you enjoy the showcase :)
Friday, March 2, 2007
Xena Engine to include SQL Server support
Instead of the game developers being restricted to encrypted files on the users hard drive, game developers will also be able to create and store encrypted data into custom built SQL Databases.
We will have more information later with respect to this...
Friday, February 23, 2007
We are on the verge of Xena Engine 0.2
here is the change log for Xena Engine 0.2, with more to come
NEW: Created the UIDashboard control, to add controls onto
NEW: Created a new error handling checker to see if controls existed on the dashboard
NEW: Added in a textbox posistion icon, to see where the next text would be written into
NEW: xGate Key Generator to generate unlock keys (CD Key, Game Key etc.)
NEW: xGate Encryption Closet, allows you to keep track of each games rijndael encryption keys
NEW: xGate Class Generator, allows you to use templates to quickly create numerous similar classes
NEW: Controls implementing the UIFrameWidget class now have transparency percentages, to choose whether to make controls transparent, semi, or not
NEW: Encryption helper class now has the ability to decrypt an encrypted stream
NEW: Method to retrieve an embedded resource from a defined assembly name
NEW: CopyProtectionMethod Class, which has a ValidKey() Method, which allows to check, wheter a valid key has been inputted
FIXED: Numeric Box is now inheriting from UIControlBase
FIXED: Labelling engine would not work if deleting from the control as it was not finding if the control existed or not
FIXED: Textbox writing marker has now been fixed, before when a textbox was a password box, the marker would fall behind where the next letter was to be written.
CHANGED: Namespace for grid row, grid cell, labelling engine and frame widgets has changed to Xena.Engine.UI.SubControls -> x
CHANGED: Namespace for UIControlBase has moved from Xena.Engine.BaseStructures to Xena.Engine.UI.Base
CHANGED: UIFrameWidgets now take in a transparency percentage variable on construction
CHANGED: Encryption helper class, now no longer uses one standard xena passkey, all method calls request a passkey to be given into it
CHANGED: Converted controls now use base.ControlName rather then m_ControlName, to enable dashboard to locate a control
CHANGED: moved the methods out of definition file, that would extract embedded data, and streamlined them into helpers.AssemblyResourceHelper
CHANGED: There are now multiple methods in the AssemblyResourceHelper class, one to retrieve Xena Resources, and one to retrieve specified assembly resources
DELETED: Definition File Helper is now gone completely, as it has been made obsolete by the AssemblyResourceHelper class
Wish Lists
To add a wish to the list, simply comment on this blog