Sign in to follow this  
  • entries
    26
  • comments
    33
  • views
    7983

Combat Write Up - Rev 1

Sign in to follow this  
Namatsu

205 views

Its been a while. I've been doing lots on the game dev side. I just haven't had much time to post due to helping my wife start her own business and getting ready to go back to school. This post is going to be mostly a cut and paste from some of my design document. But it should give a good idea where I'm going with the game. Right now my goal is to make a test bed with a simple map and random battles. Then I will add more features later. Like shops and towns. The game has changed from a side scroller to a top down view to simplify development of the combat prototype.

This is the initial writeup for how the combat system will work in my game and is subject to suggestions and change.

----------------------------------------------------
Character Stats
----------------------------------------------------
Hit Points
Ability Points
Melee
Ranged
Magic

----------------------------------------------------
Levels
----------------------------------------------------
The level cap is unlimited
The character gains three skill points every level
The character gains one specialty point every 5 levels.
The equation for the next level is PrevLevel + CurrentLevel * 100
Experience is reset to 0 when you level.
Experience does not over flow into next level.

IE.

Bob has 99/100 xp. Bob gains 10 xp. Bob would level to lvl 2 and his XP would be set to 0 not 9.

-----------------------------------------------------
Combat
-----------------------------------------------------
Combat is turn based. The combat order is randomly decided at the beginning of combat. Each combatant is able to make one action per turn. Until all of the opposing combatants are dead.

-----------------------------------------------------
Character Death
-----------------------------------------------------
The character will loose 10% of current xp. The character can not level down.

-----------------------------------------------------
Specialties
-----------------------------------------------------
The way the character gains abilities beyond the basic attack ability is through specialties. It takes 1 point to unlock a specialty and 1 point to unlock additional skills under that specialty. Some specialties may have masteries that would let the character gain further skills once the Character has gained all the base skills under that specialty. Mastery skills cost 2 specialty points.

IE.

Specialty Holy Magic:
* Heal
* Cure
* Bless
* Smite
* Group Heal

Holy Magic Mastery Undead:
* Exorcism
* Holy Water Grenade
* Turn Undead

This is the sample lua script for setting up the specialties and masteries.

-------------------------------------------------------------------
-- An Example Data File for laying out Specialties and Masteries --
-------------------------------------------------------------------

-------------------------------------------------------------------
-- Data Available to define abilities with
-------------------------------------------------------------------
--
-- Specialty
-- * LongName
-- * Discription
-- * MinLevel
-- * Register()
--
-- Mastery
-- * Specialty
-- * LongName
-- * Description
-- * MinLevel
-- * MinRank
-- * Register()
--
-- Ability
-- * Specialty
-- * Mastery
-- * Rank
-- * LongName
-- * Description
-- * MinLevel
-- * Use(Target,ActionType) IE. Targets could be Friendly, Hostile,
-- Undead, Add AOE to the end of any
-- Target to make the ability AOE.
-- Action Types would be Damage, Heal,
-- Buff, and RemoveBuff
-- * RangeMin
-- * RangeMax
-- * Buff
-- * BuffType
-- * Register()
--
-- Buff
-- * LongName
-- * Description
-- * Stats
-- * Turns
-- * Duration
-- * RangeMax
-- * RangeMin
-- * Type(Type)
--
-------------------------------------------------------------------

-------------------------------------------------------------------
-- Specialty Holy Magic:
-- * Heal
-- * Cleanse
-- * Bless
-- * Smite
-- * Group Heal
-------------------------------------------------------------------

-------------------------------------------------------------------
-- Set Up Holy Specialty ------------------------------------------
-------------------------------------------------------------------
Holy = newSpecialty()
Holy.MinLevel = 1
Holy.Register()

-------------------------------------------------------------------
-- Set up Heal Ability -------------------------------------------
-------------------------------------------------------------------
Heal = newAbility()
Heal.Specialty = "Holy"
Heal.Rank = 1
Heal.Use("Friendly","Heal")
Heal.Use("Undead","Damage")
Heal.RangeMin = 5
Heal.RangeMax = 10
Heal.Register()

-------------------------------------------------------------------
-- Set up Cleanse Ability ----------------------------------------
-------------------------------------------------------------------
Cleanse = newAbility()
Cleanse.Specialty = "Holy"
Cleanse.Rank = 2
Cleanse.Use("Friendly","RemoveBuff")
Cleanse.BuffType = "Bad"
Cleanse.Register()

-------------------------------------------------------------------
-- Set up Bless Ability -------------------------------------------
-------------------------------------------------------------------
Bless = newAbility()
Bless.Specialty = "Holy"
Bless.Rank = 3
Bless.Use("Friendly","Buff")
Bless.Buff.Stats.Melee = 1
Bless.Buff.Stats.Ranged = 1
Bless.Buff.Stats.Magic = 1
Bless.Buff.Duration = 5
Bless.Buff.Type("Good")
Bless.Buff.Type("Holy")
Bless.Register()

-------------------------------------------------------------------
-- Set up Smite Ability -------------------------------------------
-------------------------------------------------------------------
Smite = newAbility()
Smite.Specialty = "Holy"
Smite.Rank = 4
Smite.Use("Hostile","Damage")
Smite.RangeMin = 5
Smite.RangeMax = 10
Smite.Register()

-------------------------------------------------------------------
-- Set up Group Heal Ability --------------------------------------
-------------------------------------------------------------------
GroupHeal = newAbility()
GroupHeal.Specialty = "Holy"
GroupHeal.Rank = 5
GroupHeal.Use("FriendlyAOE","Heal")
GroupHeal.RangeMin = 5
GroupHeal.RangeMax = 10
GroupHeal.Register()

-------------------------------------------------------------------
-- Mastery Undead:
-- * Exorcism
-- * Holy Water Grenade
-- * Turn Undead
-------------------------------------------------------------------

-------------------------------------------------------------------
-- Set up Undead Mastery ------------------------------------------
-------------------------------------------------------------------
Undead = newMastery()
Undead.MinRank = 5
Undead.Specialty = "Holy"
Undead.Register()

-------------------------------------------------------------------
-- Set up Exorsism Ablility ---------------------------------------
-------------------------------------------------------------------
Exorsism = newAbility()
Exorsism.Mastery = "Undead"
Exorsism.Rank = 1
Exorsism.Use("Undead","Damage")
Exorsism.RangeMin = 10
Exorsism.RangeMax = 12
Exorsism.Register()

-------------------------------------------------------------------
-- Set up Holy Water Grenade --------------------------------------
-------------------------------------------------------------------
HolyWaterGrenade = newAbility()
HolyWaterGrenade.Mastery = "Undead"
HolyWaterGrenade.Rank = 2
HolyWaterGrenade.Use("UndeadAOE","Damage")
HolyWaterGrenade.RangeMin = 7
HolyWaterGrenade.RangeMax = 10
HolyWaterGrenade.Register()

-------------------------------------------------------------------
-- Set up Turn Undead ---------------------------------------------
-------------------------------------------------------------------
TurnUndead = newAbility()
TurnUndead.Master = "Undead"
TurnUndead.Rank = 3
TurnUndead.Use("Undead","Buff")
TurnUndead.Buff.Turns = -1
TurnUndead.Register()


Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now