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 » Wed Sep 11, 2013 12:59 pm

Another post written in a rush (from work). Apologies in advance for typos, poorly constructed sentences, etc.

youngneil1 wrote:Maybe we could make the bottom border area (wood plank background at bottom of the screen here) as broad as the side border areas. This way we could have four lines of scrolling text in the "message window", which would be much better to follow.

I agree, having 4 lines would allow for more message history in the log as well as being easier on the eyes for not being so cramped. If we make all the borders (except the top one) of equal size, it would make the screen much better looking (more balanced) and give more space to the message log and those menu buttons on the left too. I would like that.

Here's a very crude sketch of the screen layout done with the humble Windoze Paint (no other program at my work). Let this be for illustrational purposes only. Also, the number of buttons on the left sidebar aren't in any way final, of course. The sketch is done with lower resolutions in mind and/or for windowed modes. I think most of us will play the modules in windowed mode, at least I do, as the full screen view on modern monitor resolutions is way too big. (EDIT: In my haste I combined the time indicator with the rest button in the image below. I meant it should be a WAIT button combined with the time indicator, not rest. Rest/Make Camp would be its own separate button.)

Image

youngneil1 wrote:I. Move (hold left mouse button): either use keyboard or held left mouse button (see above) to move, often this will call an action via onEnter or OnCollision triggers/script hooks; inter alia dialogues are easily triggered this way or picking up stuff

Yep, for movement this is what we should have. However, for picking stuff up, I wouldn't have it be automatic on bumping on the item (square). Either have it require a Get action or at least pop-up a window asking if you should want to pick the item up. I have the same stance on auto-looting after battle, by the way. I don't like the game to auto-loot or auto-pick up items for me, I like to decide what to pick up myself.

I'm a bit unsure how items on the map work, to be honest. To my knowledge, you can't put an item (which can be picked up) on the map just like that, but need to make it a container which only has that one item in it (and give it the item's icon). Either that, or script an event on the square with the item in it, which prompts a dialogue window (e.g. "There's an old brass lantern here. Do you want to pick it up? 1. Yes, 2. No." or something like that. Or am I mistaken? I need to clear this up before I can think about the interface for picking up items from the map. (But I still don't like auto-loot. ;))

youngneil1 wrote:II. Have a look (short left click): a (short) left click on anything in the world would mean "look at it". Either nothing happens or a description text appear in the "message" window (the text could be taken form the description properties of creatures and props; additionally each square would ideally have a separate option to have description even if no object is placed in it - sometimes an author might just want to describe his drawings a little to the player). This is a powerful storytelling tool, especially for those not so graphically inclined. E.g. a player's enlightened thoughts after left clicking and reading the message window:" Ah, the small brown gubble next to the large brown shruxnl are a "A chair" and "A table"!"; when more than one object is in a square or the square and an object in both have descriptions, just all descriptions are shown after one another in the message window

Yes, I agree whole-heartedly, this should be what a left click on the map does by default, it LOOKs at things. I really adored how in Ultima Underworld games you could look at everything, and I mean everything (even walls), and get a short description on what it was.

Ack, I need to go. Laters!
"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 » Thu Sep 12, 2013 5:19 am

The layout is looking great there LG. What would you think about having a full screen map and floating UI panels? Eventualy, I think that would be nice instead of fixed panels and UI parts. More after release stuff when I can drop the whole winforms stuff and redo all the panels, windows, sheets, etc.
User avatar
slowdive
Site Admin
Site Admin
 
Posts: 3101
Joined: Wed Nov 21, 2012 11:58 pm

Re: Engine Ideas/Suggestions

Postby youngneil1 » Thu Sep 12, 2013 5:20 am

Here's a very crude sketch of the screen layout done with the humble Windoze Paint (no other program at my work).


Yes! That looks really neat :) It's tidy and charming at the same time. Perhaps the "Rest" button could be on the left hand side of the "four rowed message log", while the "Wait" button would be on its right hand side. For symmetry, or something ;-). Both buttons (rest and wait) could be larger then the normal action buttons, so more info could be displayed on these buttons themselves:

Wait: The "Wait" button would be our clock at the same time. It would show minute, hour, number of day in month, name of day, name of month and year (maybe even seconds though I would probably not use those for a fantasy rpg, also they might be very stale depending on the time intervals used to turn the clock forward when moving). Actually I would probably also show season on it for ambience sake (spring, summer, autumn, winter). As you already suggested it could dynamically change its background, depending on dawn, midday, dusk, night... When it's left clicked it allows to set the time the party wants to wait. Waiting does not regenerate SP or HP. When moving NPC/creatures are in, these might very well collide with a waiting party. This will interrupt the waiting process if the creatures/NPC bring an automatically triggered action with them (creature/NPC triggered dialogue, encounter on contact). I would imagine that technically waiting simulates party moves in a very fast forward way, i.e. granting the world and its inhabitants lots of alternating moves. There's no need to actually show these moves (one could, but it might either take too long or be just one super instant wooosh, so I would probably hide them and just calculate positions, internally checking on each fast forward turn for a collision with party). Waiting should - in contrast to resting - always be possible. It might just be a bad idea sometimes (when a quest is running out of time, when you got a bleeding/poison effect still running (ouch), when you wait on a monster patrol route...). It's purpose is to time your actions better for e.g. time sensitive quests, catch NPC with schedules or pass bad weathers/night time when you feel uncomfortable exploring e.g. under reduced LoS conditions...

Rest: The "Rest" button would have an active (colored) and a de-activated state (grey), just like now. It would broader, too, to display some more info on it. I could imagine it to show:
1) Remaining Provisions (number of remaining party provisions which are used as a currency for resting in the wild, forcing the party to return to civilization once in a while to refill supplies or use perhaps wilderness skills like hunting on resource providing wilderness squares; without provisions resting is not possible - perhaps activate rest button nonetheless to show the safespots, but pop up a message on clicking the button, saying that without provisions that resting is not possible). Obviously this should be customizable as not all authors will want to use a resting resource like provisions or might use such in very different ways.
2) Provision cost of Resting: Larger parties eat more, maybe even some party members consume more. Thinking of the Isnoun-halfgiant Ornogg form Red Carnival here... will likely eat more than the Badger Fledge from Lanterna :lol:
3) Relative Saftey Level: A description of the relative safety of the resting spot. I could imagine that resting is interrupted a) like waiting, e.g. by contact with wandering NPC/creatures who trigger actions
(dialogue/encounter) and additionally b) on a random encounter roll for surprise attackers. The later would trigger a direct encounter, likely drawn from an area specific encounter list (a new area property where an author could enter the tags of such encounters to be called). The chance of such a random interruption to occur would be defined by the Relative Safety level. I would likely not show the naked percentage probability, but more a verbal indication, e.g. "safety haven", relatively safe", "uneasy atmosphere, "dangerous", etc. There should be only one interruption per rest attempt - the rest effect (regenerate HP & SP according to quality level, see below under quality of rest) might be spoiled by that attack if e.g. the battle is not won by the party in e.g. 10 rounds of combat ;) . The provisions would be lost in any case, hehe.
4) Quality of Rest: Some places might recover more HP & SP than others. I would imagine that resting always consumes eight hours of time and always costs the amount of provisions described above (provision cost of resting, i.e. it's party size and party composition dependent). Still, it might be necessary to do multiple rests to reach full HP & SP - and here quality of rest comes into play. An unsheltered, windy and rather rainy rest spot might require three eight-hour-periods of resting to bring the party up to full strength (costing thrice the provisions, triggering random encounter chances three times). Again I would likely use a verbal description here, like "almost like home, "cozy", "uncomfortable" or "unbearable".

Now, this is just some brainstorming. I would assume that scripts are the only way to go here given the thinkable options. Still, it might be nice if default IB would provide some foundation for such scripting of wait & rest to make it more comfortable for authors to set their system up. Two separate buttons with separate script hooks and customizable text appearing on them would be very good in this regard. As already discussed with Jer, one button could also do it though, it would just move much of the functionality and info to a menu level deeper.
User avatar
youngneil1
Backer
Backer
 
Posts: 4842
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Thu Sep 12, 2013 9:11 am

slowdive wrote:What would you think about having a full screen map and floating UI panels? Eventualy, I think that would be nice instead of fixed panels and UI parts. More after release stuff when I can drop the whole winforms stuff and redo all the panels, windows, sheets, etc.

Yeah, eventually that would be nice, but let's keep that as a post-release project. I think we should just grit our teeth and keep to winforms for now, no matter how basic and "windowsy" it looks, and reach for dazzling DX9(?) magicks after the engine and toolset have been released. I fear changing away from winforms now, would require too much rewriting and put the release schedule way out of whack. Besides, I think with some effort, we can make the current GUI look good -- or at least good enough for old school CRPG goodness. ;)
"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 » Thu Sep 12, 2013 10:02 am

Add me to postponing an engine overhaul for a loooooong time - winform please for now. Let's go into the substance, before we turn again to the optics, pretty please.
User avatar
youngneil1
Backer
Backer
 
Posts: 4842
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby youngneil1 » Thu Sep 12, 2013 10:24 am

I've always wanted to do something with a keyword parser. As much as I enjoy branching dialogue trees and the limited role-play options it can provide, nothing compares to just letting the player/character type whatever they want and have a conversation with an NPC. The first memorable experience I had with such a system like this was in Wizardry VII. It was incredible. This is something I would want to explore and develop further.


@Dorateen: This might prove helpful...

viewtopic.php?f=16&t=297

It's a hack job and has an unfortunately high risk that it will need some work with window positioning, but it's a first proof of concept for a hybrid keyword/dialogue tree conversation system in IB, which might be fun.
User avatar
youngneil1
Backer
Backer
 
Posts: 4842
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Thu Sep 12, 2013 12:10 pm

youngneil1 wrote:Perhaps the "Rest" button could be on the left hand side of the "four rowed message log", while the "Wait" button would be on its right hand side. For symmetry, or something ;-). Both buttons (rest and wait) could be larger then the normal action buttons, so more info could be displayed on these buttons themselves

Yeah, maybe, will have to see. They will be separate buttons, for sure, but how they will be placed is still up in the air.

I was thinking maybe we need one button under the character portraits for changing the party order (aka marching order), that is, if click and drag on the portrait won't work.

youngneil1 wrote:The "Wait" button would be our clock at the same time. It would show minute, hour, number of day in month, name of day, name of month and year (maybe even seconds though I would probably not use those for a fantasy rpg, also they might be very stale depending on the time intervals used to turn the clock forward when moving). Actually I would probably also show season on it for ambience sake (spring, summer, autumn, winter).

I'd envision it showing only time of day on the image/button, but on hovering the mouse over the button, a tooltip would show the whole information (including season, year and such -- if the author so wants, would be customizable). Cramming too much information in the time of day image/button will easily make it illegible or at the very least look horribly cluttered.

youngneil1 wrote:Waiting does not regenerate SP or HP. When moving NPC/creatures are in, these might very well collide with a waiting party. This will interrupt the waiting process if the creatures/NPC bring an automatically triggered action with them (creature/NPC triggered dialogue, encounter on contact). I would imagine that technically waiting simulates party moves in a very fast forward way, i.e. granting the world and its inhabitants lots of alternating moves.

Yeah, the NPCs/creatures with schedules need to be fast forwarded when the party waits (i.e. all the NPCs/creatures move as they would normally but on superfast speed - which wouldn't be shown). Their movement can't be skipped altogether, just warped from location 1 to location 2, as that might introduce all sorts of problems. This all, of course, if the super fast forward is doable; if not, then I guess we have to settle for warping NPCs.

It's a sticky question on whether to allow SP (or HP even) to regenerate on wait. If SP loss resembles fatigue, then waiting could represent catching one's breath by being idle for awhile and thus regaining a few SP. Especially if SP regenerate when out of combat (and not just on rest), then I think they should regenerate while waiting too (maybe at a slower rate, though). It all depends on what you want the SP to represent, really. If they're mostly Spell Points, then maybe only proper rest will regenerate them. I don't know. Nonetheless, I'd say the decision should be left to the author on whether waiting restores SP (or HP) or not.

youngneil1 wrote:The "Rest" button would have an active (colored) and a de-activated state (grey), just like now. It would broader, too, to display some more info on it. I could imagine it to show:
1) Remaining Provisions
2) Provision cost of Resting
3) Relative Saftey Level
4) Quality of Rest

Good ideas, Karl! However, showing all that info on a single button might be too excessive. I might have it just show whether resting is possible (button colored or not, like now, OR have red X over the button if no resting allowed) and possibly how safe it is -- the actual colors on the button might denote that (green background = safe, yellow = hazardous, red = very hazardous) or an icon on it (red exclamation mark denotes hazardous, etc.), which would of course be customizable. Everything else would be shown on mouse-over tooltip. Might even delegate the safety level information to a tooltip. This way, authors need only make two buttons/images: resting allowed and resting not allowed. Everything else is shown by tooltip text (and be customizable).

Gotta go...
"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 » Fri Sep 13, 2013 11:41 am

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! ;)
"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 17, 2013 10:58 am

@Grue: We will, well, within reasonable limits... PARTY till Hangover IV ;-).

@all:
Might be cool to have more audio channels at once, so you can hear music, ambience sound, footsteps of hero, footsteps of monsters, a river flowing by, a voice speaking, all at the same time.
User avatar
youngneil1
Backer
Backer
 
Posts: 4842
Joined: Sat Dec 08, 2012 7:51 am

Re: Engine Ideas/Suggestions

Postby Lurking Grue » Fri Sep 20, 2013 8:16 pm

I'm back. What's happened while I was gone? Pongo released his module, it seems. Great! Have to check that out. What else? Hmm, maybe I'll just have to trawl though all the threads and try to catch up.

youngneil1 wrote:@Grue: PARTY till Hangover IV ;-).

Heh, I wish. Not that kind of trip, though. The only alcohol I drank was one glass of wine with dinner per evening, plus a pint of bitter on Wednesday while watching the Champions League football match. That's all. Pretty tame, eh.

Also, what does one have to do here to get an answer to a simple question? It's been a week from my question above, still no reply. *sigh* I'll just go to the corner and sulk, then... :cry:
"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