Charas-Project

  • Home
  • Help
  • Search
  • Calendar
  • Login
  • Register
*
Please login or register.

Login with username, password and session length
 

News:

Click here to join us on IRC (#charas on irc.freenode.net)!



  • Charas-Project »
  • Game Creation »
  • RPG Maker »
  • Apathy of Angels - Updated 7/22/12 - Full mini update on pg1
« previous next »
  • Print
Pages: 1 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 22

Author Topic: Apathy of Angels - Updated 7/22/12 - Full mini update on pg1  (Read 155345 times)

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #135 on: February 06, 2010, 02:11:05 AM »
I do, I had just forgotten about it... =( I'll have to edit the battle commands somehow. Otherwise, thanks!
Logged

Offline Drakiyth

  • Exemplar
  • *
  • Posts: 1,050
  • Hardcore RPGamer
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #136 on: February 06, 2010, 08:59:42 AM »
Drenrin, dude, this is looking awesome.  I really like the characters and your mapping is good too.  Finish this **** dude.  You got a Drak's 2 Horns up!   :Plight:
Logged

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #137 on: February 06, 2010, 08:17:09 PM »
Quote from: Drakiyth on February 06, 2010, 08:59:42 AM
Drenrin, dude, this is looking awesome.  I really like the characters and your mapping is good too.  Finish this **** dude.  You got a Drak's 2 Horns up!   :Plight:

Thanks for the support!
Logged

Offline Linkforce

  • The Original Master of the Mosey
  • Leader
  • *
  • Posts: 2,330
  • i love rpgs
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #138 on: February 10, 2010, 07:00:40 AM »
Your mapping looks spot on dren!  I especially like the screen with that frozen lake monster.  Even though it's bland it's still pretty cool!  lol  Glad to see you still working on this!
Logged

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #139 on: February 12, 2010, 02:43:10 AM »
Thanks for the support! I really hope I can finish this, there's still a lot left, but I've gotten so much done. It seems tangible at this point.
Logged

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #140 on: February 24, 2010, 10:52:31 PM »
I have been toying with the idea of creating a CBS. I'm afraid of the amount of work, yet I'm sick and tired of the DBS and it's bullshit. I'm frustrated by the picture limitations, yet I've coded so much crap into the DBS already(And it is STILL glitchy).

Bottomline, a CBS would kickass. But if I'm gonna do this, I'm gonna do it right. I've started working on a potential HUD and other graphics that would be required in a CBS. Here's what I've got so far.


ADREN stands for Adrenaline. I may reduce the font size on that to fit the entire word and other status effects in there. The smaller number would be used for the amount of an item you have and the amount of MP to use a magic skill.

One of my biggest complaints with the DBS is the algorithms. They don't make any sense... If your character has low AGI, that character is gonna be SLOW AS BALLS. It also doesn't seem to care how high your Strength stat is. A character with 999 Strength against a monster with 10 Defense, will do about 1500 points of damage... That's ALMOST reasonable. Now what happens when the monster has 100 defense? You'll probably end up doing 500 damage...

On top of that, the item options are all screwy. You can't set a resistance percentage against a skill type. You CAN however set a resistance percent for a condition... It makes no sense. Plus, the skills and items options are limited. A single skill that would allow the player to "analyze" a given foe would improve gameplay phenomenally.

So, I have many more problems with the DBS, and I'm really at my rope's end. But I'm also wary of coding a CBS. That's why I'm meticulously planning out every detail I can think of before actually coding this monstrosity. Here's what I plan to include in the CBS:

  • Improved Adrenaline System
  • Working Time Bar
  • An interesting relationship between party and foe's agility stats (Explained below)
  • Cool HUD that don't look like crap as the DBS HUD does
  • Better skills such as ones modeled after "Analyze" and "Regen".
  • Awesome DEATH animations! Yeah!
  • Possible Utility option for any character with a "Utility" item equipped as an accessory. Utility's would include: Crossbows, varying guns, grenades and other varying bombs, barrier creating items, etc. Any Utility that must be loaded would be able to fire different "ammunition" that the player could buy or find in various places.

Honestly, if I didn't have so much time invested in this project on rpgmaker, I'd probably switch to Gamemaker and just take some time to learn code basics and go nuts... -_- I feel I can do this though as long as I work all the details out before hand.
« Last Edit: February 25, 2010, 05:45:28 PM by drenrin2120 »
Logged

Offline Muraiko

  • Cuddly Wuddly Snuggly
  • Zealot
  • *
  • Posts: 606
  • I'm really 4 years old... born on leap year...
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #141 on: February 25, 2010, 01:31:02 AM »
Creating a CBS for the game would be an amazing idea. Only problem is that you have so much of the game made already, you'll have to worry about creating the battle system AS WELL as editing all existing battles to match but if you have the determination, it'll work out fine. (I had to go back and re-edit my own battle system countless times myself over the years)

Another thing you should keep in mind is to make sure that you aren't showing too many pictures at once or have too many events running at the same time or else it's going to lag big time. I attempted making an Artifical Intelligence CBS for another project of mine, but whenever anyone in the party got damaged and his/her HP gauge changes, the whole game started to lag really slowly for some reason.
Logged

http://www.charas-project.net/forum/index.php?topic=23774.0

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #142 on: February 25, 2010, 01:40:33 AM »
Yeah, I know what you mean. As few as possible parallel processes, as few conditional branches, and recycle as many pics as I can, stuff like that. Algorithms are giving me a hard time, ill have to check different sites.
Logged

Offline InsaneJP

  • Certified Public Spriter
  • Exemplar
  • *
  • Posts: 1,280
  • video game fanatic and martial arts lover
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #143 on: February 25, 2010, 04:48:35 AM »
drenrin i totally forgot you were using my coak character! lol everything looks good man! the CBS idea is always good but not always worth it if your that far into it.... look at me i use the DBS and half the time people think its a CBS lol pictures are tricky cuz you need to use them in battle animations instead but its possible and if your having glitches maybe i can help PM me if ya want i can try to figure them out cuz thats the first thing i did for my game so far i have about 60pgs of battle events... no glitches =)
Logged

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #144 on: February 25, 2010, 07:32:08 AM »
lol, I told you I was using your coak charaset just recently in a pm. =P Remember I told you he had nun-chucks and that it was a shitty weapon choice. haha Well, anyway. I hate the DBS, JP. I hate copy pasting a massive event just for my Adrenaline system and still having glitches. I hate the algorithms and HUDs used. I hate how fast paced it is, it feels so rushed and sloppy. and I'm so annoyed with messing with stats radically to get what I want in battle. And as for the pictures, I'm not sure what you mean. Battle animations can remain battle animations, as far as I know. With a CBS, I can even make combo attacks. I'm really enticed by the possibility for a wider variety of skills and enemy skills. It just allows me to greatly increase the strategic value of my battles in many different ways. As well as the aesthetic value.

Muraiko, my last reply was via phone, so it was short. I know what you mean about refining the events even once I have them. Hopefully if I plan it out well enough, I can reduce the amount of coding needed, thus reducing the lag and I have an idea to make the battles as least specific as possible. What I mean for example is, have certain variables which are designated monster IDs. These variables alone will decide what monsters the party will fight. Have another set of variables to determine where the monsters are placed on the battle field. Another set of variables that are designated character IDs, etc. Things like this reduce the amount of repetitive code. I can also use one single map for all the common battles throughout the game. Obviously, I'll want to use separate maps for bosses and such, but those will be fun and easy to code once I have the battle system done and set in stone.

May I ask what type of event you were using to keep track of HP/MP bars? Was it a parallel process event? I think a common event that resets HP and MP stats, and is called every time a monster's or hero's turn passes, would work fine.

« Last Edit: February 25, 2010, 05:45:06 PM by drenrin2120 »
Logged

Offline Muraiko

  • Cuddly Wuddly Snuggly
  • Zealot
  • *
  • Posts: 606
  • I'm really 4 years old... born on leap year...
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #145 on: February 25, 2010, 12:44:40 PM »
Quote from: drenrin2120 on February 25, 2010, 07:32:08 AM

May I ask what type of event you were using to keep track of HP/MP bars? Was it a parallel process event? I think a common event that resets HP and MP stats, and is called every time a monster's or hero's turn passes, would work fine.


I have a switch that turns on whenever you are in battle, and it activates teh HP/MP gauges which are Common Events set to Parallel Process. Since I have twenty picturers for the gauges, it divides the hero's hp into 20ths and records that into a variable, checks to see your current HP in relation, and shows the corresponding picture appropriatly. My way requires three variables for one gauge, HP Max, HP Current, and HP Step (HP Step is just 20th of the hero's Max HP.)

It's constantly running with a .1 wait command, so I guess that can account for the lag, Since I have HP processes running for all four battle participants, as well as MP for each one. On the bright side though, since it's constantly going, it'll work right away if anyone were to get damaged, lose MP, heal, or level up.

Since you're using more pictures than I did, lag could be a problem. Your idea to set up the common event to "call event", and just calling it manually after anyone's action in battle should reduce lag by a long shot.
Logged

http://www.charas-project.net/forum/index.php?topic=23774.0

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #146 on: February 25, 2010, 02:37:09 PM »
Yeah, if I used a parallel process event o constantly update 28 pictures, I think it's safe to assume I'd have some serious lag. Manually calling event and having separate from the event allows me to edit that event without having to do a lot of copy paste. The only problem I can see is when there are status problems such as poison, "regen" or mp draining status affects. I'll find a way around that though.

Also I've updated the Damage calculator to include a separate branch specifically for Magic attacks.



EDIT: I'll post the following update of the CBS Outline here at around 1 PM on February 25, 2010.

~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~CBS~~~



~~~~~~~~~specs~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

80 pixels = width of hero HUD
80 * 4    = 320 pixels (Width of rm2k3 screen)
13 pixels = Width across Adrenaline and Timer Bars.
16 Pixels = Event square size.
24 Pixels = Possible space that can be taken up by any given event (4 pixels bleeding into events on
            the right, and 4 pixels bleeding into events on the left.)

~~~~~~Pictures~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

HP/MP stats for Heros = 28
Damage Numbers        = 4
Hero HUDs             = 4   (this includes ALL POSSIBLE battle options)
Monster Pics          = 6
Skills Name Display   = 1
Status Display        = 4
All Display Background= Events (Skill Display/Attack Option HUD)
Subset Skills         = Included under Hero HUDs
Timer Bars            = Events (Theoretically)
Adrenaline Bars       = Events (Theoretically)
Skill : Analyze       = Message windows over rides pictures
Notifications         = Battle events (Notifications include: "Ready!" when a character's time bar is
                        full, "Max HP!" when a character's HP has been filled to the max, "Max MP!"
                        when a character's MP has been filled to the max, etc)

TOTAL                 = 47


~~~~~~Hero Battle Options~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Tactic     >     >     >     >Opens>     >     > Attack (or Tech if in Adrenaline state)
Magic                                            Defend
Items                                            Escape
Run


_Tactic_
Options for Tactics include the following basic commands optional
for every hero in battle:

Attack - A normal attack dealing damage dependant on the user's equipped
weapon and their base Strength.
Defend - An option which allows the user to take half physical damage
from any attacking foe. This takes up a full turn and does not allow
an attack by the hero.
*Other options may become available that are dependant on the hero.

_Techs_
Option that replaces Tactics command when a character reaches full
Adrenaline. A list of Tech maneuvers that the hero knows will appear
under this option if selected. Techs can be used once at full adrenaline.
After use, adrenaline drops back to 0.

_Magic_
Allows a hero to use a magic skill provided they have enough MP to do so.

_Items_
Allows a hero to select and use an item.

_Run_
allows the entire party to attempt to run.


~~~~~~Status Hierarchy~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In battle, you can only be afflicted with one status affect.
If afflicted with a status affect which is considered "higher priority"
than another, the other status affect will dissipate and the higher
prioritized affect will take place. Here is the status hierarchy."<"
representing "Less than".

Normal < Sleep < Blind < Stun < Poison < Paralyze < Infected < Berserk
< Confused < Purge < Silence < Drunk < KO

Adrenaline Note: While in Adrenaline, no status other than KO can afflict
a player. However, if afflicted with Stun, Paralyze, Berserk, Confused,
or Drunk, the resulting player cannot gain Adrenaline points. If afflicted
with another status affect other than the ones listed previously, when
the character reaches the state of Adrenaline, their status will be
recovered to normal.


~~~~~~Status Affects~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Normal
Sleep
Blind
Stun
Poison
Paralyze
Infected
Berserk
Confused
Purge
Silence
Drunk
KO


The following are technically status affects, but operate outside of the status affect hierarchy.
They are called Special Affects. A player or monster can be affllicted with both a special affect and
a status affect.

Slow
Haste
Chronic
Cypher

-----Display-----
Special affects are not listed under the status affects. Instead, special affects cause monsters or
party members to glow different colors.


Slow    Player or monster glows green
Haste   Player or monster glows yellow
Chronic Player or monster glows red
Cypher  Player or monster glows blue

The Special Effect hierarchy works like so.

Slow < Haste < Cypher < Chronic < KO

~~~~~~Time-Based System~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The proposed CBS would be time based. Depending on the hero's
speed stat, the hero would have to wait for the time bar to
fill up in order to attack. No monster or player shall attack
faster than every 5 seconds or slower than every 7.5 seconds unless
afflicted with Adrenaline or Haste, in which case Adrenaline would allow
the player to wait half the time, while Haste will allow the player to
wait 3/4 of the time.

Each hero's Agility will be pitted against the Enemy Party's average agility (which is attained
by averaging all the enemies Agility into one number) Suppose y equals the difference in percent,
x is equal to the enemy party's average Agility and z is equal to the hero's agility.
The equation would be as  follows:

y=(z-x(100))/Z


EXAMPLE A1: Hero has more agility than enemy party's average agility.
If x=50 and z=60 then,

y = (60-50)(100)/60
y = 1000/60
y = 17               NOTE: rm2k3 rounds up and does not use decimals. This is why we multiply by 100.

17 is the percent difference.

EXAMPLE B: Hero has less agility than enemy party's average agility.
If x=60 and z=50 then,

y = (50-60)(100)/50
y = -1000/50
y = -20

PROOF OF CONCEPT

17% = .17

60(.17) = 10.2
10.2 + 50 = 60              NOTE: Given the rounding, the answer will not always be perfect.
                                  In this case it was right on.
 
-20% = -.20
50(-.20) = -10
60-10 = 50

THE USAGE OF PERCENT DIFFERENCE

If both the hero Agility and the enemy party's agility average are the same, than both the hero
and the enemies would have to wait the same amount of seconds (provided the enemies had the same
agility). The amount of time one must wait can deviate upto 50 percent from the default wait time.
The default wait time is 5 seconds. That means, the fastest a player or enemy can attack is within
2.5 seconds and the slowest a player or enemy can attack is within 7.5 seconds.

First, y is divided by 2. This reduces the affect of the percent difference, which would otherwise
be massive even in small agility differences. If after this divsion process, y < -50, y is
automatically set to -50. If y > 50, y is automatically set to 50. Wait time can now be calculated.

EXAMPLE A2:
x = 50, z = 60, and y/2 = 9 (due to rm2k3 rounding up)

500-[(500*y)/100)]

(500*9)100
4500/100
500-45

=455

From this we can determine the hero would have to wait 4.5 seconds before being allowed to attack.
Again, since decimals are not allowed in rm2k3, we must find other methods. A looping event adds 10
to a variable every .1 seconds. This allows it to count up to 4.55, which would indicate that 4.55
seconds had passed by. We can also use this variable as a whole for the time bar to fill up by.

EXAMPLE B2
x = 60, z = 50, and y/2 = -10

500-[(500*-10)/100]

(500*-10)100
500+50


=550

From this we can determine the hero would have to wait 5.5 seconds before being allowed to attack.

The full equation would look like this, where y = [z-x(100)]/Z,
x is equal to the enemy party's average Agility and z is equal to the hero's agility.


500-[(500*{[z-x(100)]/Z})/100)] = the time to wait.

-----Timer Steps-----

1)  y=(z-x(100))/Z


2a) If character is afflicted with Haste: t = 300

2b) If character is not afflicted with Haste or Slow: t = 500

2c) If character is afflicted with Slow: t =700


3) y/2=P


4)  t-[(t*p)/100)]




~~~~~~Items~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The LIST PROBLEM
For items, magic and techs, there's a problem that presents itself when listing them in a custom
menu. Not every player will have all the items, magic or techs. This presents gaps in the list
where items, magic and techs the player doesn't have should be. To avoid this, a "variable Id slot"
system is implemented.

Each item is assigned a variable ID, 1 through infinity. These ID numbers represent slots in the item
selection screen. For example, if you have potionx5, tonicx1, golden phoenix cupx2, and Red Herbx17,
potion would be assigned ID slot 1, tonic ID slot 2, golden phoenix cup ID slot 3, and Red Herb ID
slot 4. They would appear in this order, one after the other. This avoids the "list problem".

They are assigned through a system of conditional branches checking to see what items, magic or
techs have been assigned an ID and which have not, starting with ID slot 1 being filled. This a
simple process of elimination. When an item, magic or tech is assigned an ID, a switch specific to
that item, magic or tech is flipped ON. This prevents the system from assigning an Item, magic, or
tech to more than one ID Slot.

At the end of the battle all variable ID slots are set to 0 and all item, magic or tech specific
switches are turned OFF. The system repeats itself before the beginning of each battle. If a player
finds a new item, tech or learns a new magic skill in between battles, the new item, magic, or tech
will be assigned an appropriate ID slot. This also assigns different ID slots to all following items,
magic, or techs that have not been assigned ID slots.

No switch is necessary to ascertain whether or not a player has acquired a certain Item, Tech, or
magic because there is an option under "conditional branches" called "Have Item" or "Have Skill"
(which can be used for both Magic and Techs."

ITEM AMOUNTS

Returning to the example of a player having the following items...

potionx5, tonicx1, golden phoenix cupx2, and Red Herbx17.

you will notice the number after the x, "x" referring to "times" where the name of the item is
referring to "1" of that item. Simply put, Potionx5 is the same as 1(potion) x 5 = five potions.
...I guess that didn't need to be explained. Moving on... Through a system of module events, the
number of Items had is reduced to two digits. The tens digit, and the ones digit. If the number of
items had is less than 10, the tens digit would equal 0. This digit is never displayed considering
the max numbers of items allowed is 99.

Take Red Herbx17 for example. The tens digit would be 1 and the ones digit would be 7. These digits
would be displayed next to each other as "17". This allows the use of only 10 digits pictures,
0 through 9. Instead of 99 individual pics 0 through 99. The downside is, each item requires 3
pictures to be displayed properly as opposed to 2.. The upside is, the amount of coding needed is
dramatically reduced. At this time, when displaying items, there are 7 number pictures not in use.
(The HP and MP pictures that would be displayed for the character trying to use an item, that are
now not visible due to the item screen being displayed over their stats.) As well as 1 status display
picture.

ALSO, damage pictures could be used THEORETICALLY. As no attacks will be allowed while a player is
selecting a magic, tech, or item to use. This means there are 15 total available pictures at my
disposal. All 15 may not be needed, however, and using the damage pictures might present problems.

5 rows availabe
5 pictures for item names
2 picture for amount, displayed in a seperate box above items.

Each Item in small size font takes 7 pixels in height a letter, including an empty pixel above the
letters and below the letters, and 6 pixels wide a letter, including an empty pixel space to the right.
The item menu screen is 35 pixels high and 74 pixels wide.

7 * 5  = 35
6 * 12 = 72

The maximum allowable number of items is 5, and the maximum letter length is 12.

The math works almost perfect. These same specifications can be applied to magic display. 12 letters
can fit across length-wise. 3 must be reserved for amount display. One is an empty space seperating
the name of the item from the amount and two for the amount. 9 letters remain for item names.

Golden Phoenix Cup should be changed to Gold Pedals in order to fit in the space allowed.
Other items will have to be changed as well. Magic and Techs have the same limitations since there is
an MP Cost, which is displayed in a seperate box above, but still takes up pixels.


SUGGESTED NAME CHANGES

                                                 NEW LETTER TOTAL
White Phoenix Cup      to     White Pedals           12
Golden Phoenix Cup     to     Gold Pedals            11
Company Tonic          to     Company Meds           12
Plaster Tonic          to     Health Vile            11
Milk Weed              to     Antidote                8
Fenailya Weed          to     Vaccine                 7
Magic Mushroom         to     Magic Shroom           12
Cave City Brew         to     Cave Brew               9
Mountain Spring Ale    to     Mountain Ale           12


ITEMS ALLOWED IN BATTLE (The following is listed in the order they will be ID'd)


Berry
Herb
Red Herb
Tonic
Rich Tonic
Company Meds
Health Vile
Max X Tonic
Violet Herb
Maroon Herb
Elixer
Ether
Max X Ether
Angelixer
White Pedals
Gold Pedals
Antidote
Vaccine
Potion
Magic Potion
Magic Shroom
Cheap Brew
Cheap Rum
Pale Ale
Moonshine
Cave Brew

TOTAL = 26

~~~~~~Enemy Setup~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



-----Decision-----

Enemy decisions will be determined by a variety of different things. The most common will be by
random selection.

EXAMPLE:

Goo has an
80% chance to perform a normal attack
20% chance to just ooze all over the place and do nothing


Other decision making processes will be more concise. Conditional branches that will include,
how many members are in the hero pary, how many ally's are still alive, how much HP does the enemy
have left, how many time has the enemy used a certain attack, is the party resistant to a certain
type of magic, how much HP the hero party has left, what switches are turned, what variables equal
what... the options are there to create intuitive enemies that do more than attack and ooze all over
the place accomplishing nothing.

-----Stats-----
Stats will include

HP
MP
Attack
Defense
Intelligence
Agility
Experience
Loks (money)
Hit Percent
Equipment Slot 1
Equipment Slot 2
Held Items
Drop Items


Stats will be recorded eternally in a common event "enemy database". Before each battle this event
will be called. Battler IDs for enemy's 1...6 on the battlefield will be assigned Enemy ID numbers.
The enemy database will be organized starting with enemy 1 and going down until the last enemy.

EXAMPLE:

If Battler ID 1 is set to 45, whatever enemy has the ID 45 will have their stats "loaded" to other
variables that will be used specifically for battle under the Battler ID 1 set.


Say Enemy ID 45 is...

Skeleton
HP                    250
MP                    90
Attack                46
Defense               45
Intelligence          16
Agility               57
Experience            362
Loks                  134
Hit Percent           90
Equipment Slot 1      Cuttlass +30 Attack
Equipment Slot 2      
Held Item             Bone Necklace
Drop Item             Potion 5% Drop Chance      


That makes 13 variables for Battler ID 1. That means all 6 Battler IDs will have 13 corresponding
variables. Since Items are already assigned IDs, no database is necessary for them.

Just looking here, we can determine that a character could steal a Cuttlass and a Bone Necklace from
the Enemy 'Skeleton'. There's also a 5 % chance a potion will be dropped at the end of the battle.

Beyond that, we see that the party will gain 362 Experience and 134 Loks (money) for defeating the
skeleton. These base statistics allow equations such as "Damage Calculations", "Escape Chance",
"Time", etc, to be executed correctly.


~~~~~~Queue Line~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Queue lines will be used to organized the party's and the foes' party's commands. Only
one monster or party member can execute a command at a time.

EVERY command, whether by a foe or party member, passes through the Queue Line. There are ten spots
in the queue line, ten variable "Queue IDs" for every possible character and monster that could be in
battle. Every time a command is executed, the Queue Line is updated. When a command is decided upon,
whether by monster or party member, they are given an appropriate Queue ID. A Queue ID is the number
in line the command is from being executed, 1 being the first in line, 10 being the last.

That makes TEN variables, "Queue ID 1, Queue ID 2...Queue ID 10", Character IDs and Monster IDs are
assigned to a Queue ID. When the line is updated, Character IDs and Monster IDs will move "up" in
the line.

EXAMPLE: If Samson has a normal attack command and is number 3 in line, when the line is updated,
his Queue ID will become 2.

There will be a pause in between commands being executed. During any time, the execution
of commands or the pause in between, a player may select a new command. The main idea is to select
commands before the foe can make a selection and take a position on the Queue Line ahead of you.
It's important to note that when any command is being executed, timers will NOT stop, and commands
will be continually added to the queue line.




~~~~~~~~Damage Calculator~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


PHYSICAL ATTACK or AURA TECH MADE BY CHARACTERS or MONSTERS
Attack            = Attacker's Attack
Defense           = Defender's Defense
Attack Equipment  = Monster only (total Attack boost of monster's equipment)
Defense Equipment = Monster only (total Defense boost of monster's equipment)
*NOTE: Tech damage is calculated as a physical attack, unless the tech is aura tech. If the
attack is an aura tech, then Attack = Attacker's Intelligence and Defense = Defender's Defense. Aura
techs have the advantage of hitting even transient monsters.



-----STEP 1-----
1A   {([Attack+Lv]100)/150}*2 = Damage


-----STEP 2 Random Variance-----
(Attack Variance * Damage)/100
Attack Variance can be anything 1...200. A normal attack is always 95...105. Techs vary.                    


-----STEP 3 Defense Modification-----
If Ignore DEFENSE option is ON. This STEP is Skipped.

3A   Damage - [Defense/2] = Defender's Defense Modifies Damage
If Damage < 0 after this calculation, Damage is set to randomly 0 or 1.


-----STEP 4 Target Defending-----
If target is in a defensive stance: Damage = Damage/2     Skip to STEP 7


-----STEP 5 Target Row-----
Option A: If target is in the back row: Damage = Damage/2     Skip to STEP 7
Option B: If the attacker is in the back row: Damage = Damage/2   Skip to STEP 7


-----STEP 6 Friendly Fire-----
If target is an ally or self: Damage = Damage/2


-----STEP 7 Class Modifier-----
If attack has a class attribute, the following steps are applied. If one of the following conditions
are met, the following conditions are not checked and the the process skips to STEP 8

1 If a resistance is apparent due to an item, magic, tech or natural resistance:
Damage = Damage - [Damage*resist percent/100] Skip to STEP 8

2 If a class attribute absorption is apparent due to an item, magic, tech or natural absorption:
HP Recover = [Damage*absorption percent/100] Skip to STEP 8

Instead of dealing damage, this would recover HP.

3 If a weakness is apparent:
Damage = Damage + [Damage*weakness percent/100]


-----STEP 8 Hit Determination-----
If any one of these conditions are met, the rest of the conditions are skipped.

1 Check if defender is transient (Ghosts for example). If attack is physical, attack misses.
Attack hits a transient foe if the attack is an Aura Tech.

2 Check if a Deflection move is preventing successful hits on the target. Deflection moves
successfully block unblockable moves.

3 Check if the attack is unblockable.

4 If Target is afflicted with Sleep, Blind, Stun, Paralyze, Confused, or Drunk, the attack will
always hit.

5 If the attacker has a Hit Percentage of 100, then the attack will always hit.

6 If Random Value 1...100 > Hit Percentage, the attack misses. For example. If hit percentage is 90,
and the random value is 94, the attack would be considered to have missed. Weapons determine the
accuracy of a normal attack. Techs have predetermined accuracy.

-----STEP 9 Critical Hit Chance-----
NOTE: CritHit Chance is 4/100. It can be adjusted according to equipped items.

1 This STEP is only applicable if the attacker is using a normal attack.

2 If Crit Chance increasing items are equipped:
TRIBAL WAR AX           Crit Chance +21
DEATH DEALER            Crit Chance +21
Dragoon Bracelet        Crit Chance +46

IF Crit Chance is greater than 100, Crit Chance equals 100.

3 Attack is Critical if:   1...100 < Crit Chance

4 If Critical is successful: (Damage*250)/100

Basically multiply Damage by 2.5, but again... rm2k3 is gay.

If Damage succeeds 9999, Damage is set to 9999.



MAGIC ATTACK MADE BY CHARACTERS or MONSTERS
OffInt = Attacker's intelligence
DefInt = Defender's intelligence
Spell Power = Damage Spell inflicts
Spell Variance = Any number 1 through 200.


-----STEP 1-----
{([OffInt*3]100)/150} + Spell Power = Damage
If spell power = 0, then Damage is set to 0 and Steps 2 through 6 are skipped.


-----STEP 2 Random Variance-----
(Spell Variance * Damage)/100      
NOTE: Spell variances are not commonly as wild as 1...200. A common spell variance would be 95...105,
with 100 serving as a point of origin. No matter what the spell variance, if it equals 100,
the magic attack will not deviate (or variate) from STEP 1.

Spell Variances differ between magic attacks and are predetermined.


-----STEP 3 Defense Modification-----
If Ignore DEFINT is ON, this STEP is skipped.

Damage - [DefInt/2] = Defender's Intelligence Modifies Damage

If Damage < 0 after this calculation, Damage is randomly set to 0 or 1.

Healing Spells use this equation
Damage + [Defint/2] = Ally's Intelligence Modifies Damage


-----STEP 4 Target Defending-----
DEFENSIVE STANCE DOES NOT AFFECT MAGIC DAMAGE


-----STEP 5 Target Row-----
ROW DOES NOT AFFECT MAGIC DAMAGE


-----STEP 6 Friendly Fire-----
FRIENDLY FIRE DOES NOT AFFECT MAGIC DAMAGE. MAGIC DAMAGE IS UNFORGIVING! RAAAAAWR!!!


-----STEP 7 Class Modifier-----
If attack has a class attribute, the following steps are applied. If one of the following conditions
are met, the following conditions are not checked and the the process skips to STEP 8. If the spell
is a healing spell, all these conditions are skipped.

1 If a resistance is apparent due to an item, magic, tech or natural resistance:
Damage = Damage - [Damage*resist percent/100] Skip to STEP 8

2 If a class attribute absorption is apparent due to an item, magic, tech or natural absorption:
HP Recover = [Damage*absorption percent/100] Skip to STEP 8

Instead of dealing damage, this would recover HP.

3 If a weakness is apparent:
Damage = Damage + [Damage*weakness percent/100]


-----STEP 8 Hit Determination-----
If any one of these conditions are met, the rest of the conditions are skipped.
If spell is a healing spell, the spell will not miss, unless otherwise specified.

1 MAGIC ATTACKS AFFECT TRANSIENT FOES.

2 Check if a Magic Barrier move is preventing successful hits on the target. Magic Barrier moves
successfully block unblockable moves.

3 Check if magic attack is unblockable.

4 If Target is afflicted with Sleep, Blind, Stun, Paralyze, Confused, or Drunk, the attack will
always hit.

5 If the magic attack has a Hit Percentage of 100, then the attack will always hit.

6 If Random Value 1...100 > Hit Percentage, the attack misses. For example. If hit percentage is 90,
and the random value is 94, the attack would be considered to have missed.

If Damage succeeds 9999, Damage is set to 9999.


~~~~~~~~Special Combat Tactics~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----Escape-----
Enemy's can escape whenever they want. Not so much luck for the party.
Party Average Agility  = PA
Enemy Average Agility  = EA
Escape Chance          = EC


(PA * 100) / EA - Random 1...20 = EC

If EC < 100: Random number 1...100 < EC for a successful escape.

If EC > 100: party successfully escapes regardless.


-----Pre-Emptive Strikes and Ambushes-----

If you engage a foe from behind, it is consided a Pre-Emptive Strike.
If you are engaged from behind or by surprise it is considered an Ambush.

--Pre-Emptive Strikes begin with your party member's time bars full. The enemy's time bar doesn't
begin to fill until the first action is made by a party member. The enemies are also facing the
opposite direction. Once an action is made, they all turn to face the party.

--Ambushes begin with your party facing the opposite direction. The enemy's time bars are full and
the party's time bars will not begin to fill up until the first enemy action is made.


« Last Edit: February 25, 2010, 06:02:33 PM by drenrin2120 »
Logged

Offline InsaneJP

  • Certified Public Spriter
  • Exemplar
  • *
  • Posts: 1,280
  • video game fanatic and martial arts lover
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #147 on: February 25, 2010, 10:22:31 PM »
Well if your having issues that bad i mean you can do a CBS more power to you as far as im concerned with the DBS ive learned ways to get around things... even to have the enemies move =) just recently learned that! CBS is some work id say if your doing that try not to have to many characters or skills items etc. so you dont get overwhelmed with variables and what not besides that hell go ahead and do it! BUT! id try it in a new project so you keep your already made project in tact
Logged

Offline drenrin2120

  • Global Moderator
  • Sage
  • *
  • Posts: 6,101
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #148 on: February 26, 2010, 12:17:00 AM »
Yeah, I know there's ways around the dbs defaults, but not all of them, and some things are simply not very smooth. And that huge list isn't problems its just an outline to reduce future problems once I start coding this monster.

 I plan to make a copy of my project as it is and use that as a beta for my cbs. If coding and bugs become too much ill revert to my back up. Thanks for the support guys! Ill likely need it. :)



EDIT: I was thinking, Muraiko, and you know that wait times on parallel process events actually help reduce the amount of work rm2k3 has to do? Parallel process events loop themselves somewhere around 8 times a second. If you put a .5 second wait at the end of that event, it will only loop itself 2 times a second, severely reducing lag and workload, allowing rm2k3 to do other things. parallel processes aren't bad, they just need to be controlled.

And that looping 8 times a second, might be 8 times every .1 second. I'm gonna look that up.
« Last Edit: February 26, 2010, 05:59:44 PM by drenrin2120 »
Logged

Offline Muraiko

  • Cuddly Wuddly Snuggly
  • Zealot
  • *
  • Posts: 606
  • I'm really 4 years old... born on leap year...
Re: Apathy of Angels - Last Update: February 4, 2010
« Reply #149 on: February 28, 2010, 08:27:52 PM »
Making the wait commands longer does make the game lag less, but it also takes longer for it to react to any changes (which is a total killer for me). Since you're making a turn based battle system, it shouldn't be too much of a problem for you. I just tried putting the wait command at 1.0 and it seems to keep up well for one turn. Since the event will constantly be on, it means it'll take less than a second to show changes to HP or MP, so that should be fast enough.

Also, for recording HP changes due to poison or regen, if you just make the conditon subtract or add HP per turn instead of per second, then the call event should be able to take that into account that before the turn's over.
Logged

http://www.charas-project.net/forum/index.php?topic=23774.0

  • Print
Pages: 1 ... 5 6 7 8 9 [10] 11 12 13 14 15 ... 22
« previous next »
  • Charas-Project »
  • Game Creation »
  • RPG Maker »
  • Apathy of Angels - Updated 7/22/12 - Full mini update on pg1
 

  • SMF 2.0.10 | SMF © 2015, Simple Machines
  • XHTML
  • 2O11
  • RSS
  • WAP2
  • Simple Machines Forum