Tuesday, December 6, 2011

Elemens Game Functionality Demo (Light Flare v1.0.0)

As I've stated numerous times before, the video game Elemens that I'm developing in Microsoft XNA as part of my research will provide the opportunity to battle miniature creatures known as Elemen while heavily modifying and upgrading your Elemen to adapt to a massive amount of battle variables. I am now releasing a stable version of what I refer to as a "Test Skeleton" of the Elemens game, with this Test Skeleton featuring nothing more than the essentials of a battle. Download the file here, and read more on the installation and the location for other releases here.

The released Version 1.0.0, codenamed Light Flare, features basic instances of the battle mechanics with dummy sprites and images used until the actual game's images are finalized. This version does not focus on the customization of the Elemens, which will be analyzed more heavily in upcoming releases. The players have the option of battling on one of two randomly selected stages while controlling two Elemen, Susie and Jams. With this release, one can test out the capability of the movements, the usage of the Skill system, and view all of an Elemen's statistics as depicted below.




Elemen Statistics

Elemens battle by utilizing their Skills to whittle down the HP of opposing Elemens. Elemens possess a variety of statistics that determine the effectiveness of their usable Skills. Providing an Elemen with Skills that correspond to its best stats with will provide ease in obtaining victories.

HP: Hit Points. Determines the vitality of an Elemen. When this is completely depleted during battle, an Elemen will no longer be able to fight.
Strength: Determines the power of physically based Skills.
Mind: Determines the strength of magically based Skills.
Soul: Determines the effectiveness of moves that have status or healing effects.
Defense: Determines the resilience of an Elemen.
Speed: Determines how swiftly an Elemen can move in battle.
Spirit: The amount of energy an Elemen has to use its Skills.

Currently, I plan to develop Elemens so that each Elemen will be initialized to have a random set of statistics, with all stats starting near predetermined model values. In addition to these statistics, an Elemental System will play a role of heavy importance in Elemens, which will be developed and tested later.

Skills


Elemens fight via utilizing an assortment of skills. It will be developed so there is a plethora of Skills available for an Elemen to select from and unlock to use in battles, each varying in power and purpose. In Light Flare, there are three specific Skills both Susie and Jams have in their arsenal.

Burst: An Elemen shoots out a burst of energy. It is a Mind-type Skill.
Punch: An Elemen lunges forward and unleashes a punch. It is a Strength-type Skill.
Shield: An Elemen produces a barrier from oncoming Skills. It is a Soul-type Skill.

By utilizing these Skills effectively, an Elemen can effectively reduce an opponents HP. Skills in upcoming versions of Elemens will all be imbued with specific Element Class. Each of the Classes such as Fire, Water, Earth, etc., will have disadvantages and advantages to other Elemental Classes, meaning certain Skills will reduce in strength or completely dissolve if colliding with a Skill with a stronger Class. Each Elemen will also become imbued with a specific Elemental Class that will maintain the same weaknesses and resistances to specific Skills.

Elemens Game Structure



Being an XNA developed game, the Elemens coding will be required to follow a particular structure. The above chart represents the five different sections of coding which XNA games must adhere to in order to function properly. The Initialize method is for the instantiation of the necessary objects and statistics for the game. Load Content is used by the XNA software to assign images and other materials to specific sprites, and musical tracks and sound effects to appropriate sound files. Unload Content is essentially used to save data acquired in game to a specified location on file. Update is used to update any necessary variables in the game. Finally, the Draw method is used to display the visual aspects of the game on screen.


The main file Game.cs is the primarily encapsulating coding, in which all other code is played. It is from this file that all coding is run. I've developed a BattleManager.cs class which contains all the information regarding a Battle. It possesses and relays information about all Elemen that are currently battling to each other, while updating information about its current stage in Stage.cs. Lastly, Elemen.cs functions as the coding that maintains each Elemen, including its personal Skills and statistics, and eventually its customized appearance and Elemental Class among other specifics.

As I continue to work on updates to Elemen, they will be released here. Continue to check this spot for the latest updates.