Attack Bitsets

Make games! Discuss those games here.

Moderators: Bob the Hamster, marionline, SDHawk

Post Reply
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Attack Bitsets

Post by SwordPlay »

I made a separate thread to avoid clogging up the Requests thread

Just thinking about Attack bitsets.
Not really sure what you want to do with them or if there are plans already to sort them out (can't remember tbh)

They are really all over the place and a large list is off-putting to newcomers and difficult to learn/remember. Most Attack bitsets have more suitable locations to be placed!

I think that most bitset options should be placed elsewhere in more relevant sections as suggested below

Display/Appearance
(visual effects. I think these should go in "appearance/sound" section)

Code: Select all

- unreversable picture (could be an option in graphic selection)
- show attack name
- does not cause flinch 
- do not display damage
Targetting/Failure
(specifics of landing attacks. I think these should go in the "target/aiming" section tbh)

Code: Select all

- which slots it can target
- store. auto and delete target (maybe go in "target/aiming" section)
- whether attack fails, gets cancelled
- mutable
- failure if status

- check costs/recheck costs (could go in the "cost" section)
Timing

Code: Select all

- delay doesn't block further actions. This could go in "appearance/sound" because that's where other delay/timing stuff is
Result
(things that are effects of the attack, such as effects on the target, battle, rewards should probably go in "Damage" settings)

Code: Select all

- does not trigger spawning
- resets register
- steal
- delete rewards
- cause heroes to run away
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

Damage Bitsets
Again, they are somewhat all over the place, and could be renamed and structured to be clearer to users

- divide spread damage

I think this should be somehow linked to the target setting, appearing as an option if there is more than 1 target for this attack
(thinking about this... maybe that is a bad idea. But if users want to target multiple targets, they have to do it through that menu in the first place. Maybe it should go in both "damage" and "aiming/target" so that users do not miss it)

- cure instead of harm
I think this should be placed as toggle option in the "damage settings" menu itself, as it is rather fundamental to what the attack does. perhaps under "damage math" because essentially it inverts (or whatever) that equation
You could put allow cure to exceed maximum here too!

- absorb damage
It could have its own menu where the amount of damage to be absorbed could be specified. You might want only a fraction of damage to be absorbed.

- ignore attacker's extra hits
I think this should go next to "Number of Hits" instead!

- show damage without inflicting
(this could be renamed I think. Mainly because it has a somewhat impenetrable description. It would be worth renaming it to something longer but clearer, like "Shows what damage would be without causing damage"
I'm not sure, but maybe it would be better off in "appearance/sound" (as well as in "damage")

- do not randomise
Perhaps this should go after "Extra Damage %" or near "damage math"?

- Damage can be Zero

I think this should be a toggle option called "Minimum damage = 1/0" and to be placed in the damage settings menu proper. Of course, someone is bound to ask "why can't we set the minimum damage to whatever we want?"
A minimum/maximum damage would be cool to add

- % based attacks damage instead of set
I think this should be changed to a toggle option called "% damage/ set to %" and placed after "Damage Math" when relevant

- don't allow damage to exceed target stat[
not sure about this one yet. This is primarily a visual distinction, right?

- Reset target stat to max
should be an option in "damage math" because... well it affects the formula's application

- Regen/Poison registers are linked
It could appear underneath "Target Stat" when the target stat is a register.

BTW, where a bitset is placed under an option conditionally, it should be indented to make it clear that that bitset belongs to that option.
Last edited by SwordPlay on Wed May 24, 2017 12:24 am, edited 8 times in total.
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

Chaining Bitsets has only a few options which I feel do not benefit from being hidden behind an "Options bitsets" menu. Rather, I feel they should be visible in the chaining menu.

Chaining Bitsets

- Attacker must know chained attack
Would be nice if this were above "Condition" instead, because this is essentially a condition.

- Ignore chained attacks delay
Could be a toggle "occurs immediately/respect delay"

- Delay doesn't block further actions
Could be a toggle "delay does/not block further actions"

- Don't retarget if target is lost

I would like it if this option were on by default!
I am not sure how other users feel, but generally, if I target an attack, I want all subsequent attacks to choose that target.
It could be something like "retarget is target is lost" instead


As a side note (and justification) I feel that many bitset options would benefit from being brought out from an obscuring menu and placed in a more visible and relevant location.
Perhaps further on, if there is a graphical overhaul, one could have iconic representations of certain bitsets as well.
A good example would be elements. They could simply be boxes with number of the element in them, or the name of the element next to them (would be difficult if the elements have long names, but they could be cut off)
Users could add iconic representations to the elements themselves, and have them display in battle etc,. in a traditional manner to most RPGs

I also noticed that "color" for battle menu options affect the entire line.
It would be cool to have colours linked to icons, or something like that so that the line could remain the same.
In any case, it would be nice to choose the colour of the caption/name of an attack too.

I think I mentioned it before, but it would be nice to set Tags via the conditional selector for attacks.
Last edited by SwordPlay on Tue May 23, 2017 8:17 pm, edited 2 times in total.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

If you think the bitsets are bad now, you ought to see what it used to look like! The damage bits were in the same menu as the others, bitsets which did nothing were still displayed, and there weere an extra 32 bits for elemental stuff!

Anyway, I agree with you. The Bitsets menu should be split up into multiple menus and organised; thanks for sorting through them, this is useful. And I also agree that many of the bitsets should not hidden in a bitsets menu, but should be put out in the open. (This is true in many other menus too). However, displaying too much in one menu could be messy. I feel like we just don't have a good way to display lots of options. Of course, we should try to split menus up into visual sections. But honestly, the menus which I've already split into sections, while it's much better, it still looks like a mess if there's too much. How can we improve it? Seeing mockups would be really useful.
I suspect that our menus will be more pleasant to look at if we use a variable width font and do other tweaking with spacing, colour, etc. Like not putting text right against the edge of the window!

However if the chain bitsets were all (or even partially) moved out of the separate menu I think there would be way too much stuff on the Chaining screen.
(If there was an icon for each, in addition to the long-form bitsets menu, that would be acceptable)

Only responding to some of your comments, though I agree with nearly all of them:
Virtuous Sword wrote:
- divide spread damage

I think this should be somehow linked to the target setting, appearing as an option if there is more than 1 target for this attack
This bitset (and also all the other unless I missed some) is already hidden when it's not relevant.
- cure instead of harm
I think this should be placed as toggle option in the "damage settings" menu itself, as it is rather fundamental to what the attack does.
Yes, it's way too significant to hide.
- show damage without inflicting
(this could be renamed I think. Mainly because it has a somewhat impenetrable description. It would be worth renaming it to something longer but clearer, like "Shows what damage would be without causing damage"
I'm not sure, but maybe it would be better off in "appearance/sound" (as well as in "damage")
Maaaaybe a setting like that could show in two places? I'm not sure.
- % based attacks damage instead of set
I think this should be changed to a toggle option called "% damage/ set to %" and placed after "Damage Math" when relevant
I think we should just split the % damage types up into two types. It really is two different damage math settings.
- don't allow damage to exceed target stat[
not sure about this one yet. This is primarily a visual distinction, right?
It's significant for attacks that use the Last Damage base stat and so forth, absorb, curing above maximum.
BTW, where a bitset is placed under an option conditionally, it should be indented to make it clear that that bitset belongs to that option.
Good idea.
I also noticed that "color" for battle menu options affect the entire line.
It would be cool to have colours linked to icons, or something like that so that the line could remain the same.
In any case, it would be nice to choose the colour of the caption/name of an attack too.
It's planned.
Last edited by TMC on Thu May 25, 2017 2:24 pm, edited 1 time in total.
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

I think it is worthwhile to pursue a graphical overhaul of the engine in general, and I am interested in alternate layouts of menus.
I would like to try to mock one up, but it's hard to do it justice :p
After all, CUSTOM has such a classic and timeless style that attempts to modernise it seem horribly dated by default!
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

not sure if this is what you meant, but i made this mockup, based off the current layout, not including future/planned changes.

it is also based around 320x200, so it is rather cramped, and i abbreviated some fields, for example
"thankvenge (last to cure)" could become "thankvenge (ltc)"
"poison register" could become "poison reg..."
"sequential projectile" could become "seq. projectile"
etc.,

I am in favour of calling "attacker", "user" instead.
Instead of "attack" it could be called "skill", "spell" etc.,
There's a few stuff like that. It ain't all about "attacks" really...
if you get rid of bitsets as an option, it could free a line for (e.g.) description text.


I did not bother to properly space things, such as the attack preview.
I also did not include iconic representations of certain options (such as attack pattern)

I think you could get away with expandable, collapsible, visible on select/hover type things, for example, in item costs, rather than add a row, I placed a select slice which could alternately show the item name and amount cost (ugly.. but an idea)
(but you probably could add a row, or have the name cut off or something)
I think with some doohickeys like visible-when-selected could really benefit CUSTOM in general.
I did not leave space for a help line, which i would have liked, but, oh well!

As a side note, the display of damage formula is cluttered.
Could be cleaned up a little to make it easier on users.

EDIT:
I did not put any effort into prettifying it!
I was just thinking about using the space in the window.
Many other forumites could do a better job at arranging, designing, etc., the contents, as well as making it look good/visually appealing.
Attachments
Screenshot from 2017-05-26 04-01-13.png
Screenshot from 2017-05-26 04-01-13.png (27.22 KiB) Viewed 931 times
Last edited by SwordPlay on Fri May 26, 2017 3:10 am, edited 3 times in total.
User avatar
Bob the Hamster
Lord of the Slimes
Posts: 7658
Joined: Tue Oct 16, 2007 2:34 pm
Location: Hamster Republic (Ontario Enclave)
Contact:

Post by Bob the Hamster »

An overhaul of the attack editor would be great, but that mockup looks too cluttered to me. Keeping each section on its own screen will make it easier to understand, and avoids the need for abbreviations.

I definitely don't want to change the names "attacker" or "attack"


I do like the overall categories of things that you have been organizing in this thread.
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

ah, ta Bob. Glad to be of service in some small way.

I think due to the small resolution, everything looks really, REALLY cramped.
Could probably squeeze, say, 20 lines of text in there, and I tried to fill it out (for example, don't really need to display the "delay" or "pause" etc.,)

Showing damage, target, cost, chains etc., is a good idea in general.
Perhaps there could be an alternate view which users could switch between to see the vital data?
I like the idea of having boxes appearing on-screen situationally, to show relevant data.

Realistically, I would like to be able to see this kind of data in the attack editor, even in a simplified manner, and I am sure many users would too.

EDIT:
in a more literal sense, the need for abbreviations is a factor of convenience, as a user would probably have to go to the relevant menu to change said fields in the first place, as well as familiarising themselves with the meanings of such fields using F1.
Most users probably wouldn't understand many of the settings just by reading the name, for example!
Even when things are written in the editor, its not always clear what the effect is.
Last edited by SwordPlay on Fri May 26, 2017 3:18 am, edited 1 time in total.
TMC
Metal King Slime
Posts: 4308
Joined: Sun Apr 10, 2011 9:19 am

Post by TMC »

Thanks, I'm happy seeing a fresh proposal like this. I found it confusing for quite a while, but now I understand it. It's a one-screen summary view of an attack (and top-level menu of the attack editor), potentially with some editing ability, not a one-screen attack editor. A summary view would be useful, for example when browsing for an attack. It's hard to say which information is the most essential to show in a summary.

There's no need to stick to 320x200. We've almost finished converting all of Custom to run at higher resolutions. Right now I'm thinking that we will continue to allow 320x200 as the minimum possible window size, but default to something larger, and have additional UI that only appears when you run at more than 320x200.

When the window is much larger, just having a list of menu items no longer makes good use of the space. Having small floating windows like in your mockup would be a better use. However maximising use of screen space by filling up the screen entirely seems counter productive. (But it would be cool if you could config what to display, then new users can have a friendly default view while more experienced ones can see what they want.) I've been wanting multi-window interfaces for a long time, although mostly for having two different editors side-by-side.
We could have a standard scheme for navigating them with the keyboard, such as TAB+arrows to select a window.

I think the coloured backgrounds work well for organisation.
As a side note, the display of damage formula is cluttered.
Could be cleaned up a little to make it easier on users.
Honestly, I don't know how to improve it. Suggestions very welcome.
Hmm... I could use coloured text to highlight parts of the preview formulas, and maybe even visually tie them to settings.
I think with some doohickeys like visible-when-selected could really benefit CUSTOM in general.
Yes!
Last edited by TMC on Fri May 26, 2017 5:45 pm, edited 4 times in total.
User avatar
SwordPlay
Chemical Slime
Posts: 966
Joined: Sun Jan 22, 2017 9:32 am
Location: London, England
Contact:

Post by SwordPlay »

Right, it's not meant to replace the attack editor, but to aid in at-a-glance editing. I hope you guys didn't think that it was meant to be a replacement for the attack editor! There are far too many settings for that, unless boxes/windows appear situationally.

Just an idea:
The boxes could be highlighted when a relevant menu entry is selected, or linked via a line to show which menu item is is related to.


Not sure about damage formulas. Are there plans to change them in the future (e.g. custom formula?)



As it is now, there seems to be too many lines.
Does it really need a whole line to tell us "DMG = DMG +/ 20%"?
or "If DMG <= 0 then DMG = 1"?

On up to 3 lines, it starts with "DMG = ..." which is just plain odd and not very clear.
It should really be combined into one line!



Here is an example of what it might look like when various bitsets* are on:

No. of Hits = 20 to 20 + Attacker Hits
DMG to (Target Stat) = (Reset Target Stat) (Formula) +/- (Variance)
Minimum Damage = 1/0, Maximum Damage = Target Stat (Max)
Attacker Absorbs Damage
Regen/Poison registers linked
Negate Damage if not 'Harmed by cure'

*Cure instead of harm
*Reset Target Stat
*Absorb Damage
*Do not exceed maximum (do not allow damage to exceed target stat)
*Healing poison causes regen, and reverse

If you really wanted, you could combine the "hits" with the damage formula such as "(damage) * (hits)"

Another idea might be to show a simplified formula, with each term explained below in a separate line.



A small issue is the order of the lines.
The target stat should go higher, or first, and the damage formula should not be interrupted by "Negate DMG if target not 'Harmed by cure'" for example, which should go lower, probably.

I would like to see a simple "Attacker absorbs damage" line, perhaps if absorb damage could be expanded to heal a different stat of the attacker, and at a non-constant rate.
For example, an attacker could absorb 1/2 the HP damage as MP.
I realise you can do this through chaining, but in that case, damage formulas are spread out through many attacks, and that is also something to consider.

Perhaps it would be worthwhile to display the effects of an attack in (roughly) the order that it occurs? I'm not sure, and it really depends on where you want to take the attack editor in the future.
As it is, attacks with complicated effects are mainly created by chaining effects together.
Where attacks get their values from previous attacks, there is the possibility of breaking or manipulating the values in some way, especially in a more complicated battle system. I think the attack system needs to be overhauled before complicated attacks can exist properly without fear of being bugged, broken etc.,
I feel this is tied to the ability of the damage formula to define the sources of its values, and this is possible food for thought.

EDIT: A simple way around this could be to have, as well as "saved target", "saved damage" with multiple "slots" for each.
One could have a dedicated "saved damage" value for use in a specific attack.
Having, not only 1 "saved damage" or "saved target" would allow more complicated battle/attack systems.



Even when "cure instead of harm" bitset is on, the damage formula doesn't (seem to) reflect this.
It says:
"Target HP -= DMG"
Is that right? When I toggle the bitset, the line doesn't seem to change.

Also, does "don't exceed target stat" apply to the maximum value of that stat? I can't seem to find it mentioned in the help file. I think it is implied though.
How does "harmed by cure" work for stats which aren't HP?
I noticed it says "Negate DMG is target not 'Harmed by cure'
Surely negate means to cancel, and it should say 'invert' or 'reverse' if the damage is not nullified? (I believe it is different between grammar, maths, and coding, but it's confusing to users in any case)
As well as that, it is needlessly wordy.



In any case, it is difficult to read as it is.
and it is written in an obfuscating way!
Users probably understand it better from reading what is written in the fields where you enter the information.
In many ways, it is easier to read the section ABOVE the formula!
However, one cannot check the bitsets without entering the bitset menu.

I think having it laid out in a table might be easier (see screenshot)
I think a table is a good idea because you can separate effects on both attacker and target by arrangement.

Other ideas might be icon representations.
Or, instead of a purely mathematical formula view, you might have an alternate, or toggle, descriptive/word-based layout

You could probably use formatting such as table/grid/lines to make it easier to view, but that is a suggestion for CUSTOM in general.
Attachments
Screenshot from 2017-05-27 05-05-31.png
Screenshot from 2017-05-27 05-05-31.png (4.55 KiB) Viewed 2445 times
Last edited by SwordPlay on Sat May 27, 2017 4:29 am, edited 1 time in total.
Post Reply