Screenshots and a video are at the end! Also, feel free to post any ideas. Why not be a little creative
Unyielding Assault - Spell Based Team Dueling Game
*************************************************************
DEMO VERSIONS!
*************************************************************
v0.1:
Here is the first demo version (v0.1). Get it from MediaFire here:
(Uploaded 5/9/09)
*** - ***
Hello everyone! This is a game I have been working on called "Unyielding Assault." It's based on Guild Wars, and will have a similar battle system. Anyway, I think it's about ready for a WIP post
BACKGROUND
In this game you will be presented with a list of (hopefully) many spells and some units (characters) to choose from. From these units you will be able to form a team of 4 (including yourself). The units will have some preset spells and stats, but you can custom configure these to your liking.
After you've created your team, you will then be presented with other premade teams who you must defeat using your team. If you lose, you will have to start back at the last "checkpoint team" you reached, at which point you will be able to reconfigure your team if need be.
Different teams will fight you in their environment/world, if they have a specific one they use. Otherwise the "arena" will be random. Some teams have specific music as well.
In order to cast a spell, these criteria must be met:
-The spell must be done recharging.
-You must have enough "Essence" (a.k.a mana/energy/MP) to cast the spell.
-The spell must be finished recharging.
-You must be targeting a valid target.
Attributes:
Strength- Increases attack damage. Also increases the overall capabilities of "Attack Spells"
Agility- Increases movement speed and attack speed. Also affects spells that affect these things.
Endurance- Increases health and armor (armor grants a % damage reduction)
Infusion- Increases the power of healing in all non-attack spells.
Power- Increases the damage and overall potency of most spells. Also increases maximum "Essence" amount.
Spell Types (Mainly for AI and stat distinction):
Attack Spells- Works like any other spell but triggers on your next attack. (STRENGTH)
Healing Spells- Heal allies. (INFUSION)
Boost Spells- Temporarily assist allies (ex. bonus attributes, increased movement/attack speed, etc.) (POWER)
Damaging Spells- Ranges from direct damage to imparing effects (ex. decreased movement/attack speed, fewer attribute points, etc.) (POWER)
Resurrection Spells- Spells that revive dead allies. (INFUSION)
Interruption Spells- Spells that are meant to interrupt enemies (POWER)
Aura Spells- Spells that trigger on the caster as soon as the battle starts. The duration is usually almost everlasting (i.e. 9999999 seconds or something) (POWER)
Spell Commands So Far:
*
Spell commands work like this: A set of commands can be run when the spell is first cast, another set per interval (ex. every 1 second, lasting for the duration of the spell), and another set at the end of the spell. All minimum-maximum amounts depend on the caster's stats. Spells are constructed from these commands.
-
DealDamage( Targets ; Area of Effect (specified as minimum-maximum ; Damage Amount (specified as minimum-maximum) )
~Deals damage to targets within the area of effect. The area circle starts from where the original target of the spell was standing. At the lowest level, the spell will do minimum damage in a minimum area. At the highest, it will deal maximum damage in a maximum area. Uses the POWER attribute if it's not an attack spell.
-
Heal( Targets ; Area of Effect (specified as minimum-maximum ; Healing Amount (specified as minimum-maximum) )
~Works like the DealDamage command but heals instead. Uses the INFUSION attribute unless it's an attack spell.
-
TriggerSpell( Targets ; Area of Effect (specified as minimum-maximum ; Spell to Trigger )
~Triggers the specified spell on valid targets within the area. The area of effect depends on the Spell Type, and will use the corresponding attribute.
-
SpawnUnit( Targets ; Area of Effect (specified as minimum-maximum ; Unit to Spawn)
~Spawns a unit at the location of all of the targets witin a given area. This command can sometimes lag a bit...
-
IncreaseStat( Targets ; Area of Effect (specified as minimum-maximum ; Stat to Increase ; Amount )
~Can be used to increase or decrease a unit's stat/attribute (agility, strength, power, etc.) I guess the Area of Effect parameter is kinda useless here, as it would cause permanent stat decreases.
TO-DO LIST:
Finished (Or mostly finished):
Stat system affecting all corresponding elements of the game.
3rd person camera that can be rotated and zoomed using the mouse.
Collision with the terrain and other units.
Command-based spell system that allows spells to last for specific durations and execute commands when cast, when ended, or per interval of time (ex. once per second).
Loading and creation of units from unit files.
Loading and creation of teams from unit files.
The loading of spells from files.
The casting of spells by the player and all units.
Casted spells affect all valid targets, including Area of Effect targets.
Team Following AI.
Attacking AI
Logical Offensive Spell Casting AI.
AI distinction between and usage of Healing, Damaging, and Resurrection Spells on the correct targets.
Different elements of spells are affected by their corresponding stats.
Spells each have have a casting time, duration (depends on attributes), casting range, valid targets, and recharge time.
Projectile and Spell Particle support via the ZParticle plugin.
Support for multiple worlds and unique music, sky texture, water texture, water height, and light colors for each world.
---(3/20/09):
Some DarkShader shaders on the models.
---(3/27/09)
Water can place spells on you if you go in it. This way I can make lava that is actually harmful...
Custom team composition from unlocked units.
Working on:
Logical Defensive Spell Casting AI.
Optimization. It's a bit laggy right now
(Probably because of my string based spell system, which I'm probably not going to edit now. Although it was laggy before I added the spells...)
Main Menu
More spell commands.
More Spells
More GUI Stuff
Ideas/Plans/Things that haven't been started yet:
In-Game Team Customization
In-Game Unit Customization
Several Sub-Menus of the Main Menu.
3D Sounds for spell casting and effects.
Better models!
Items lying around the map that instantly cast various spells when touched.
Concrete spells that are commonly afflicted by other spells (such a Poisoned or Slowed)
Rogue neutral guys running around that will attack both the player and enemy teams at will.
Shop to buy spells and units at.
*There are probably some things that I've forgotten, which will be added as I remember them
.
Anyway, it's time for a few screenshots! Click an image to view it. Make sure to view it in its full size for the best results. Also, keep in mind that most of the media in these screenshots is temporary. Also note that some of the spell icons are identical. This is because the spells were made for test purposes and the icons are temporary. I'm the "geisha" character.
My team and I wait for the enemy team to reach us.
Me casting "Fire Storm" as an enemy casts "Fireball":
An enemy minotaur tries to ressurect a dead ally:
I cast "Fire Storm" while an enemy heals:
Okay I can't be bothered to write captions anymore.
VIDEO: http://www.youtube.com/watch?v=a0y_QgsPvpE
Special Thanks To:
-
Green Gandalf for his terrain shader and normal map generation code.
-
Zerk for the ZParticle plugin.
-
Cloggy for his D3D text plugin.
-
Sparky for his collision DLL.
-
Ian M for his Matrix1 plugins.
As always, I am open to
comments and suggestions. Also feel free to voice any
ideas for spells, enemy teams, spell commands, units, etc . Maybe I could even add one of your characters to the game
(if I get far enough along). Just keep in mind that I must get some more work done on the engine before things can become permanent. If you have any questions, please ask.
-Sixty Squares
<-- Spell based team dueling game!