intelligent vs stupid slots

G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

In some roguelikes items are intelligent. If you 'e'quip a weapon, it
appears in your weapon slot. If you 'e'quip boots, they appear on your
feet. And so on. Thanks to this, using the inventory screen does not
feel like you were dressing a paper doll.

In some roguelikes you decide what goes where. Doing obvious things
like putting on sandals takes at least two key presses, instead of
one. You gain two things: first, you feel like Rambo in the famous
equipping sequence (it was in Rambo, wasn't it?). Second, you can
equip a silver ring as a weapon to harm an enemy that is immune to
things other than silver - which is only an example of other cool,
unexpected features that might be possible with such a UI.

My game approached the magical point of no return, where I have to
choose one of these. Any thoughts?

regards,
Filip
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

On 2005-04-22, Filip Dreger <fdreger@amiga.pl> wrote:
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.

Just have an equip command for wearable items for which the slot is
obvious and a wield command for things on your hand. You can try to use
just about anything as a weapon, but it always goes in your hand. I
don't think it's worth the trouble to allow the player to try to put
anything in the armor slots instead of just those types of armor that
are made for that slot.

This is actually pretty much how Nethack does things, except that
Nethack has the annoying and very largely superfluous additional p)ut
command for equipping jewelry.

--
Risto Saarelma
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

I like the idea to do both, where pressing "e" will put your sandals on
your feet, but pressing ALT-e (alt as in alternative, makes sense) asks
you where you want to equip it. The player then has the chance to come
up with a great idea, like equipping his silver-buckled-sandles in his
hand to wack the werewolf with. But of course, you if the player tries
to equip the sandles on, say, his head, you could simply reply with
"That is impossible".

It is rewarding for the player to think of a thing to do that isn't
obviously possible, like equiping the sandles in the hand. If you
explicitly give him/her the choice to equip it in his hand, then it's
not quite as rewarding.

Let the player try to do whatever the player wants, and just say no if
it's obviously impossible. More coding, but roguelike games are great
because of the huge amount of freedome players have in the game. Final
Fantasy doesn't have squat on NetHack!
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Dnia Fri, 22 Apr 2005 18:19:00 +0200,
Filip Dreger napisal(a):

> In some roguelikes you decide what goes where. such a UI.
<snip>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

I have established the idea of how I'm going to do it.

I want to separate the items and their kinds (physical objects,
with attributes light weight, size, material, looks, position, etc.),
and the 'usages', being in fact things you can do with the items, and
having things like AC bonus, damage bonus, magical effect, etc.
The usages further separated from equipment slots, which are simply flags
telling whether your upper arm is already occupied.

Now, you don't really use/equip items. You equip usages. The usages
require certain slots to be free in order to be equipped.

You can only have one usage of given kind -- something like usage slots.
But since an item can have multiple usages, you can equip one ad the same
item into many usage slots -- for example, you could have your dirk
equipped as a weapon (equip it's `weapon' usage into weapon usage slot),
and at the same time as a tin opener (equip it's 'open tin' usage into
tin opener slot).

The items itself are offcourse also moved when you equip their usages --
yopu have basically your 'eqipment' inventory and your 'treasure bag'
inventory. You can put something into your equipment inventory even when
you don't have any of it's usages equipped -- it just indicates you've got
it strapped somewhere on you, or maybe put into pocket.

It's important, since you can drop your treasure bag in case of emergency,
and you don't want to drop all the healing potions with it.

Now, usages have offcourse various 'kinds', and there are also some
'generic' usages (most hard and heavy items would have 'improvised mace'
usage which allows to equip them as a weapon).

You don't have all your usage slots and item usages displayed all the
time, offcourse.

Most items have their 'default' usage, which gets called with 'u'se
command. You can get full list of usages with 'U'se command.

Only the usage slots that have a usage are displayed. When you cannot
equip a useage bvecause of not having proper equipment slots free, you get
a message telling you exactly which usages are in the way.

There might be also an alternative interface, where you have all your
usage slots listed (in order of importance, I guess), and when you select
a usage slot, you have all usages of all items you have that fit into that
slot displayed. This might be more useful.

Offcourse, there should be lots of 'convenience' usages, like 'default
healing item' and 'default magic wand'.

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 

Antoine

Distinguished
Oct 5, 2003
241
0
18,680
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it

> appears in your weapon slot. If you 'e'quip boots, they appear on
your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

I think you should go with the first option. Leave the
wear-your-smoky-ring-on-your-left-leg stuff to Nethackers.

A.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it
> appears in your weapon slot. If you 'e'quip boots, they appear on your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

Do both! Pressing 'e' equips the item in the "obvious" slot, pressing
'E' or '^e' or ':e' or whatever allows you to choose. If you make a
consistent modifier key or keypress, you can allow all your actions that
have an obvious answer and several non-obvious answers to do this.
Walking into a closed door opens it, modified walking makes you attack
it instead (or something else, or allows you to choose). Just make sure
to document it.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:

> In some roguelikes items are intelligent. If you 'e'quip a weapon, it
> appears in your weapon slot. If you 'e'quip boots, they appear on your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?
>
> regards,
> Filip

Intelligent. It is a bad UI practice to ask a multiple choice question to a
user only to tell him after that 90% of the possible answers aren't
possible in fact. Unless you plan to create a meta UI game of course.

If you really want the special features of the out of place equip, you can
always provide a second equip command that does the "stupid slots" way.
Like e for "normal equip" and E for "stupid equip"
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it

> appears in your weapon slot. If you 'e'quip boots, they appear on
your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

There are several approaches to equipping:

1) Verb Based

This is what Nethack uses. 'w' signals you will put something in your
hands. 'W' signals that you want to wear something. You thus have no
extra keypresses to wield your robe in your hands.

2) Slot Based

This is what ADOM uses, IIRC. You look at your character sheet and
select a slot, like the Right Hand. You then get a list of items you
can put in your Right Hand. (This can be thought of as the same as
verb based, except with one verb per slot...)

3) Noun Based

This seems to be what you are starting with. One selects an item and
Equips it, and the right thing happens.

POWDER is entirely noun based so uses this approach. However, this
doesn't stop you from equipping silver rings in your right hand.

You go to the Inventory Screen and select an item. You then choose
"Equip". The cursor moves to the "right" slot for that action and you
can hit [A] to do the expect thing. You can also, however, move the
cursor to another slot to do something unusual.

I don't know what you mean by "point of no return".

The real difficulty of allowing "Wield Anything" is making sure
wielding a Plate Mail doesn't give you massive AC, etc. (It did for
quite a while in POWDER :>)

The other difficulty is if you have overlay graphics - you need to
reposition the overlays to allow arbitrary equipping. I finally got
around to that in 065 in POWDER when I allowed anything to be equipped
in the left hand as well as the right.
--
Jeff Lait
(POWDER: http://www.zincland.com/powder)
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> Dnia Fri, 22 Apr 2005 18:19:00 +0200,
> Filip Dreger napisal(a):
>
> > In some roguelikes you decide what goes where. such a UI.
> <snip>
> > My game approached the magical point of no return, where I have to
> > choose one of these. Any thoughts?
>
> I have established the idea of how I'm going to do it.
>
> I want to separate the items and their kinds (physical objects,
> with attributes light weight, size, material, looks, position, etc.),
> and the 'usages', being in fact things you can do with the items, and
> having things like AC bonus, damage bonus, magical effect, etc.
> The usages further separated from equipment slots, which are simply
flags
> telling whether your upper arm is already occupied.
>

Maybe flags aren't such a good idea? If you have alot of usages as
flags and most items only use then as a subset then maybe there's a
better way. I'm not sure what language your using, but if it can
refrence data structures you might consider giving each item a list or
array of properties. If your using c or c++ then you could just
refrence a list of structs. An example would be.

struct Property
{
const char * nameOfProperty;
const char * decriptionOfProperty;
int propertyIdentifier; // probably an enum
void propertyUsage(); // youcould script this depending on the
property
};

If you have a bunch of these then you'll have all the information for
all of the properties an item might have but only those properties that
it has. Voila, no more switch statements, just search the list for the
proper PropertyID and execute it's script. If you don't have scripting
this could be a good reason to put it in, or you could make a function
pointer (If your language of choice allows it).

> Now, you don't really use/equip items. You equip usages. The usages
> require certain slots to be free in order to be equipped.
>
> You can only have one usage of given kind -- something like usage
slots.
> But since an item can have multiple usages, you can equip one ad the
same
> item into many usage slots -- for example, you could have your dirk
> equipped as a weapon (equip it's `weapon' usage into weapon usage
slot),
> and at the same time as a tin opener (equip it's 'open tin' usage
into
> tin opener slot).
>

I think your over analyzing here. Maybe you should take a step back and
consider creating a basic inventory with only one item in mind. Then
after you have that simple scenario working add another item of a
different sort and adapt as necessary. I know what it's like to start
analyzing and try to figure every nuance. Waterfall thinking can be
exciting but hard to recover from if something dosen't go right.
Believe me I know, I've been through a total of 15 rewrites, because of
this. Just something to consider.

> The items itself are offcourse also moved when you equip their usages
--
> yopu have basically your 'eqipment' inventory and your 'treasure bag'
> inventory. You can put something into your equipment inventory even
when
> you don't have any of it's usages equipped -- it just indicates
you've got
> it strapped somewhere on you, or maybe put into pocket.

I think this could be a boolean flag, An item could be equipped or not.
Sounds like a good candidate to me. Then you don't have the overhead of
managing two lists.

>
> It's important, since you can drop your treasure bag in case of
emergency,
> and you don't want to drop all the healing potions with it.
>
> Now, usages have offcourse various 'kinds', and there are also some
> 'generic' usages (most hard and heavy items would have 'improvised
mace'
> usage which allows to equip them as a weapon).
>
> You don't have all your usage slots and item usages displayed all the
> time, offcourse.
>
> Most items have their 'default' usage, which gets called with 'u'se
> command. You can get full list of usages with 'U'se command.
>
> Only the usage slots that have a usage are displayed. When you cannot
> equip a useage bvecause of not having proper equipment slots free,
you get
> a message telling you exactly which usages are in the way.
>
> There might be also an alternative interface, where you have all your
> usage slots listed (in order of importance, I guess), and when you
select
> a usage slot, you have all usages of all items you have that fit into
that
> slot displayed. This might be more useful.
>
> Offcourse, there should be lots of 'convenience' usages, like
'default
> healing item' and 'default magic wand'.
>
> --
> Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
> `The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
> Dopieralski
..vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

On 22 Apr 2005 10:50:49 -0700, "jeremyo" <junk@jeremyo.com> wrote:

>I like the idea to do both, where pressing "e" will put your sandals on
>your feet, but pressing ALT-e (alt as in alternative, makes sense) asks
>you where you want to equip it. The player then has the chance to come
>up with a great idea, like equipping his silver-buckled-sandles in his
>hand to wack the werewolf with. But of course, you if the player tries
>to equip the sandles on, say, his head, you could simply reply with
>"That is impossible".

But it isn't. It just looks very silly and gives you a penalty to
reactions, except that it gives you a bonus to a "village idiot"
disguise and makes you acceptable in the Village of Shoes-on-Head.

R. Dan Henry
danhenry@inreach.com
Idiot boy, when are you going to post something useful?
Or better yet, get a job and stop being a welfare bum?
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it
> appears in your weapon slot.
> <snip>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one.
> <snip>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

My roguelike uses a slot system that accomplishes both. The inventory
interface allows you to filter items, as in ADOM, by type. So when the
player chooses to equip a weapon, the inventory is brought up with the
"show only weapons" filter on. However, if the player wishes, they can
then set the filter to "show all items" and attempt to equip any item.
Of course, if an item can't be equipped in a certain slot, nothing will
happen and a message will be sent relating this.

The initial filter serves only as a suggestion, which is somewhat
logical, I suppose. If you were (realistically) looking for something
to wield, you'd likely sort through all of your knives or guns or
magical rods of wounding first. If you could't find something
appropriate there, you'd possibly look deeper and try out that frying
pan as a weapon.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger wrote:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it
> appears in your weapon slot. If you 'e'quip boots, they appear on your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
>
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
>
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?
>

Hmmm. In my game, an item can be wielded, worn, or carried.

Weilded means - in your hands. Period.

Lots of items have special properties when "worn", which
means different things for different items - sandals go on
feet, pants go on legs, scabbard goes on belt, backpack
goes on over armor(if any) and under cloak (if any) and
so on.

And a very few items have special properties when "carried".
In game logic 'carried' means anywhere on your person -- weilded,
worn, stored in sheaths/scabbards, in backpacks, hanging from
the belt, and so on. But in UI terms, a 'carried' item is
one you have with you but which is neither 'weilded' nor
'worn'.

So, if you want to 'weild' your sandals in your hands, you can.
or you can 'wear' them which will put them on your feet, or
'carry' them by stashing them in your backpack or bag. There
doesn't seem to be much need for finer control than that. I
guess I *could* try to support equipping them in nonstandard
slots (wear them as shin guards?) But given the ability to
equip them three different ways (weild, wear, or carry) I
think I've covered everything my game needs.

Bear
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

>> Idiot boy, when are you going to post something useful?
>> Or better yet, get a job and stop being a welfare bum?

>That's off-topic flamebaiting. You realize that if you insist on
tacking
>a personal attack on the end of every post, people won't be able to
>avoid the flamebaiting by simply killfiling a few threads; instead
they
>will killfile *you*.

That is just a comment in the signature line, so the post is still
on-topic.

An advice Neo; try not to react to every comment made about you like
this. If you dont want to keep received "flamebaiting" comments, ignore
them and concentrate in roguelike development ideas. If you just can't
do it, get out of your computer for one day and come back with a
refreshed attitude.

--
Slash

>--
>http://www.gnu.org/philosophy/­right-to-read.html
>Palladium? Trusted Computing? DRM? Microsoft? Sauron.
>"One ring to rule them all, one ring to find them
> One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Dnia 22 Apr 2005 20:28:42 -0700,
Brent Ritchie napisal(a):

> The Sheep wrote:
>> Dnia Fri, 22 Apr 2005 18:19:00 +0200,
>> Filip Dreger napisal(a):

>
>> I want to separate the items and their kinds (physical objects,
>> with attributes light weight, size, material, looks, position, etc.),
>> and the 'usages', being in fact things you can do with the items, and
>> having things like AC bonus, damage bonus, magical effect, etc.
>> The usages further separated from equipment slots, which are simply
> flags
>> telling whether your upper arm is already occupied.


> Maybe flags aren't such a good idea? If you have alot of usages as
> flags and most items only use then as a subset then maybe there's a
> better way. I'm not sure what language your using, but if it can
> refrence data structures you might consider giving each item a list or
> array of properties. If your using c or c++ then you could just
> refrence a list of structs. An example would be.

Yes, Iprobably expressed it wrong.

Uasages are kept on a list in the item kind struct. Every item kind has
it's own list of usages.

Flags are for equipment slots, they tell whether you can wear one more
t-shirt or don your armor.

> If you have a bunch of these then you'll have all the information for
> all of the properties an item might have but only those properties that
> it has. Voila, no more switch statements, just search the list for the
> proper PropertyID and execute it's script. If you don't have scripting
> this could be a good reason to put it in, or you could make a function
> pointer (If your language of choice allows it).

I don't want to go scripting every single property.
Instead, there are several basic usage kinds (weapon, armor, magic item,
etc.) that have their attributes (damage bonus, AC bonus, magic effect).
What's the difference between switch statement and an array of function
pointer anyways?

> I think your over analyzing here. Maybe you should take a step back and
> consider creating a basic inventory with only one item in mind.

Done already.

> Then
> after you have that simple scenario working add another item of a
> different sort and adapt as necessary.

Done.

> I know what it's like to start
> analyzing and try to figure every nuance. Waterfall thinking can be
> exciting but hard to recover from if something dosen't go right.

Well, it's pretty clear. You start with only one usage per item -- it's
the same as with normal items, only you have a part of it's description
separated in another struct.
Then you change it into a list, and done -- mostly UI changes.

> Believe me I know, I've been through a total of 15 rewrites, because of
> this. Just something to consider.

Don't tell me about rewrites. To get to this idea with usages took me
several rewrites of item system. :)

>> The items itself are offcourse also moved when you equip their usages
> --
>> yopu have basically your 'eqipment' inventory and your 'treasure bag'
>> inventory. You can put something into your equipment inventory even
> when
>> you don't have any of it's usages equipped -- it just indicates
> you've got
>> it strapped somewhere on you, or maybe put into pocket.

> I think this could be a boolean flag, An item could be equipped or not.
> Sounds like a good candidate to me.

It's nor really that inportant how you mark thje items that are equipped.

> Then you don't have the overhead of
> managing two lists.

What overhead?
You mean those several bytes of additional memory? I can put everything
into constant size arrays, since there's a limit on the size of both
lists.

Or maybe you mean the CPU time needed to traverse the list?
But with two lists I only traverse the one that's needed -- it takes less
time.

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

R. Dan Henry wrote:
> On 22 Apr 2005 10:50:49 -0700, "jeremyo" <junk@jeremyo.com> wrote:
>
>
>>I like the idea to do both, where pressing "e" will put your sandals on
>>your feet, but pressing ALT-e (alt as in alternative, makes sense) asks
>>you where you want to equip it. The player then has the chance to come
>>up with a great idea, like equipping his silver-buckled-sandles in his
>>hand to wack the werewolf with. But of course, you if the player tries
>>to equip the sandles on, say, his head, you could simply reply with
>>"That is impossible".
>
> But it isn't. It just looks very silly and gives you a penalty to
> reactions, except that it gives you a bonus to a "village idiot"
> disguise and makes you acceptable in the Village of Shoes-on-Head.

That's perfectly on-topic and innocuous.

> Idiot boy, when are you going to post something useful?
> Or better yet, get a job and stop being a welfare bum?

That's off-topic flamebaiting. You realize that if you insist on tacking
a personal attack on the end of every post, people won't be able to
avoid the flamebaiting by simply killfiling a few threads; instead they
will killfile *you*.

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> What's the difference between switch statement and an array of function
> pointer anyways?

None, if your compiler has a decent optimizer.

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Antoine wrote:
> Filip Dreger wrote:
>
>>In some roguelikes items are intelligent. If you 'e'quip a weapon, it
>>appears in your weapon slot. If you 'e'quip boots, they appear on your
>>feet. And so on. Thanks to this, using the inventory screen does not
>>feel like you were dressing a paper doll.
>>
>>In some roguelikes you decide what goes where. Doing obvious things
>>like putting on sandals takes at least two key presses, instead of
>>one. You gain two things: first, you feel like Rambo in the famous
>>equipping sequence (it was in Rambo, wasn't it?). Second, you can
>>equip a silver ring as a weapon to harm an enemy that is immune to
>>things other than silver - which is only an example of other cool,
>>unexpected features that might be possible with such a UI.
>>
>>My game approached the magical point of no return, where I have to
>>choose one of these. Any thoughts?
>
> I think you should go with the first option. Leave the
> wear-your-smoky-ring-on-your-left-leg stuff to Nethackers.

M2C Only do it for 'w'ield weapons (any item).

--
WhoIs Neo*?TwistedOne?Kydaimon?Twisted?Bogey?Booger?Zargon?PaulD
http://web.archive.org/web/20030625041733/www.globalserve.net/~derbyshire/mrant.html
- haha: 2 ignored: 27 wrong: 20 troll: 47 SAD: 19 ontopic: 6 -
- SNR = 3h + o / 1 + .5i + w + 5t + 1S = C / 15F = 0.08 was 0.02 -
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"Filip Dreger" <fdreger@amiga.pl> wrote:
>In some roguelikes items are intelligent. If you 'e'quip a weapon, it
>appears in your weapon slot. If you 'e'quip boots, they appear on your
>feet. And so on. Thanks to this, using the inventory screen does not
>feel like you were dressing a paper doll.
>
>In some roguelikes you decide what goes where. Doing obvious things
>like putting on sandals takes at least two key presses, instead of
>one. You gain two things: first, you feel like Rambo in the famous
>equipping sequence (it was in Rambo, wasn't it?). Second, you can
>equip a silver ring as a weapon to harm an enemy that is immune to
>things other than silver - which is only an example of other cool,
>unexpected features that might be possible with such a UI.
>
>My game approached the magical point of no return, where I have to
>choose one of these. Any thoughts?

So what website has the definitive set of links to roguelikes?
I'd think you could wear a silver ring normally and then use unarmed
combat to kick a silver prone enemy's ass.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

SZDev - Slash wrote:
> An advice Neo; try not to react to every comment made about you like
> this.

Excuse me? And let the bastard win? Yeah, right. This way he is forced
to choose between disrupting the group and minding his own goddam
business and shutting up about me. So far, he chooses to disrupt the
group and every thread he posts to.

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> Dnia 22 Apr 2005 20:28:42 -0700,
> Brent Ritchie napisal(a):
>
> > The Sheep wrote:
> >> Dnia Fri, 22 Apr 2005 18:19:00 +0200,
> >> Filip Dreger napisal(a):
>
> >
> >> I want to separate the items and their kinds (physical objects,
> >> with attributes light weight, size, material, looks, position,
etc.),
> >> and the 'usages', being in fact things you can do with the items,
and
> >> having things like AC bonus, damage bonus, magical effect, etc.
> >> The usages further separated from equipment slots, which are
simply
> > flags
> >> telling whether your upper arm is already occupied.
>
>
> > Maybe flags aren't such a good idea? If you have alot of usages as
> > flags and most items only use then as a subset then maybe there's a
> > better way. I'm not sure what language your using, but if it can
> > refrence data structures you might consider giving each item a list
or
> > array of properties. If your using c or c++ then you could just
> > refrence a list of structs. An example would be.
>
> Yes, Iprobably expressed it wrong.
>
> Uasages are kept on a list in the item kind struct. Every item kind
has
> it's own list of usages.
>
> Flags are for equipment slots, they tell whether you can wear one
more
> t-shirt or don your armor.
>
> > If you have a bunch of these then you'll have all the information
for
> > all of the properties an item might have but only those properties
that
> > it has. Voila, no more switch statements, just search the list for
the
> > proper PropertyID and execute it's script. If you don't have
scripting
> > this could be a good reason to put it in, or you could make a
function
> > pointer (If your language of choice allows it).
>
> I don't want to go scripting every single property.
> Instead, there are several basic usage kinds (weapon, armor, magic
item,
> etc.) that have their attributes (damage bonus, AC bonus, magic
effect).
> What's the difference between switch statement and an array of
function
> pointer anyways?

Probably no difference in speed, but I you use switch statements for
more then a couple of things. It can turn to spaghetti prety quick, and
if you use function pointers you only have to iterate (or traverse, the
list with a sort). Iteration gets rid of switch statements, and is more
readable and compact(read 'Maintainable'), because loops tend to take
up fewer lines of code then switch statements.

>
> > I think your over analyzing here. Maybe you should take a step back
and
> > consider creating a basic inventory with only one item in mind.
>
> Done already.
>
> > Then
> > after you have that simple scenario working add another item of a
> > different sort and adapt as necessary.
>
> Done.
>

Glad to hear, I made these mistakes a few times.

> > I know what it's like to start
> > analyzing and try to figure every nuance. Waterfall thinking can be
> > exciting but hard to recover from if something dosen't go right.
>
> Well, it's pretty clear. You start with only one usage per item --
it's
> the same as with normal items, only you have a part of it's
description
> separated in another struct.
> Then you change it into a list, and done -- mostly UI changes.
>
> > Believe me I know, I've been through a total of 15 rewrites,
because of
> > this. Just something to consider.
>
> Don't tell me about rewrites. To get to this idea with usages took me
> several rewrites of item system. :)
>
> >> The items itself are offcourse also moved when you equip their
usages
> > --
> >> yopu have basically your 'eqipment' inventory and your 'treasure
bag'
> >> inventory. You can put something into your equipment inventory
even
> > when
> >> you don't have any of it's usages equipped -- it just indicates
> > you've got
> >> it strapped somewhere on you, or maybe put into pocket.
>
> > I think this could be a boolean flag, An item could be equipped or
not.
> > Sounds like a good candidate to me.
>
> It's nor really that inportant how you mark thje items that are
equipped.
>
> > Then you don't have the overhead of
> > managing two lists.
>
> What overhead?
> You mean those several bytes of additional memory? I can put
everything
> into constant size arrays, since there's a limit on the size of both
> lists.
>
> Or maybe you mean the CPU time needed to traverse the list?
> But with two lists I only traverse the one that's needed -- it takes
less
> time.

Maintnence overhead mostly, more code = more maintnence = more bugs(or
features if you prefer).

But having two lists _CAN_ be a dramatic overhead. First there is the
condition code, then the traversal. These would have to be performed
seperatly. for each item. Whereas, if you have one list, you eliminate
the conditional, if you use a flag you can traverse the list once and
change everything that needs to be changed. (If you log your changes in
the inventory screen, or something similar.) Plus less code ;) .

>
> --
> Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
> `The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
> Dopieralski
..vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.

Brent Ritchie
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Filip Dreger <fdreger@amiga.pl>
wrote on Fri, 22 Apr 2005 18:19:00 +0200:
> In some roguelikes items are intelligent. If you 'e'quip a weapon, it
> appears in your weapon slot. If you 'e'quip boots, they appear on your
> feet. And so on. Thanks to this, using the inventory screen does not
> feel like you were dressing a paper doll.
> In some roguelikes you decide what goes where. Doing obvious things
> like putting on sandals takes at least two key presses, instead of
> one. You gain two things: first, you feel like Rambo in the famous
> equipping sequence (it was in Rambo, wasn't it?). Second, you can
> equip a silver ring as a weapon to harm an enemy that is immune to
> things other than silver - which is only an example of other cool,
> unexpected features that might be possible with such a UI.
> My game approached the magical point of no return, where I have to
> choose one of these. Any thoughts?

I just use an equippable bit-mask to determine which areas an item can
be equipped on. Right now I use a special-case rule to prevent using a
two-handed weapon with something in your left hand, but if I needed to
generalize that rule, it would be just as easy to have a bit-mask that
lists areas that conflict with the item.

If a silver ring helps you fight werewolves, there's no need to make
it be a "weapon" (which really just means right hand[0]). It's still
equipped as a ring, but you get the melee benefit from it if it's
equipped as your right-hand ring, you have no weapon, and you aren't
wearing gloves.

[0] Yes, there are left-handed people, as well, but by definition
they're all monsters: they're sinister.
--
<a href="http://kuoi.asui.uidaho.edu/~kamikaze/"> Mark Hughes </a>
"Gibson and I dueled among blazing stacks of books for a while. [...] The
streets were crowded with his black-suited minions and I had to turn into a
swarm of locusts and fly back to Seattle." -Neal Stephenson, /. interview
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Brent Ritchie wrote:
> .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.

What?

--
http://www.gnu.org/philosophy/right-to-read.html
Palladium? Trusted Computing? DRM? Microsoft? Sauron.
"One ring to rule them all, one ring to find them
One ring to bring them all, and in the darkness bind them."
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Dnia 23 Apr 2005 17:07:58 -0700,
Brent Ritchie napisal(a):

> The Sheep wrote:
>> Dnia 22 Apr 2005 20:28:42 -0700,
>> Brent Ritchie napisal(a):

>> > The Sheep wrote:
>> >> Dnia Fri, 22 Apr 2005 18:19:00 +0200,
>> >> Filip Dreger napisal(a):

>> > Then you don't have the overhead of
>> > managing two lists.

>> What overhead?
>> You mean those several bytes of additional memory? I can put
> everything
>> into constant size arrays, since there's a limit on the size of both
>> lists.

>> Or maybe you mean the CPU time needed to traverse the list?
>> But with two lists I only traverse the one that's needed -- it takes
> less
>> time.

> Maintnence overhead mostly, more code = more maintnence = more bugs(or
> features if you prefer).

Somehow I can't see how it's less code to have one big list and switch
statements inside the loop, than having multiple short lists and switch
outside of the loops.

> But having two lists _CAN_ be a dramatic overhead. First there is the
> condition code, then the traversal. These would have to be performed
> seperatly. for each item.

Somehow I can't understand it.
List traversal code is written once, put into a procedure, debugged.
Then I can call it with different lists to traverse and different code to
be performed on every item on the list.
Since some decission have been made outside of the loop, I can make that
code short and simple.

I don't do it for every list with items -- I only do it with the list
I need. The division into equipment and treasure bag is because those
items are treted different game-wise -- that's why it have sense.

When the player character triggers a rust trap, I only try to corrode his
equipment. When the player wants to browse his treasure, I only display
his treasure bag's contents.

I can hardly imagine having to check all items from all the lists -- but
even then I put the code that repeats into a separate function and call it
multiple times.

> Whereas, if you have one list, you eliminate
> the conditional, if you use a flag you can traverse the list once and
> change everything that needs to be changed. (If you log your changes in
> the inventory screen, or something similar.) Plus less code ;) .

No, you don't eliminate the conditional. You just put it inside, where
it's harder to debug and maintain. IMHO offcourse.

I prefer to have everything in small, nicely separated pieces.

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

"Filip Dreger" <fdreger@amiga.pl> wrote in
news:d4b8dr$qfe$1@nemesis.news.tpi.pl:

> In some roguelikes items are intelligent. If you 'e'quip a
> weapon, it appears in your weapon slot. If you 'e'quip boots,
> they appear on your feet. And so on. Thanks to this, using the
> inventory screen does not feel like you were dressing a paper
> doll.
>
> In some roguelikes you decide what goes where. Doing obvious
> things like putting on sandals takes at least two key presses,
> instead of one. You gain two things: first, you feel like Rambo
> in the famous equipping sequence (it was in Rambo, wasn't it?).
> Second, you can equip a silver ring as a weapon to harm an enemy
> that is immune to things other than silver - which is only an
> example of other cool, unexpected features that might be
> possible with such a UI.
>
> My game approached the magical point of no return, where I have
> to choose one of these. Any thoughts?
>
Mouse with intelligent it can't be equiped here.
 
G

Guest

Guest
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One <twisted0n3@gmail.invalid> wrote:
> None, if your compiler has a decent optimizer.

You compiler can design, write, code, profile, get help on newsgroups
and from others, redesign, rewrite, and recode?

--
Jim Strathmeyer