"Aeranor: Book I": A SP RPG Campaign for Wesnoth 1.10+

Discussion and development of scenarios and campaigns for the game.

Moderator: Forum Moderators

User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I" (A SP Wesnoth RPG for v1.9.4+)

Post by artisticdude »

Ceres wrote:
artisticdude wrote:I'd prefer it if I could get rid of the objectives altogether (since this is an RPG, and objectives won't be tied to specific scenarios, which is a problem that is further compounded by the fact that you can revisit levels) and just use a quest log built into the inventory, but AFAIK there is no way to remove the objectives window at the start of a scenario. :hmm:
Have you already read this thread? :)
Nope, hadn't seen that thread before. ^_^ Thanks Ceres!
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I" (A SP Wesnoth RPG for v1.9.4+)

Post by artisticdude »

To anyone who reads this thread (if anyone does :P ): I'd like to hear your opinion on the inventory structure for this project.

Which structure would you prefer:
>A. Items in the inventory menu be arranged according to a pre-set hierarchy (in other words, healing potions would always be above swords and swords would always be above helmets, no matter in what order you picked up the items).
>B. Items in the inventory menu be arranged according to when they were picked up (so if you picked up a sword and then healing potion, the healing potion would be located above the sword in the inventory screen).


Both structures have their pros and cons, and although my less-than-optimal work ethic would prefer choice A (which is what I currently have in place, so minimal effort would be required if I chose that one :P ), it might be more practical and more intuitive to have the items arranged in chronological order.

I'd appreciate your feedback. :)
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
User avatar
Boldek
Posts: 576
Joined: April 14th, 2011, 6:37 pm

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by Boldek »

B sounds more natural, as it would be at the top of your pack, so that's the one I would pick. :)
Guys I never thought I'd come back to this forum after 8 years this is wild
esci
Posts: 42
Joined: September 4th, 2006, 12:07 am

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by esci »

The answer depends a bit on how your campaign/RPG is structured. If you might pick up an item and carry it around for a long time before using it, option A makes more sense. If you're more likely to pick something up and need to use it immediately (i.e. buy a helmet and immediately put it on), then option B would be better.

It sounds like something that could be altered later without breaking the rest of the campaign, though, so if you already have one option done why not just go with that?
Original creator of the campaign Descent Into Darkness
Currently working on Cities of the Frontier
revenant
Posts: 49
Joined: January 9th, 2010, 3:41 pm

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by revenant »

I myself would prefer choice A because that way I don't have to search all over the inventory for several minutes to find an object that has changed position.
User avatar
Crendgrim
Moderator Emeritus
Posts: 1328
Joined: October 15th, 2010, 10:39 am
Location: Germany

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by Crendgrim »

If course I'm closely following your thread. :P
I would also vote for A, especially if you're going to add a lot of items (and I feel as if a good RPG needs too many items, so the player really has to drop something he can't carry with him).
Just take the example of the healing potion: A very frequently used item, and you'll like to know where it is once you need it. But let's say you use all of your potions, and then buy some new ones. Eventually, the healing potion will end up somewhere in the middle of the list, very hard to find.
If you order the items by type, it's much more convenient for the player to find a certain item — be it a potion, a piece of armory, or whatever.
B is more natural, but only useful if you won't carry more than ten different items with you. If you are going for something like this, I'd second your opinion that this may be better.
However, the more items the player may find, the worse approach B gets. The only way to modify this is by adding some kind of "favorites" where you can select certain items which will show up on top, yet this is also bad for not-so-frequently-used items once you really have too many different items.
So, in my opinion, choice A is best.
UMC Story Images — Story images for your campaign!
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by artisticdude »

esci wrote: The answer depends a bit on how your campaign/RPG is structured. If you might pick up an item and carry it around for a long time before using it, option A makes more sense. If you're more likely to pick something up and need to use it immediately (i.e. buy a helmet and immediately put it on), then option B would be better.
I do plan on having a fair amount of items in the campaign, although the player will be limited in what he/she can carry by the weight of the items he/she is carrying. But chances are the player will be carrying some items around for a fairly long time.
esci wrote:It sounds like something that could be altered later without breaking the rest of the campaign, though, so if you already have one option done why not just go with that?
...because I like to torment myself with more work? :P
Crendgrim wrote:I would also vote for A, especially if you're going to add a lot of items (and I feel as if a good RPG needs too many items, so the player really has to drop something he can't carry with him).
Just take the example of the healing potion: A very frequently used item, and you'll like to know where it is once you need it. But let's say you use all of your potions, and then buy some new ones. Eventually, the healing potion will end up somewhere in the middle of the list, very hard to find.
Actually, that was exactly my reasoning behind the current system. What I could possibly do is have separate inventory categories within the main inventory interface, where once you chose the right-click inventory option, you are given a list of inventory category options to chose from (such as potions, ranged weapons, etc.). Clicking on a category would take you to a list of all the items in that category that you are currently carrying so that you could interact with those items. The problem is that this would require at least one additional click in order to access an item in an inventory layout that is already less efficient than I'd prefer due to the constrictions of a pure-WML inventory (which can only utilize the [message] UI).

So I think I'll stick with choice A. The inventory hierarchy I have in mind is:

Code: Select all

A. Potions
B. Useable items that aren't potions (scrolls)
C. Equippable items
    1. Headgear
    2. Torso armor
    3. Weapons
D. Non-useable 'junk' items (such as items that you can sell for money but don't have any other purpose)
C. 'Junk' items that have no monetary value
That way all useable items (the items you likely to need most frequently) will be easily accessible at the top of the list, with the items you would use less falling at the bottom of the hierarchy. Perhaps I ought to move weapons to the top of the 'Equippable items' sub-heirarchy though, since you're more likely to be changing your weapons around more often than your head or torso armor. :hmm:

Eventually I want to re-write the inventory system from the ground up in Lua, which will hopefully allow for more sophisticated and efficient inventory management. Unfortunately I currently know very little about Lua, but as soon as I get my hands on a certain Christmas gift ( :whistle: ) I hope to expand my Lua knowledge.

Thanks for your opinions guys! :)
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
User avatar
Bob_The_Mighty
Posts: 870
Joined: July 13th, 2006, 1:15 pm

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by Bob_The_Mighty »

Hi artisticdude, I gave this a brief whirl and noticed a few things:

- The intro says something "hardly unsurpassing" when I think you mean "unsurprising". Mind you, I didn't read most of it. It's the longest intro I've ever seen.
- Having equipped an iron throwing spike from my box, I see an elfish bow icon in the attack selection option.
- I didn't realise I would lose when my pet died.
- I found it odd that there was no defence or movecost variation in the terrain i could move on.
My current projects:
MP pirate campaign: The Altaz Mariners
RPG sequel: Return to Trent
MP stealth campaign: Den of Thieves
User avatar
AnnieSpambot
Posts: 13
Joined: May 5th, 2010, 1:28 pm
Location: United Kingdom
Contact:

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by AnnieSpambot »

Some excellent aspects to this - the inventory is good, though personally I would have preferred option B, with items stored in the order you find them. That could be due to my point and click upbringing however...
Agree with all the previous comments about the intro being very very long, though I like the general story behind it.
Seemed to have to spend a lot of time healing, particularly my pet, and felt I'd wasted a choice as I opted for extra movement only to discover unlimitd movement was occurring anyway.
Jolly nice work, looking forward to updates.
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by artisticdude »

Bob_The_Mighty wrote:- The intro says something "hardly unsurpassing" when I think you mean "unsurprising". Mind you, I didn't read most of it. It's the longest intro I've ever seen.
Don't I know it! :P I'm in the process of paring it way down and inserting a dialogue-only scenario in the middle to break the monotony. I'll be posting the revised version in the Writer's Forum sometime soon for further critique.
Bob_The_Mighty wrote:- Having equipped an iron throwing spike from my box, I see an elfish bow icon in the attack selection option.
Hm, that shouldn't happen. Fixed.
Bob_The_Mighty wrote:- I didn't realise I would lose when my pet died.
Yes, I really should clarify that. What I'm thinking of doing is what the PC game 'Fate' does: when your pet loses all its health, instead of dying it 'flees' (it runs away and you can't control it for a few turns, but enemies won't attack it and eventually when it regains some health it will return to your control and enter the fight again). Not entirely sure how I'd go about implementing that, but I'm sure I can come up with something that at least semi-works.
Bob_The_Mighty wrote:- I found it odd that there was no defence or movecost variation in the terrain i could move on.
That was an intentional decision on my part, mostly because I didn't want the gameplay to get too bogged down in tactics (which might not necessarily be a good decision :hmm: ). I might bring back terrain defense variation, although I've specifically scripted the enemy AI to ignore all terrain defense values, so in the end the player might be able to abuse that system to defeat much stronger enemies. Movement costs are mostly irrelevant because of the infinite moves the player has when not in combat, so having some terrain slow the player down would probably just be more frustrating than useful, especially when moving across large areas with slower terrain (such as deserts, marshes, etc.)
AnnieSpambot wrote:Some excellent aspects to this - the inventory is good, though personally I would have preferred option B, with items stored in the order you find them. That could be due to my point and click upbringing however...
At some point I want to completely transform the inventory to Lua dialogue boxes, but until my understanding of GUI2 improves greatly, I'm afraid it's a far-fetched notion. What I might do is allow the player to choose at setup which system they want to use, but I'm not sure all the necessary effort would justify the end result.
AnnieSpambot wrote:Seemed to have to spend a lot of time healing, particularly my pet, and felt I'd wasted a choice as I opted for extra movement only to discover unlimitd movement was occurring anyway.
This is an issue I'm still debating about. What I'm considering doing is what the Avernum series does: First Aid. Basically, every time you leave combat mode you get a certain percentage of HP and mana/magic points back. You would be able to increase the percentage of HP/MP you get back by increasing the 'First Aid' skill. I also want to give the pet an inventory of its own (so it can carry excess items that the player just wants to sell, have as backup, etc.), and allow it to use healing potions and the like to heal faster.

Thanks for the feedback. :)
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I": Opinions on Inventory Structure Reque

Post by artisticdude »

Version 0.0.2 just went to the add-on server. This version is a another ground-up rewrite, although this time it's a much more drastic one, and it involves a lot of behind-the-scenes code rewrites as well as story and dialogue. It doesn't have much in the way of playable content yet (1 playable level so far), but it does have a lot of bugfixes (for instance, it is no longer possible to get or drop negative amounts of items) and optimizations. The next version will include a lot more playable content.

Rest assured that this will be the final rewrite. :P I'm a lot happier with this new storyline than I was with either of the previous two, and most of the current code is just about as streamlined as I can get it without sacrificing functionality or resorting to Lua.

You can get it from the 1.10 add-on server, or you can get the bleeding-edge version with all the latest updates from my Github repository.

As always, if you you check it out and find a bug, please feel free to report it to me. :)
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
User avatar
Crendgrim
Moderator Emeritus
Posts: 1328
Joined: October 15th, 2010, 10:39 am
Location: Germany

Re: "Aeranor: Book I": A SP RPG Campaign for Wesnoth 1.10+

Post by Crendgrim »

Imagine what. :)
So, I tested it – what a surprise. ;)

First of all, great work. I love the new start, and I also really like your inventory system. It's very straightforward to use.
That being said, I also found three bugs:
1. the console is filled with error messages. An extract from the few last seconds of playing:
Spoiler:
2. I moved my leader to 51,13 (first map), and sometimes my pet then teleported to 52,11 and that allowed me to scout that area without triggering the mobs (I triggered them afterwards with my leader).

3. If you drop an item on the ground, and step on that hex, the dialogue "get item" comes up. However, if there is a chest on the ground, the chest message comes up first, and if you close that you suddenly can take up another item. It would be great if you managed to put items in chests if there are some on the hex the hero is standing on.

Hope this helps. :)
UMC Story Images — Story images for your campaign!
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I": A SP RPG Campaign for Wesnoth 1.10+

Post by artisticdude »

We RPG guys have to stick together. ^_^

Yeah that console output... mostly unavoidable, I'm afraid. :( You see, because this isn't a straight-forward linear campaign where each scenario is only visited once, I often have to query a variable that may not even exist yet, since I don't have any way to evaluate whether or not the player has visited the scenario before. And unlike in Lua or some other language where undeclared variables automatically have a default value (nil or somesuch) when queried, WML doesn't provide that functionality, so I have to query a non-existant variable. Consequently, the game spams error messages to the console/stdout.

I can (and will) suppress some of the nonexistant-WML container errors by creating a dummy "empty" item to receive garbage references to the container [item], but I can't think of any way to get rid of the others. :hmm:
Crendgrim wrote:2. I moved my leader to 51,13 (first map), and sometimes my pet then teleported to 52,11 and that allowed me to scout that area without triggering the mobs (I triggered them afterwards with my leader).
That definitely shouldn't happen. I'll go have a look at that.
Crendgrim wrote:3. If you drop an item on the ground, and step on that hex, the dialogue "get item" comes up. However, if there is a chest on the ground, the chest message comes up first, and if you close that you suddenly can take up another item. It would be great if you managed to put items in chests if there are some on the hex the hero is standing on.
Actually, that's not a bad idea. I agree that my current system there is clunky, so I'll definitely have a go at implementing that.

Thanks for the comments. :wink:
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
rogo
Posts: 18
Joined: February 7th, 2009, 5:55 pm
Location: Germany

Re: "Aeranor: Book I": A SP RPG Campaign for Wesnoth 1.10+

Post by rogo »

artisticdude wrote:Yeah that console output... mostly unavoidable, I'm afraid. :( You see, because this isn't a straight-forward linear campaign where each scenario is only visited once, I often have to query a variable that may not even exist yet, since I don't have any way to evaluate whether or not the player has visited the scenario before. And unlike in Lua or some other language where undeclared variables automatically have a default value (nil or somesuch) when queried, WML doesn't provide that functionality, so I have to query a non-existant variable. Consequently, the game spams error messages to the console/stdout.
Hi, did you try to put all your variables into one array? I mean like this:

Code: Select all

[set_variables]
  name=aeranor_data
  mode=append
  [value]
    var_name=scenario_one_visited
    payload=1
  [/value]
  [value]
    var_name=scenario_two_visited
    payload=nope
  [/value]
[/set_variables]
When you want to query a certain variable you could iterate the array and search for a certain var_name. If it is not there, it was not yet added. A drawback would be, that I don't know of a mechanism to delete elements from a wml-array.

Cheers
User avatar
artisticdude
Moderator Emeritus
Posts: 2424
Joined: December 15th, 2009, 12:37 pm
Location: Somewhere in the middle of everything

Re: "Aeranor: Book I": A SP RPG Campaign for Wesnoth 1.10+

Post by artisticdude »

rogo wrote:Hi, did you try to put all your variables into one array? I mean like this: [...]
Oh yes, I've done that, except I've used a container rather than an array. :) The problem occurs when I check a variable and it doesn't exist, that's when the game starts throwing error messages to the console.

I guess I could just initialize and assign all the variables in the very first scenario, but that'd be a seriously large amount of variables, and some of them may never even be used (if the player doesn't complete a certain quest or doesn't visit a certain area, for instance). :hmm:
"I'm never wrong. One time I thought I was wrong, but I was mistaken."
Post Reply