Jump to content
Chewett

The big combat bugfix - More information

Recommended Posts

This is one of the topics I am working through: http://magicduel.invisionzone.com/topic/16598-unusual-stats-during-burst-combat/?p=165603

 

For the moment, all mysterious and questionable bugs will be left and I will focus on clarifying and adding more information to the combat logs.

 

This topic is for all things you feel need adding to the combat logs. Please copy content from that above post.

Share this post


Link to post
Share on other sites

Not just the creat id, the creat type id too. Purpose is so that custom names don't confuse people. Even better would be unique name of creature type (but I guess such thing doesn't exist yet in DB?). Creat id itself just shows us which creat did what, doesn't assures us yet what kind of creat it is. Creat id also isn't enough for it's own purpose because we don't know which slot it's in.

 

Combat window has the "log" and "display" parts and it's quite messy to figure out which creat action from log did what. You can put 6 santas in ritual and all can be of same name.

 

We want logs to be usable when exported. Logs currently don't hold info on creature level, type and slot, which are very important stuff. Each time bug regarding combat is posted people manually have to investigate those things and post them along which makes them prone to human error while sometimes being impossible to be sure in extreme cases.

 

Example of current situation

 

gonzalocsdf's Water Daimon III (809436) does steallife to strong creature(s) of Justin Case and:
    - Steallife power: 20%
    - steals 135 vitality from Scout (831517) and gives it to Unholy Pope (792744)
and remains with 538 vitality
 
How it should look like
 
gonzalocsdf's Water Daimon III (id:809436; type:4; lvl:7; slot:1) does steallife to strong creature(s) of Justin Case and:
    - Steallife power: 20%
    - steals 135 vitality from Scout (id:831517; type:12; lvl:1 ; slot:1) and gives it to Unholy Pope (id:792744; type:15; lvl:3; slot:2)
and remains with 538 vitality
 

Who remains with 538 vitality? Scout? Daimon? Pope? It needs to say who. Actually it needs to mention all of them, or if you want neat solution, just the one which actually lost and/or gained VE. One might think that it implies just that in example above but martyrism is one of cases of such exception where it tells you remaining ve of protected creature rather than tree itself who just burned some.

Replace "type" with unique name for creature type if possible.

 

Without above you can't really know what happens next. Which is the following:

 

###### START ROUND "2" ######
Applying temporary effects for Justin Case, slot 1 :
protect (round:2 protect: defence=358|from 1 to 359; )
 
It just gets messy when there are lots of effects and you have no idea which creature is in which slot and which effect came from where and so on. You can help yourself with graphical part of combat, but when your log need to be read by somebody else it's different story.
Edited by Ary Endleg

Share this post


Link to post
Share on other sites

Having all that info in each round will clutter it to hell. :P At the least, it can be mentioned once in the Influence tab, since you can switch tabs quickly and when returning to Rounds it will have remembered exactly where you were. ID and Slot should be enough in the Rounds tab.

 

Influences for [player name] ######
[creature name] ([ID], [type], [level], [slot]): [creature ability]
 
ID goes a long way to help since we can now determine what creature is in which slot by using the Combat Action section. (hover mouse over creature and link ID to slot, then corelate with Export) Artwork in Combat Action section will help some, if not most, to determine what creature/level/stats will act from each slot.
 
Agreed with VE part. It should include who's left with what, as well as mention VE of the other creature, to determine if it undergoes any changes as a result of possible effects it might be under.
Edited by Myth

Share this post


Link to post
Share on other sites

Even if the ids and type and slot would make it easier to read, we'd all have to agree that it would "clutter it to hell" .

Maybe it would be enough to have them listed at the beginning like :

gonzalocsdf's creatures
 - Water Daimon III (id:809436; type:4; lvl:7; slot:1)
 - Unholy Pope (id:792744; type:15; lvl:3; slot:2)
- ...  slot 6
Justin Case's creatures
    - Scout (id:831517; type:12; lvl:1 ; slot:1)
..
   - slot 6
 
And then have the log like this
 
gonzalocsdf's Water Daimon III (s1) does steallife to strong creature(s) of Justin Case and:
    - Steallife power: 20%
    - steals 135 vitality from Scout (s1) and gives it to Unholy Pope (s2)

 

or extend the log (the HTML one) with some title text which would give all the other creature details like :

 
gonzalocsdf's Water Daimon III (s1) does steallife to strong creature(s) of Justin Case and:
    - Steallife power: 20%
    - steals 135 vitality from Scout (s1) and gives it to Unholy Pope (s2)

Share this post


Link to post
Share on other sites

Ary also mentioned adding starting stats for creatures, before combat actually commences. This would also help a lot with debugging, as it would make effects clearer during combat. These could go directly underneath each creature, as No one layed them above. Disabling non combat stats during combat would also be nice.

 

For example:

 

[spoiler]Loading Asthir creatures

BloodPact Dark Archer (id:694921; type:33; level:3; slot:1)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

BloodPact Dark Archer (id:828561; type:33; level:3; slot:2)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

BloodPact Heretic Archer II (id:836456; type:33; level:2; slot:3)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Unholy Priest II (id:816053; type:15; level:2; slot:4)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Imperial Aramor (id:820193; type:32; level:1; slot:5)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Unholy Priest II (id:816054; type:15; level:2; slot:6)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

 

Loading MRF creatures

Dark Archer (id:727579; type:21; level:3; slot:2)

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

 

Applying 10% of Asthir's energetic influence

BloodPact Dark Archer (s1) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

BloodPact Dark Archer (s2) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

BloodPact Heretic Archer II (s3) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Unholy Priest II (s4) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Imperial Aramor (s5) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

Unholy Priest II (s6) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

 

Applying 20% of MRF's energetic influence

Dark Archer (s2) receives

VE:[value]; att:[value]; pow:[value]; def:[value]; reg:[value]; ini:[value]

 

(for creatures which don't use a certain stat, hide that stat - don't disable it, as it counts when creatures are being targeted - weak/strong; you can do this by hiding them if base value is 0 - this only applies to attack/power)

 

Influences for Asthir ######

- BloodPact Dark Archer (s1):

creatureboost - this ability is not detailed when it kicks in

- Unholy Priest II (s4):

vampiricaura - this ability is detailed when it kicks in

- Unholy Priest II (s6):

vampiricaura - this ability is detailed when it kicks in

- Imperial Aramor (s5):

morale - this ability is not detailed when it kicks in

BloodPact Dark Archer (s1) receives ini:[value]

BloodPact Dark Archer (s2) receives ini:[value]

BloodPact Heretic Archer II (s3) receives ini:[value]

Unholy Priest II (s4) receives ini:[value]

Imperial Aramor (s5) receives ini:[value]

Unholy Priest II (s6) receives ini:[value]

attackbonus - this ability is not detailed when it kicks in

BloodPact Dark Archer (s1) receives att:[value]

BloodPact Dark Archer (s2) receives att:[value]

BloodPact Heretic Archer II (s3) receives att:[value]

Unholy Priest II (s4) receives att:[value] - hide this line

Imperial Aramor (s5) receives att:[value]

Unholy Priest II (s6) receives att:[value] - hide this line

- BloodPact Dark Archer (s2):

creatureboost - this ability is not detailed when it kicks in

- BloodPact Heretic Archer II (s3):

creatureboost - this ability is not detailed when it kicks in

 

Influences for MRF ######

 

(so as to not clutter this area too much, if all ability given values are 0 for a creature, hide effect for that creature - Pope vampiricaura does this)

(Tormented Soul and Soulweaver abilities are a mess in display; you can't tell who gets what)

 

Applying Asthir's Creature Tokens at 100%

BloodPact Dark Archer (694921)'s creature tokens []

Unholy Priest II (816053)'s creature tokens []

Unholy Priest II (816054)'s creature tokens []

Imperial Aramor (820193)'s creature tokens []

BloodPact Dark Archer (828561)'s creature tokens []

BloodPact Heretic Archer II (836456)'s creature tokens []

 

Applying MRF's Creature Tokens at 100%

Dark Archer (727579)'s creature tokens [claw1, blooddrop1, blooddrop2]

[blooddrop2]  gets 0 [spoiler] ([spoiler] percent)

(influences and tokens appear to be sorted by ID)[/spoiler]

 

Influence tab will get cluttered with all that information, but it will give detailed info on what we begin with, what gets added as an effect of what, and understanding rounds, deducing what should or shouldn't happen will be much easier.

 

Also, some of you know, slots 1 and 2 are switched in combat, as opposed to when you create a ritual. Fixing this would also remove a bit of confusion.

Edited by Myth

Share this post


Link to post
Share on other sites

If you are there ... then why not add the stats of each (alive) creature at the beginning or end of each turn.

That would make the debugging a lot easier.

 

It will all just turn to displaying so much information and not clutting the logs.

Maybe these intermediary stats could be hidden with a tag like the "spoiler" one in forum.

Share this post


Link to post
Share on other sites

I don't know if they can, but it would indeed help. And while on the subject, there's also the issue of some stats being displayed rounded. This makes it so that there's little to no clue what stats are being addeed to.

 

Examples:

 

Do we have a base attack of 7, to which we add 50% = 10.5? --- how does this get rounded?

 

Do we have a base attack of 6.8 (displayed as 6 or 7), to which we add 50%

= 9 if 50% is added to displayed rounded down value

= 10.2 if 50% is added to actual value

= 10.5 if 50% is added to displayed rounded up value

--- and then how do these get rounded?

 

Edit: then you have situations with multiple bonuses. Does the rounding occur after each bonus, or only once at the end, after all of them?

Edited by Myth

Share this post


Link to post
Share on other sites

If you are there ... then why not add the stats of each (alive) creature at the beginning or end of each turn.

That would make the debugging a lot easier.

 

It will all just turn to displaying so much information and not clutting the logs.

Maybe these intermediary stats could be hidden with a tag like the "spoiler" one in forum.

 

The more I look at this, the more I feel we need to have a slightly different back end combat system. I think key change is that we need to be able to get arbitrary amounts of logging information depending on the user, possibly with a change in the after combat log screen, but also be able to know precisely what went into the battle so it could be reproduced accurately.

 

Aka, input that matters to a battles outcome (I believe):

Players stats and principles, armor, temporary effects

Creatures (level, type) used

Creatures tokens

Creatures age - used for some tokens

day of battle - used for some tokens I believe?

Random seed - Used to allow the random to act the same each time

 

----

 

Anything else that is required to "run" a battle?

Edited by Chewett

Share this post


Link to post
Share on other sites

creature wins might be important - Increase the defence of the creature by one for each won fight it has (token)

(or maybe not)

Should defence be influenced by successful defence and attack by successful attacks ?
And ... should that mean that one could achieve 1m attack / defense at mp3 ?

Share this post


Link to post
Share on other sites

Should defence be influenced by successful defence and attack by successful attacks ?

 

Sounds like a nice idea, but would perhaps need a new token, along with a whole new design on counting creature wins; the token supposed to give this bonus has a name to go with the ability :p

 

And ... should that mean that one could achieve 1m attack / defense at mp3 ?

 

It isn't; this bonus is capped at 300 max. It's also one of the bugged tokens - it doesn't kick in yet.

Edited by Myth

Share this post


Link to post
Share on other sites

I just remembered something: adepts give some bonus. As I have no (nor ever had) adepts so I cannot (nor ever could) test if it is taken into account.

Someone should look into it.

 

Darn, these things (features) should be written somewhere / should be removed from spoiler tag.

Share this post


Link to post
Share on other sites

I just remembered something: adepts give some bonus. As I have no (nor ever had) adepts so I cannot (nor ever could) test if it is taken into account.

Someone should look into it.

 

Darn, these things (features) should be written somewhere / should be removed from spoiler tag.

 

This is why I plan to change combat into a simulation type model.

 

The simulator accepts all the paramters, starts it up, and then runs. Calculates effects to apply to the player (stats and such) and then passed back to the game.

 

This means we can try and combination in the simulator as we want to easily repeat combat, and find bugs.

Share this post


Link to post
Share on other sites

No adepts don't add any bonuses to combat.

 

Adepts help you with healing creatures manually. Basic amount is up to 8% of current ve per ap, each adept increases that amount linearly by 8% and of course you can't overheal creats this way. It's capped at 100% but very likely due to max ve limit on creat rather than actual cap on this bonus.

 

This makes me wonder if a mp6 with lets say only 300 current ve could heal it's dead creature by more ve than he/she has. In other words use 300 ve yet heal it for around 800 ve. If so then we have a bug :p

Share this post


Link to post
Share on other sites

 

This is why I plan to change combat into a simulation type model.

 

The simulator accepts all the paramters, starts it up, and then runs. Calculates effects to apply to the player (stats and such) and then passed back to the game.

 

This means we can try and combination in the simulator as we want to easily repeat combat, and find bugs.

 

How do you intend to handle the parts that are pseudo-random, such as the creatures being targeted by a "Random" targeting ability? Do you intend to include a set seed for the random number generator as part of the simulation parameters?

Share this post


Link to post
Share on other sites

 

How do you intend to handle the parts that are pseudo-random, such as the creatures being targeted by a "Random" targeting ability? Do you intend to include a set seed for the random number generator as part of the simulation parameters?

 

As Ary pointed out, these are the current (or were current) items that the simulator will accept including a seed http://magicduel.invisionzone.com/topic/16600-the-big-combat-bugfix-more-information/?p=165630 


The simulator will be more useful as I will store all inputs to the simulator, and then output, and from this the simulator can be rerun with different levels of logging, or ran through step by step to see precisely what it is doing.

 

Since all the inputs will be stored, they wont be depdendant on things that change and become impossible to reattain (aka wins, effects, stats at the time, etc etc) which is the current problem with combat.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Forum Statistics

    15,973
    Total Topics
    174,646
    Total Posts
  • Recently Browsing

    No registered users viewing this page.

  • Upcoming Events

    No upcoming events found
  • Recent Event Reviews

×
×
  • Create New...