Engine Ideas/Suggestions

Report any bugs or ideas/suggestions that arise during testing of the Alpha Build Version 5

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Mon Sep 02, 2013 7:44 pm

I've pitched this before, IIRC, but emboldened by the recent (almost, sorta, kind of) approval of right-clicking to be used as a shortcut command, I'm pitching this again. Persistence is a virtue, I'm told. ;)

OK, if the shop interface is (possibly) going to be using right-clicks instead of separate Buy and Sell buttons, how about using right-clicks for equipping and unequipping in the Inventory Window? By right-clicking on the item you either equip it (if it is unequipped and can be equipped -- and is in the inventory ofc.) or unequip it (if it is currently equipped). This would be much faster and smoother than dragging and dropping. Note that you could still drag and drop if you really wanted, that functionality wouldn't be removed. This right-clicking would just be an alternative way, a shortcut. This would be the same as in the shop interface, which is good (consistent interface is a good thing), i.e. left-click selects and displays item description in the description window, right-click "moves the item" (from one list to another). As any equippable item is practically tied to a specific equipment slot, there shouldn't be difficulties in determining where the item being equipped goes -- boots go to feet, gloves to hands, helm to head, etc. (in the rare case of overlap, e.g. dual-wielding two weapons, the items could still be dragged and dropped to the hand you want to equip them to -- these ought to be a rarity, however). This is the way many UIs in CRPGs work nowdays with little to no problems of functionality.

Also, there would be no need to have those dinky little Unequip buttons anymore (I left half of them showing in the picture below, for reference). Streamlining the UI, buddies! As an added bonus, there would be more space for longer item names.

Here's the sketch:

Image

The reason I switched the Use and Drop buttons around is that, IMO, it's more natural to have the Use Item button closer to the Item Description window (which details what the item does if used) than having the Drop Item button there. Having the Drop button at the outer edge of the window is a more fitting place for that command, kind of removed from everything else, limiting accidental button presses, etc.

Short rant about UIs (not trying to be snarky or self-righteous here): As much as I enjoy old CRPGs and consider myself an old school gamer, I do not enjoy old and clunky UIs. I don't think many do. There are many times I've heard people say, that they'd love to play old CRPG such and such again, but don't as they really can't stand the archaic UIs anymore. It's not the outdated graphics or sounds, or the simplistic stories written by programmers instead of actual writers. Nope. It is the UI that stands in their way. I'm sure there are many more players willing to stomach simplistic, bare-bones graphics, than there are players willing to stomach bare-bones, clunky UIs. Thus we should do our utmost to make the UI in IB as smooth and easy to use as possible. If we do not, we're really doing ourselves and all the prospective players a huge disservice and quite possibly curtailing players away from IB. This is why I'm against superfluous buttons and extra button presses, if what they do could be handled quickly and easily with a single mouse click. We have two buttons on the mouse, let's use them to the fullest. (Rant over.)

P.S. It would be great to append a customizable weight unit abbreviation after the ENC values (like kg, lbs, and such).
"It is pitch black. You are likely to be eaten by a grue."
User avatar
Lurking Grue
Backer
Backer
 
Posts: 291
Joined: Sat Dec 08, 2012 12:26 pm

Re: Engine Ideas/Suggestions

Postby youngneil1 » Tue Sep 03, 2013 5:14 am

Great stuff - I totally agree on the importance of a sleek UI. It shows that love was spent on the details, which gives the player hope that the same love went into the larger things right from the start. It's crucial for leaving a first impression (and later on of course saves the player from many unnecsessary repetitive actions, misclicks, try & error wastes of time).

A streamlined "left is info, right is action shortcut" for items in shops and equipment would certainly help therefore. Drag & drop should always remain as this is the most known and intuitive convention (thanks to Windows).

A party gold info would be quite essential (bets placed in inventory, one could also place it via script on the character screen of course). Some gold info somewhere should be in by default IB setting.
User avatar
youngneil1
Backer
Backer
 
Posts: 4698
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Tue Sep 03, 2013 11:02 am

youngneil1 wrote:A streamlined "left is info, right is action shortcut" for items in shops and equipment would certainly help therefore. Drag & drop should always remain as this is the most known and intuitive convention (thanks to Windows).

Yes, this is exactly what I'm speaking about and trying to promote.

youngneil1 wrote:A party gold info would be quite essential (bets placed in inventory, one could also place it via script on the character screen of course). Some gold info somewhere should be in by default IB setting.

You are absolutely right. I forgot that. The party gold (or whatever the currency is called) can be squeezed in above the Encumbrance by making ENC take less space (vertically), kind of overwriting the top row of the current ENC display. Can't do a sketch right now, I'm at work, but I'd guess it's easy enough to envision even without one. It might be necessary to omit the currency name, if it becomes a too tight fit (maybe "Party Money/Funds: xxxxxx" would suffice for this - I'm just worried that very long currency names wouldn't fit well in the space available, "Intergalactic Hyperspatial Buckazoids", I'm looking at you :D ).
"It is pitch black. You are likely to be eaten by a grue."
User avatar
Lurking Grue
Backer
Backer
 
Posts: 291
Joined: Sat Dec 08, 2012 12:26 pm

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Tue Sep 03, 2013 8:55 pm

Lurking Grue's Drawing Hour, part 42

It would be great if the "Loot the Container" window would allow you see the stats of the items in it, before you pick any of them up. Maybe something like in the sketch below could be implemented for the looting window. It would follow the same 'left-click to select & see info, right-click to do an action (get the item)' as the Shop/Vendor window would do. Take All button would also close the window after getting all the items.

Loot Container window

Image

For the combat window, I would propose to enlarge the area for commands in the lower right corner (by deleting the Continue button and Party Action title bar) and also increase the size of the buttons (fits more text and is easier to click). Have the acting character's name (who's turn it is) be shown on the title bar. In addition, why not delete the Party Actions? Aren't they pretty much redundant (regarding Flee, see end of this post)? Once the battle is done the End Turn button can act as an End Combat button or Continue button (and at the start of combat, act as Start Combat button, if needed).

Combat Actions

Image

And how the above fits in the same area as the previous commands

Image

The 8 action buttons would be (when the action is selected, the button is shown as pressed down or highlighted to denote the action that's selected/active - pressing it again or choosing another action, cancels the action):
- Melee Attack: This is needed, in case there are longer reach weapons (like long spears and halberds) which can reach 2 squares away. Bumping into the enemy wouldn't be feasible as an attack move for these kinds of weapons. Additionally, if Melee Attack is selected, hovering the mouse over an enemy would show the ToHit chance in the info window (e.g. 35% chance ToHit) if the enemy is in reach of the weapon.
- Ranged Attack: (Self-explanatory, also ToHit chance shown on mouse hovering if in range.)
- Cast a Spell: (Self-explanatory)
- Use Item: For items which can be used in combat (e.g. potions, magic wands, etc.). Shouldn't show items which cannot be used in combat.
- Change Facing: Need to be able to set which way the PC is facing to better prepare for incoming attacks and avoid backstabs or flanking, etc.
- Special Action: This incorporates Use Trait and Use Skill commands. Every action doable in combat which is not handled by other commands and is not done automatically is done with this command. (E.g. Hide in Shadows, Charge/Bull Rush, Defensive Fighting, etc.)
- Equip Item: For items which can be equipped/readied in combat. Used mostly for changing weapons, but could have other uses (e.g. put on a magic ring). Some items would not be equippable in combat, like suits of armor (must put on your armor before the battle and no changing of armor in the heat of the battle).
- Delay/Wait: Postpone your turn until later in the combat round. Move e.g. 10 or 20 points down in the move order and use your turn then.

The 2 special buttons (in place of party actions) are:
- Show Stats: There must be a way to inspect your PCs stats and skills in battle. This would be it. (Or left-clicking on the PC portrait could do it too. Then this button would be free for something else.)
- End Turn (shortcut: Enter, not E): End the current, acting character's turn and move to the next PC/NPC/Monster in the Move/Initiative Order.

I'd prefer underline to show the keyboard shortcut (e.g. Ranged Attack), but used brackets in the sketches as it is in IB now.

Regarding fleeing: IMO, it should not be easy and certainly not automatic to flee the combat. Either have it require a successful save of some sort (if we retain the Flee/Run Away button) or better yet, require everyone to move off the encounter map in order to escape the combat and get away.

A few short requests/suggestions:
- In Travel/Out of Combat mode, let C open the character record (in addition to clicking on the portrait) and close it too.
- Need some padding between the text and window borders in the journal, plz.
- In combat, there's a lot more info that could be shown in the info box right above the commands. Hopefully it one day will.
"It is pitch black. You are likely to be eaten by a grue."
User avatar
Lurking Grue
Backer
Backer
 
Posts: 291
Joined: Sat Dec 08, 2012 12:26 pm

Re: Engine Ideas/Suggestions

Postby youngneil1 » Tue Sep 03, 2013 10:19 pm

Excellent post there -full of juicy details, yet in a concise and straight manner, also very easy to grasp thanks to the illustrations. I agree with every single detail. Perhaps just some minor things to add / elaborate on:

- Stats button: A left click on portraits or pressing "C" (like on world map then) would be sufficient imho. Perhaps use the freed space indeed for a button that's called "Attempt to avoid battle" prior to the first round and afterwards changes its name into "Attempt to flee". Both, "Attempt to avoid battle" and "Attempt to flee" would each call a different script. Authors could modify these scripts, checking for the currentencounter name and then having rules on success chance of attempting to avoid and attempting to flee for each specific encounter (some encounters might make it easy to flee, others simply impossible). These chances easily could factor in things like player position (are players in a flee zone) and also give penalties on a failed flee attempt (e.g. reduction of SP, other types of exhaustion effects).

- Change facing: I think holding shift while pressing a move direction turns a character for the expense of 1 movement point already (will have to double check and also add to the guide). Still, I agree that there also should be button and a clear hotkey, like "F" here for it. Otherwise, it's too easily overlooked.

- Melee attack: For the sake of speed, bumping into an enemy should still do a melee attack with the weapon in hand. It's just quick and easy. But I think you intend the melee attack button not as a replacement for bumping into an enemy, but just as an additional way to make a melee attack. Perhaps a long range melee weapon attack could also be triggered via the "ranged attack" button. Actually how about having one "Attack" button (for melee and ranged) that uses the weapon at hand on the target left clicked afterwards (if this target is in range of the weapon in hand)? Would spare a button?

- Equip item: As discussed this could also display in the menu (where you choose the item to equip) the time needed for equipping. When this is more than 1 round, the player character would just automatically end her/his turns until the equipment change duration is over. Some items might be equipable even without time loss, other snot at all.

- Delay/Wait: It might work in a way tat the player character will just switch positions with the NPC/creature/PC right next after him in the initiative queue, dropping down one place with each click of the delay button (so it's one click on delay button, next in line creature/NPC/PC acts, the delaying player character is again asked what to do, including delaying again, and so forth). A player character who has delayed his action will remain at that (later) slot in the initiative queue for the rest of the battle (so delaying comes with a price).

-Creature/PC Info box in combat: Perhaps using a technique like with the flexible character sheet content would be the best way to use the info box. Open it up to the authors to decide what goes in there by placing that code into a script open for editing?
User avatar
youngneil1
Backer
Backer
 
Posts: 4698
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby slowdive » Wed Sep 04, 2013 4:59 am

Great ideas again LG and YN1. I wonder if instead of using the info box, we just add stationary floaty text over the moused over creature (so the text would be on the combat map). I needed the info box due to GDI+ issues, but now that we made the move to DX9 this is easy to do. Also, I can easily make the floaty text be customizeable like we have for the character sheets. Maybe a script called CombatInfoBoxData.cs

Another thing I thought about would be to have the range and move distance graphical indicators have separate toggle buttons. Right now, the button turns both the attack range and the movement range highlights on at the same time, but this can get very busy looking. I'd like to have two buttons so that you can have movement range on all the time or attack range on all the time or both or none.

Thoughts?

Oh, and the issue with underline versus brackets [] for short cut notifications, I tried to do the underline option originally, but I couldn't find a way to do it with the way titles are assigned to GroupBox controls (believe me, I tried :D )
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3046
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Ideas/Suggestions

Postby youngneil1 » Wed Sep 04, 2013 5:24 am

I wonder if instead of using the info box, we just add stationary floaty text over the moused over creature (so the text would be on the combat map). I needed the info box due to GDI+ issues, but now that we made the move to DX9 this is easy to do. Also, I can easily make the floaty text be customizeable like we have for the character sheets. Maybe a script called CombatInfoBoxData.cs


All hooray for CombatInfoBoxData.cs :D! A script for the info box would be really cool. Authors could then also implement skill checks to decide how much info is shown, great potential. I wonder though if the space of floaty text would be enough. I could imagine to have quite a lot info in such infobox - perhaps even two or three lines of ambience creature description for the atmosphere or hints about AI behaviour. It might be more than naked stats.

Therefore there could be a customtizable floaty info box (FloatyCombatInfoBoxData.cs) with core data for quick glance (like e.g. hit points left, state of/effects on the monsters (sleeping, held,...) and a customizable stationary info box (StationaryCombatInfoBoxData.cs) with more detailed info that takes more room. Actually, we even might have a floaty infobox and just a button Called "Creature Info": A click on creature info button would allow to select a creature which in turn would open a second window, like a character sheet, but just with info text on the selected monster. This would give author all the space they need to write information of the creature down. Perhaps they would even add a picture (or just reuse the token of the creature again, perhaps zoomed a little). So, our two scripts might then be FloatyCombatInfoBoxData.cs and CreatureScreenData.cs; also the right hand side info box would vanish and we would get a new button "Cretaure Info". Ah, we could even just use the "Show Stats Button" that Grue has suggested this way: Click "Show Stats Button", then click either a creature (Creature info screen) or a PC (Character screen). Should be cool. What do you think?

Another thing I thought about would be to have the range and move distance graphical indicators have separate toggle buttons. Right now, the button turns both the attack range and the movement range highlights on at the same time, but this can get very busy looking. I'd like to have two buttons so that you can have movement range on all the time or attack range on all the time or both or none.


Good idea, all for it :) Ah, and brackets will be fine, too - got really used to it by now :D
User avatar
youngneil1
Backer
Backer
 
Posts: 4698
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby youngneil1 » Wed Sep 04, 2013 5:37 am

To elaborate a bit further on the separate Creature Info screen: This could be called either by using the "Show Stats Button" or perhaps just by right click on a creature token. A right click on a PC token would then show the character screen. This way a direct right click could be a short curt for pressing "Show Stats Button" and then clicking on monster /creature. So, how about having right clicks on tokens in combat as info clicks, opening a separate character/creature screen?
User avatar
youngneil1
Backer
Backer
 
Posts: 4698
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby slowdive » Wed Sep 04, 2013 5:40 am

youngneil1 wrote:I wonder though if the space of floaty text would be enough. I could imagine to have quite a lot info in such infobox - perhaps even two or three lines of ambience creature description for the atmosphere or hints about AI behaviour. I t might be more than naked stats.


I was thinking of just having text appear on the combat map over the creature when you hover over it (maybe have a toggle button for turning off hover over info as well). So this text would use the standard draw floaty text functions and you could put as much text on the screen as you want...even fill the entire combat map with creature description and stats. Of course, a cool floaty UI box (adjustable in size based on the amount of text requested) would be nice as well. A separate screen for additonal info may be nice as well if we think that the floaty text on combat map will not suffice. Many options now that we have DX9 :D
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3046
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Wed Sep 04, 2013 11:07 am

Aargh, so much to reply to!! I'll reply quickly now from work, as I won't be home tonight until very late in the evening and then I'll likely just hit the sack immediately. Let's see how far I get before I have to quit (I'll continue tomorrow afternoon then).

youngneil1 wrote:- Stats button: A left click on portraits or pressing "C" (like on world map then) would be sufficient imho. Perhaps use the freed space indeed for a button that's called "Attempt to avoid battle" prior to the first round and afterwards changes its name into "Attempt to flee". Both, "Attempt to avoid battle" and "Attempt to flee" would each call a different script.

Yes, pressing C or left-clicking on the portrait should suffice. (I somehow thought C was already reserved for Cast Spells, but the shortcut for that is S, not C.) So, in place of the Show Stats button, there could be an Avoid Combat button for the start of the encounter and Flee Combat once the battle is joined. Avoiding combat altoghter if certain skill checks or saves are succeeded would be OK, except when the party is ambushed (then it shouldn't be possible). Having a script fire off at the attempt of either Avoid Combat or Flee Combat would be great, allowing the author to custom tailor them to his liking (perhaps disallowing fleeing completely).

youngneil1 wrote:- Change facing: I think holding shift while pressing a move direction turns a character for the expense of 1 movement point already (will have to double check and also add to the guide). Still, I agree that there also should be button and a clear hotkey, like "F" here for it. Otherwise, it's too easily overlooked.

Huh, I didn't know that Shift+Movement key changes facing. In any case, also a dedicated button for it would be good (and F for keyboard shortcut). If it deducts one MP from Movement, I'm doubly impressed. It's exactly what I was thinking. We might want to add MP costs to some other actions too (the ones that do not take a whole turn), or keep it simple by just sticking to 'a move up to Mov't Range plus one action' rule. The old Realms of Arkania games had a nice system for actions consuming MP, but in effect it was just an action point system by another name (and those can be a bit "fiddly"). Oh well, maybe have this as an after the launch "mod project" (Action point Combat Mod Experience = ACME :) ).

youngneil1 wrote:- Melee attack: For the sake of speed, bumping into an enemy should still do a melee attack with the weapon in hand. It's just quick and easy. But I think you intend the melee attack button not as a replacement for bumping into an enemy, but just as an additional way to make a melee attack. Perhaps a long range melee weapon attack could also be triggered via the "ranged attack" button. Actually how about having one "Attack" button (for melee and ranged) that uses the weapon at hand on the target left clicked afterwards (if this target is in range of the weapon in hand)? Would spare a button?

Yes, I meant it as an alternative to the bumping into enemies, not as a replacement. Both would work. Hmm, I could see a unified attack command work too. However, I wouldn't want to have switching between melee and ranged attacks instant (a free action). I agree, have the Attack command use the currently active (ready, in hand) weapon the character has, be that melee or ranged. Further, I would have the player use the Equip Item command to switch weapons and use a turn in that (or perhaps just a few MPs). Thus the player would need to think ahead when to switch weapons and not just magically blink and switch a bow to a sword instantly.

Got to go. I'll get back to this ASAP, but that might not be until tomorrow afternoon. Got lots to say about this still. 8-)
"It is pitch black. You are likely to be eaten by a grue."
User avatar
Lurking Grue
Backer
Backer
 
Posts: 291
Joined: Sat Dec 08, 2012 12:26 pm

PreviousNext

Return to Alpha Build 5 Bugs and Ideas Reporting

Who is online

Users browsing this forum: No registered users and 1 guest

cron