Engine Ideas/Suggestions

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

Re: Engine Ideas/Suggestions

Postby slowdive » Fri Sep 20, 2013 9:01 pm

Lurking Grue wrote:Jeremy, what's your view on the mouse interface in IB? Are we going to aim for a fully mouse controlled interface (with movement and actions all controllable by mouse) in the release version of the engine? As I've written above, I would really like IB to have a good mouse controlled interface in addition to keyboard commands. I'd like to hear your opinions on this.

In other news, I'll be soon parting for a work-related trip and will be gone from these boards until next Friday (20 Sep). Behave yourselves while I'm gone! ;)


Oops, sorry...is this the question you are referring to? Full mouse control would be nice for release, but it could be more difficult that I image (new territory possibly). I'll try and get as much in as possible. I would like to see some kind of system where you click on a square and the pathfinding system takes you there (aka BG), but stops if a trigger is hit. It could even highlight the exact path you will take as you move the mouse around on the map before clicking so you can see what squares you will be moving on for each move. Maybe even click out a series of pathing waypoints at some point. All the highlights could be toggled on and off. Again, we can try and get in as much as possible by prioritizing the work.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2993
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Sat Sep 21, 2013 7:01 pm

slowdive wrote:is this the question you are referring to?

Yes, that's it. Thanks for the answer. I wanted just to hear your thoughts, as knowing how far we're going to go with mouse controls is very important when trying to hammer out a UI, that's all. No worries.

slowdive wrote:Full mouse control would be nice for release, but it could be more difficult that I image (new territory possibly). I'll try and get as much in as possible. I would like to see some kind of system where you click on a square and the pathfinding system takes you there (aka BG), but stops if a trigger is hit. It could even highlight the exact path you will take as you move the mouse around on the map before clicking so you can see what squares you will be moving on for each move. Maybe even click out a series of pathing waypoints at some point. All the highlights could be toggled on and off. Again, we can try and get in as much as possible by prioritizing the work.

Yeah, that would be really nice. However, if that would take too much time to do, some of that can easily be moved to post-release. If we at least have a "bare bones" version done by release, it would be grand. That is, it would be possible to do everything by mouse, but some finer parts (like pathfinding) could be missing. Instead, the player would guide the party himself with the mouse, like e.g. in later Ultimas. Bad pathfinding is easily a bigger nuisance than no pathfinding. Many are the times I cursed the poor pathfinding in Baldur's Gate, sending some of the PCs on crazy detours across the map, stumbling on enemies when taking the long way around, etc.
"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 » Sat Sep 21, 2013 7:16 pm

If we at least have a "bare bones" version done by release, it would be grand. That is, it would be possible to do everything by mouse, but some finer parts (like pathfinding) could be missing. Instead, the player would guide the party himself with the mouse, like e.g. in later Ultimas. Bad pathfinding is easily a bigger nuisance than no pathfinding. Many are the times I cursed the poor pathfinding in Baldur's Gate, sending some of the PCs on crazy detours across the map, stumbling on enemies when taking the long way around, etc.


Agreed, I would prefer such more direct, yet still mouse control scheme, too (hold mouse button down, party makes steps with slight delay between them towards mouse cursor direction relative to party position). In contrast to RTS games or RPG with vast maps we will have a very high trigger and interactive prop density per "square foot" of the map. Add to that our actors with dialogues and encounters - and now imagine that they will move on their own, too. I would not feel good to do a 10 square auto-journey triggered by one click through such a (moving) mine field of possibilities. Or perhaps it would be chaotic fun, who knows :twisted: :lol:
User avatar
youngneil1
Backer
Backer
 
Posts: 4659
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Fri Sep 27, 2013 2:46 pm

IMPORTANT NOTE: I've edited this post, completely restructuring and rewriting it (the original post was a rambling mish-mash). Hopefully this new edit is a bit easier to follow.

About Command Buttons

As Jer implemented customizable command buttons today (WOOT!), I think it would be appropriate to talk a bit about what basic commands would usually be needed in a CRPG and what to (perhaps) have already in place in IB on release and what to leave for individual authors to do for their modules themselves.

At the most basic level there are perhaps 8 commands which are universal and needed in almost any CRPG. Note that I'm excluding movement commands and information commands, like Inventory or Journal, from this list. These needed 8 commands are (in random order):

- Look/Search/Examine
- Get Item
- Drop Item
- Use Item or Map Object/Prop
- Talk to PC/NPC/creature
- Use Skill/Trait/Feat
- Use Special Power (e.g. spells, psionics, or cleric's Turn Undead power)
- Attack Something/Someone

Now, these aren't the be all and end all of commands, no way, but (IMO) they represent the core basic commands which we need to have fully implemented in IB by release as they are pretty much needed in any module regardless of genre or style. What I mean by fully implemented is, that the module author does not need to do anything to have these commands functioning in his module as they are already coded in and functioning. Naturally there are many other commands that may be needed, but those can be left for the module authors to implement. As adding commands (and buttons for them) is possible, we can provide ready made scripts for some common commands that might be needed in addition to the above mentioned ones, which can then be quickly and easily copy-pasted in and have it working in the module just like that. For instance, the free text entry window (parser action) could be one of these or maybe even camping, which I argue isn't absolutely required, but is good to have working by release, none-the-less (so we can leave it in, but perhaps provide a way to delete that button if it's not relevant for the module).

As we're doing both a keyboard and mouse driven interface for IB, we need to figure out how to best represent commands UI-wise. For keyboard, the commands are easy and most can be simplified to just bumping into things to do the default command (e.g. to talk to an NPC, bump into him/her; to use a door, bump into it, etc.) or by using shortcut keys for those commands which can't be done by bumping (e.g. press "L" to look/search, "S" to use skill and so on). Bumping as a default world interaction command might be a bit crude, but it is effective and requires no special keys. The mouse interface needs a bit more thought (and work). I've been ranting about the necessity of a smooth mouse interface and am confident we can hash out something that satifies us all. Problem is, I'm not sure how much Jer is prepared to do before release and what (if any) is imopssible in the current engine. So some of this rambling of mine, is still very much at the "would be nice if" stage. The "harsh reality" of what we will actually have, will hopefully be clarified here on this thread.

Mouse interface would ideally be something which can recognize what's under the mouse and choose the default command according to that (e.g. hover over an NPC, default command is Talk; hover over a closed door, default command is Open (Use) and so on). If the cursor is intelligent like that (recognizing what it is hovering over), the right-click default command would suffice for the majority of actions - for world interaction there is basically just one command needed for a certain target about 90% time (figure pulled right out of my a** ;)). Not sure this would be possible in IB, though. Whether that is possible or not, there need to be command buttons to activate the commands too (with keyboard shortcuts), for those (rare) instances where the default command is not the one you want.

If the mouse is blind to what its hovering over and we can't use default commands, we could have a right-click menu of commands (like in Windows) which hopefully would then check what it's hovering over and provide a tailor made menu of commands for that the target it was clicked over. If the mouse would be totally blind to what its hovering over, then a plain list of all commands could be shown with right-clicks OR the commands would cycle with right-clicks (Move-Use-Talk--etc.). Before we proceed further in design speculation, I think we need an authorative word from Jeremy on what is feasible and doable now (and thus achievable for release).

About the commands themselves, here's my original post about them (however incoherent and rambling it might be). I'm not going to edit that, as it was posted already and I don't like massive edits of posts already sent. I will do another post continuing that post, as it was cut short at the end (I've left the "I gotta go" note there to signify why it cuts off so suddenly).

---Original Post Begins (sans intro)---

- Look/Search/Examine: A basic, cursory look can be handled with just e.g. clicking on the object (on map), hovering over it (in inventory), etc., but actually searching a place (map tile) or examining a map object (prop) or an item (in inventory) in detail requires a command, IMO. This could fire off a script for skill checks and such or be an automatic success on search, depending on the situation and on the author's wishes. Same command could be used for attempts to try to identify items requiring identifying (e.g. magic items, strange alien artifacts, etc.).

- Get Item: Get an item, be that from a container or from the ground (map). Thus far I haven't figured out how to have items on the ground, probably it cannot be done as such, requiring them to become props instead (or something). Be that as it may, grabbing shiny loot is one of the major activities in most CRPGs and that requires a Get command. However, for containers and after battle loot, a separate command button isn't really needed, as these situations provide a list of items in a popup window (battle loot is currently automatically picked up, which I hope to change - let's have a similar window as with containers pop-up after battle from which to choose your spoils), simply right-clicking on the item in the list will get it. A separate Get command button is only necessary if items can be placed (and dropped) on map. Ideally, it would be like in e.g. Baldur's Gate, where the cursor automatically changes to GET command when you hover over the item, but let's first figure out if on-map items are possible at all or do they need to be scripted as events (e.g. "There's a worn brass lantern here. Do you take it (y/n)?") or something else.

- Drop Item: This is done from the inventory screem and doesn't need a button on the general UI. The question is, will these dropped items be gone when dropped, destroyed and unrecoverable? I'm guessing the current set-up leans towards this. If they persist, dropped items would need to have an icon on the map and thus far I don't think there's anything like that. Anyway, ideally items could be picked up and dropped freely, and they would persist over saves, etc. However, I'm unsure if this is possible as of now or even planned (and whether it could/should be post-release feature). I just think, that destroying dropped items is a bit crude and nowdays when computer memory is not an issue, shouldn't really happen.

- Use Item or Use Map Object/Prop: The big catch-all command.
* Using an item includes all the myriad ways of using items, be that Eat, Drink, Read, Activate, or whatever. Using an item could also be dependent on environment, e.g. using a shovel in the right place would uncover buried treasure, using a pick can clear a cave-in, etc. Many, many possibilities. Note that Equipping (i.e. wielding and wearing) and Unequipping are special cases of the Use command, which are done from the inventory also but don't require the USE command, but a mouse shortcut of right-clicking on the item to equip/unequip. Using items would mostly be done from the inventory screen and as such don't need a button on the main screen UI.
* Using a map object would also handle many things. For example, Use Door = Open/Close Door (if unlocked), Use Lever = Push/Pull Lever, Use Alchemy Equipment (on a table) = Craft a potion, Use Computer = Open a dialogue window with many options, Use Big Red Button = Push Big Red Button, etc. To some extent these could be handled with just bumping into the object, but that could produce unintended activations. Thus, using the dialogue window for confirmation on fateful item uses would be prudent. Ideally, for the mouse interface, the cursor would change to an Interaction/Use icon when hovering over a map object which can be used and right-clicking on the object would USE it.

- Talk to PC/NPC/creature: Opens a dialogue window and allows conversing with the targetted subject. Can be just as basic as bumping into the NPC to instigate the conversation. Ideally, the mouse inteface would change the cursor to TALK icon when hovering over an NPC/Creature capable and willing of talking. However, for inter-party conversations and maybe to reduce interface spam (and not change the cursor automatically), a Talk command button would be needed. ...WIP...

Argh, I need to go. I'll try to finish this later tonight. The following are just quick notes on the final commands...

- Use Skill/Trait: Can be practically anything, e.g. Stealth/Hide in Shadows, Pick Pockets, Repair Something, Treat Wounds, Create Potion, Forage for Food, etc.

- Use Special Powers: e.g. cast spells, use psionics, turn undead, etc.

- Attack (something or someone)
"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 » Sat Sep 28, 2013 10:26 am

(As notifications of edits won't show automatically on the posts themselves, I'm just notifying here that I've edited the above post and rewritten the first half of it.)

OK, might as well go a bit further wrt the keyboard interface, while waiting for input on what kind of mouse interface is feasible/doable now. Movement would be done with arrow keys and/or numpad (to have diagonals). Both would be usable, but for most parts, the 4 cardinal directions would suffice, I guess. Then we'd have keyboard commands for the character record (C), inventory (I), Journal (J), Options Menu + Saving etc. (Esc), and... um, I'm forgetting something now. Anyway, pressing the same key again, when the popup window is open would close the window (so, "I" to open inventory and "I" again to close it). Numbers 1 to 6 (not numpad) would choose active PC, i.e. the party leader (or it could be F1-F6 if that's easier to remember, not for me, but...). 1 is the PC highest on the GUI, 2 the second highest, etc.

Bumping into things is the default way of interacting with the world (*grumble*, I would prefer command key+direction, e.g. T for talk and then direction key to the NPCs direction, but bumping is faster). We would still need command keys for moments when bumping isn't possible (for whatever reason). They'd be L for Look/Search (L + direction or L + enter to search the tile you're in), T for Talk (for e.g. to talk with companion PCs - to talk to party members: T + number of PC, to NPCs who can't be bumped into: T + direction), S to Use Skill/Trait, P to Use Special Power, and possibly G to Get Item if needed. Also, while bumping into things on the map uses/activates them usually, we still need the Use (U) command for items or objects on the map when bumping into them isn't possible (or hidden for plot/puzzle purposes); using items in the inventory is handled in the inventory window (open inventory, then choose item with arrow keys, then press U to use it or something like that).

For Skill and Powers use, after the command key is pressed, another window pops up listing skills or powers you have. Then (when excluding mouse from this equation) using arrow keys you navigate to the skill/power you want, press enter and it's selected. If there's need for further targeting, it's done with arrow keys and exceuted with enter.

When using the mouse, all of the choosing and targeting is done with the mouse of course.

EDIT: Continued in the post below.
"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 » Mon Sep 30, 2013 1:43 pm

:x Aargh, I just lost an entire post to a mistype! :evil: Need to cool off before I attempt rewrite it. Grrr!!
"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 » Mon Sep 30, 2013 2:17 pm

That's unfair :? Hate it when it happens - next attempt will be glorious though!
User avatar
youngneil1
Backer
Backer
 
Posts: 4659
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Mon Sep 30, 2013 3:55 pm

Apologies, I don't have the time to rewrite my lost (longish) post now. However, this is a part from it that I wanted to quickly post now, so that I won't forget it.

One thing that would be extremely good to have, at least somewhere down the line (post-release), would be the ability to remap the command keys, so that each player could customize the keyboard command setup as he/she sees fit. Even if it's only possible via manually modifying an INI file or something, but optimally right inside the engine through an Options Menu. This would be doubly important to laptop users, as most laptops do not have a numpad or dedicated arrow keys, so remapping the movement keys would be needed (if they want to use only the keyboard for control, that is).
"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 Oct 01, 2013 10:00 pm

Still haven't mustered enough self discipline to rewrite the lost post, but here's something else for change. What are your thoughts about the following sketch?

Image

There was talk, IIRC, about maybe having the IB dialogue system be capable of handling changing of the active speaker in the party, even during the dialogue itself (out of dialogue it would be easy, changing the party leader would do it). If we would move towards that kind of feature, this would be my sketch for the GUI. The party with all its members is shown on the bottom. The PC whose portrait is framed in green is the current active speaker. (The blue outlines for the last two PC slots are just for example purposes, just showing there's room for the full 6 PC party. These outlines wouldn't show on the normal GUI.) As written on the pic, you'd change the active speaker by clicking on the portrait (or with keyboard control, maybe by using left and right arrow keys). The active speaker is the one whose skills/stats/abilities are checked if needed when the dialogue advances forward from the current dialogue option decision, and is the one checked for extra dialogue options.

Also, as a throw away idea, there could be a free parser window activated by the "Ask About" button. This would be for the player to write "hidden" key words and such - maybe even passwords or words of incantation, etc. Just an idea... (Then again, it could be something like in Morrowind, giving a list of key words to ask about.)
"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 slowdive » Tue Oct 01, 2013 10:26 pm

I didn't get a chance to respond to the posts above yet (fell asleep early on accident last night). I will respond tonight. I like the convo layout and plan on adding party convo support like in nwn2 Storms of Zehir party chat system... Works like you have described.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 2993
Joined: Wed Nov 21, 2012 11:58 pm

PreviousNext

Return to Alpha Build 5 Bugs and Ideas Reporting

Who is online

Users browsing this forum: No registered users and 0 guests

cron