Published by
Jun 2, 2014 (last update: Jul 24, 2014)

The Element Project (v2)

Score: 4.0/5 (16 votes)
*****
Element is a 1 or 2 player game where you take control of 1 of 10 playable characters to defeat your opponent.

How To Play


Element is a turn based game that tracks multiple player statistics. On the header page, you will see a short summary of each of the different playable elements. To select one, enter its name (note: it will only work if you use capital first letter). You must do this twice, one for each player. Once you select your character, you will be accompanied by the following statistics:

-Health: Starting health of your character.
-Armor: Flat damage reduction against normal attacks.
-Speed: First attack priority. Every turn, a random number generator determines who takes their action first, there is no advantage in being player 1 or player 2.
-Agility: Percentage chance to dodge a normal attack.
-Max Damage: when attacking, a random number generator will choose a number from 0 to this number and deal damage.
-Starting Energy: Energy is used to activate abilities, this is how much you will have available at the beginning of the game. you gain 1 more every turn.

The next 3 items are your abilities, their energy cost is listed next to them and their description of what they do underneath.

the next item is a passive ability. It is a special ability that is always active and is completely free.

lastly, is the tips. Its a summary of the character, their strengths, weaknesses, and play style.

After both players have chosen their elements, they will move onto the battle phase. There is some statistical data displayed at the top, they are:
-Element Name
-[remaining health]
-[current status]
-[current energy]

*Default status is "Healthy", certain abilities change this.

Every turn, you may take 1 of 6 actions:
1) attack for a random value between 0 and maximum attack value, there is a chance to miss based on your opponents agility and will be reduced in damage by your opponent's armor.
2) defend against your opponent's attack, half incoming damage (only effects attacks, not abilities)
3 - 5) activate an ability, the energy cost is listed inside the brackets. effects vary depending on element being played
6) surrender and loose immediately.
0) ai code (disabled for Sweep mode)

The game ends when a player's health reaches 0.

After the battle, the results will be saved for future reference, if you would like to look up statistical data, enter "y" for yes on the next screen (the one with the 10x10 grid of numbers, these are the saved wins and losses for all match ups for the normal characters. If you enter y, you will be asked to enter in what match ups you would like to look up.

If the elements are different: it will look up that specific match up, wins and losses.
If you enter the same element twice: it will look up that element's win rate against all opponents
If one of the two elements entered is "All": it will look up the overall win rate of all elements and display them.

Admin Commands


On the initial screen, there are numerous commands you can enter.

FillData
Run an ai battle to determine a quick result between 2 random combatants.

FillDataFast
Run an infinite number of ai battles, use to populate data if you want statistics.

FillDataOne (use on player 2 screen)
Run an infinite number of ai battles, the first combatant will always be the same, use for statistical purposes.

SystemFill
Run an infinite number of ai battles in a specific order so each element battles each other the same amount of times. Use to populate data for statistics.

SystemFillOne
Run 2 ai battles of each matchup, useful for quick statistics.

no
Skip the battle and go directly to the statistical analysis page.

Rand
Enter a number to mix up the random number generator so you do not get repeat results

Secret
Add the 4 hidden characters to the top menu, will not reveal their codes to play them

Sweep (use on player 2 screen)
Activate special single player mode, fight each element until you win, test your skills with a given element to achieve victory over all opponents.

Changes From Version 1


-Added screen coloring to better determine whose turn it is. Red for player 1, blue for player 2.

-Changed how stats are shown on the header screen, from ambiguous phrasing to statistical bar graphs.

-Adjusted text to better align menus.

-Various AI improvements

*NEW* added 3rd and 4th new secret characters, Idler and Techmaturgy. The other two are Energy and Morphling. Figure out their secret codes to play them.

Balance Changes


Fire:

-Armor increased to 6 from 3
-Max Attack reduced to 25 from 30
-Speed increased to 55 from 50
-Dodge increased to 30 from 20
-Starting energy reduced to 3 from 4
-Flamethrower:
Damage reduced to 35 from 45

Water:

-Wave:
Cost reduced to 1 from 2
Damage reduced to 24 from 33
-Barrier:
Cost increased to 4 from 3

Static:

-Health increased to 270 from 230
-Armor increased to 8 from 2
-Dodge reduced to 15 from 25
-Shock Absorb:
Healing rate increased to double opposing damage from just the base value

Holy:

-Health increased to 250 from 170
-Armor increased to 6 from 4
-Max attack increased to 45 from 38
-Speed increased to 40 from 35
-Starting energy reduced to 4 from 5
-Divine Blessing:
Cost increased to 4 from 3
-Hinder:
Cost increased to 5 from 4
-Smite
Cost decreased to 6 from 7

Wind:

-Health increased to 170 from 150
-Max attack increased to 35 from 25
-Speed reduced to 75 from 80
-Starting energy reduced to 2 from 3
-Wind Charge:
Cost decreased to 3 from 4
Maximum damage increased to 85 from 75, still remains +50
-Tempest:
Cost increased to 7 from 6
Damage reduced to 100 from 120

Earth:

-Health increased to 350 from 300
-Armor increased to 10 from 6
-Max damage increased to 40 from 30
-Speed increased to 35 from 30
-Starting energy reduced to 2 from 3
-Boulder:
Cost reduced to 3 from 4
-Shakedown:
Cost reduced to 4 from 6
-Quake:
Cost reduced to 7 from 8

Blood:

-Armor increased to 4 from 3
-Max attack increased to 50 from 35
-Bleed:
Damage increased to 10% per turn from 5% (new maximum is 27.1% from 14.3%)
-Drain:
Cost reduced to 3 from 4
-Ravage:
Damage increased to Attack*4 + 20 from Attack*4 (keep in mind the attack buff from 35 to 50)
Cost increased to 6 from 5

Dark:

-Armor increased to 6 from 3
-Max attack decreased to 15 from 30
-Speed increased to 70 from 65
-Shadowmeld:
Now has a 1 energy penalty if it is not used to dodge an ability
Now activates passive a second time if dodge is successful against an ability

Venom:

-Health decreased to 170 from 230
-Armor increased to 3 from 2
-Max damage reduced to 15 from 30
-Hidden:
Renamed: Sneak Attack
-Piercing Shot:
Cost increased to 6 from 5
-Passive:
Venom damage per stack reduced to 3 from 5

Conclusion


I am sorry the new version took so long to come out, but I was incredibly bogged down by IRL projects. If you have any questions about the game, balance suggestions, or other ideas, PLEASE send me a message (be specific so I know what you are talking about). If it does not work initially, try creating a document called "Balance.txt", this is where all of the battle data will be saved. I wanted to get this up as soon as I got a chance to, so the code is slightly messy and un-commented, some comments are inaccurate, however, all data that is displayed within the game is up to date. Have fun with Element!

(Due to the amount of changes and additions to the game I made, I am unable to directly post the source code due to length restrictions, I'll include a .txt in case you cannot get .cpp files)

EDIT:


I went back and commented all of the code to make it more readable, all comments should be up to date now, I also noticed a few small bugs that are now fixed:

-Morphling cannot activate idler's and tech's 3rd ability now, caused major inconsistencies program-wise

-Fixed typo in earth, boulder does 20 damage, not 30

-Fixed bug that allowed Energy element's cost on 1st ability to be reimbursed if used to block an attack (not an ability)

I also added a title screen to make it a bit more game-like once it is started up.

Lastly, I am also adding match data I have gathered if you want to use that as a base, it's in the file "Balance.txt"

Attachments: [Balance.txt] [Element.cpp] [Element.txt]