intelligent vs stupid slots

Page 2 - Seeking answers? Join the Tom's Hardware community: where nearly two million members share solutions and discuss the latest tech.
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One <twisted0n3@gmail.invalid> wrote:
> What?

I wasn't talking to you.

--
Jim Strathmeyer
 
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One <twisted0n3@gmail.invalid> wrote:
> 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.

I have never felt that Dan has disrupted the group. In fact, I consider
him the most helpful and constructive person here.

You, on the other hand... Do you black out when you post? And then wake
up the next day in a cold sweat, having no idea what you've done? Or do
you just totally not get human interaction?

--
Jim Strathmeyer
 
Archived from groups: rec.games.roguelike.development (More info?)

Jim Strathmeyer wrote:
> 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?

Huh?

The original discussion was about the difference between a switch
statement and an array of function pointers (in C). Any decent
optimizing compiler is likely to turn a switch statement (at least with
an enum or sequential integers as cases) into an array of pointers used
as a jump table. Similar to an array of function pointers. An actual
array of function pointers can be turned (by smart enough compilers and
if the functions are in the same compilation unit) into a jump table
with the functions inlined, under certain circumstances, which makes
them exactly the same.

--
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."
 
Archived from groups: rec.games.roguelike.development (More info?)

Jim Strathmeyer wrote:
> Twisted One <twisted0n3@gmail.invalid> wrote:
>
>>What?
>
> I wasn't talking to you.

What?
You aren't quoting enough context here. What was I quoting when I wrote
"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."
 
Archived from groups: rec.games.roguelike.development (More info?)

Jim Strathmeyer wrote:
> Twisted One <twisted0n3@gmail.invalid> wrote:
>
>>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.
>
> I have never felt that Dan has disrupted the group. In fact, I consider
> him the most helpful and constructive person here.

Even though he's been tacking a bit of irrelevant flamebait at the end
of nearly every post here for several days? You are clearly quite mad.

--
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."
 
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One <twisted0n3@gmail.invalid> wrote:
> Even though he's been tacking a bit of irrelevant flamebait at the end
> of nearly every post here for several days? You are clearly quite mad.

Yes, even though.

Clearly.

--
Jim Strathmeyer
 
Archived from groups: rec.games.roguelike.development (More info?)

Jim Strathmeyer wrote:

<clip>

Please stop making fun of the handicapped. If you don't
kick the crutches out from under cripples in person, don't
bait mental defectives on the newsgroup.

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

Quoting Jim Strathmeyer <strathWHATEVERIGETENOUGHSPAMANYWAYS@ipass.net>:
>Twisted One <twisted0n3@gmail.invalid> wrote:
>>Even though he's been tacking a bit of irrelevant flamebait at the end
>>of nearly every post here for several days? You are clearly quite mad.
>Yes, even though.

Indeed, once we've all killfiled Paul, this will have no effect on anyone
who matters.
--
David Damerell <damerell@chiark.greenend.org.uk> Distortion Field!
Today is Potmos, May.
 
Archived from groups: rec.games.roguelike.development (More info?)

David Damerell wrote:
> Quoting Jim Strathmeyer <strathWHATEVERIGETENOUGHSPAMANYWAYS@ipass.net>:
>
>>Twisted One <twisted0n3@gmail.invalid> wrote:
>>
>>>Even though he's been tacking a bit of irrelevant flamebait at the end
>>>of nearly every post here for several days? You are clearly quite mad.
>>
>>Yes, even though.
>
> Indeed, once we've all killfiled Paul, this will have no effect on anyone
> who matters.

Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi or
someone else who is using a 'nym. Paul Arthur has behaved relatively
reasonably, the recent potshot in the "job advice for neo" thread
notwithstanding. He certainly hasn't earned a place in anyone's killfile
yet with just a handful of mild wisecracks.

--
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."
 
Archived from groups: rec.games.roguelike.development (More info?)

Ray Dillinger wrote:
[insult deleted]

You, sir, are quite the hypocrite. Insulting me by accusing me of being
a mental case, while simultaneously telling other people to quit flaming
and flamebaiting. Really.

--
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."
 
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One <twisted0n3@gmail.invalid> wrote:
> Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi or
> someone else who is using a 'nym. Paul Arthur has behaved relatively
> reasonably, the recent potshot in the "job advice for neo" thread
> notwithstanding. He certainly hasn't earned a place in anyone's
> killfile yet with just a handful of mild wisecracks.

And who is this Neo everyone keeps talking about? Wasn't he that guy?
From that movie? With the computers?

--
Jim Strathmeyer
 
Archived from groups: rec.games.roguelike.development (More info?)

In article <426925f3$0$8481$636a15ce@news.free.fr>,
Christophe Cavalaria <chris.cavalaria@free.fr> wrote:
>Filip Dreger wrote:
[...]
>> My game approached the magical point of no return, where I have to
>> choose one of these. Any thoughts?

>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.
[...]
>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"

While I generally agree with this, I think that the real correct
answer is to do whatever is easiest to code, then go back and fix it
later once you've got a working game. It's a lot easier to add a
feature to a working program than to a non-working program.



--Chris


--
Chris Reuter http://www.blit.ca
"Feel free, as long as you only quote it in long trotskyite diatribes about
the evils of objectivism."
--Charlie Stross, granting permission to be quoted in a .sig
 
Archived from groups: rec.games.roguelike.development (More info?)

Twisted One wrote:
> Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi or
> someone else who is using a 'nym.

Nah, as far as my Intelligence Agency tells me ABCGi is an "Adam"-named
being ;-)
--
At your service,
Kornel Kisielewicz (charonATmagma-net.pl) [http://chaos.magma-net.pl]
"The name of GenRogue, has become a warning against excessively
complex design." -- RGRD FAQ
 
Archived from groups: rec.games.roguelike.development (More info?)

Dnia Tue, 26 Apr 2005 16:31:13 +0200,
Kornel Kisielewicz napisal(a):

> Twisted One wrote:
>> Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi or
>> someone else who is using a 'nym.

> Nah, as far as my Intelligence Agency tells me ABCGi is an "Adam"-named
> being ;-)

Waaaah. Now I regret posting my name openly.
Nobody is going to investigate on me, and it seems like so much fun :)

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> Dnia Tue, 26 Apr 2005 16:31:13 +0200,
> Kornel Kisielewicz napisal(a):
>
>> Twisted One wrote:
>>> Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi
>>> or someone else who is using a 'nym.
>
>> Nah, as far as my Intelligence Agency tells me ABCGi is an
>> "Adam"-named being ;-)
>
> Waaaah. Now I regret posting my name openly.
> Nobody is going to investigate on me, and it seems like so much fun :)

Don't worry, you were investigated too ;-). I made contact with a person who
knows you personaly ;-)
--
At your service,
Kornel Kisielewicz (charonATmagma-net.pl) [http://chaos.magma-net.pl]
"Well, the philosophy of the World of Shadows is based on most of the
degenerate, immoral and foremost amoral philosophical beliefs of our
world exagarated to the maximum." --Anubis
 
Archived from groups: rec.games.roguelike.development (More info?)

Dnia Tue, 26 Apr 2005 16:44:22 +0200,
Kornel Kisielewicz napisal(a):

> The Sheep wrote:
>> Dnia Tue, 26 Apr 2005 16:31:13 +0200,
>> Kornel Kisielewicz napisal(a):

>>> Twisted One wrote:
>>>> Killfiled who? The only Paul here is Paul Arthur, unless it's ABCGi
>>>> or someone else who is using a 'nym.

>>> Nah, as far as my Intelligence Agency tells me ABCGi is an
>>> "Adam"-named being ;-)

>> Waaaah. Now I regret posting my name openly.
>> Nobody is going to investigate on me, and it seems like so much fun :)

> Don't worry, you were investigated too ;-). I made contact with a person who
> knows you personaly ;-)

That doesn't count 😛

Heh, reminds me how last year I met GSN -- he had some lectures here and
he needed his login in our net. :) I was shocked -- I thought he'd be much
older.

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
>> Don't worry, you were investigated too ;-). I made contact with a
>> person who knows you personaly ;-)
>
> That doesn't count 😛
>
> Heh, reminds me how last year I met GSN -- he had some lectures here
> and he needed his login in our net. :) I was shocked -- I thought
> he'd be much older.

Yeah ;-). And I was shocked when 2 years ago the guy I was traveling for a
year with the bus home from my university turned out to be Piotr Wolny the
creator of Legends of Valdor ;-).
--
At your service,
Kornel Kisielewicz (charonATmagma-net.pl) [http://chaos.magma-net.pl]
"Invalid thought detected. Close all mental processes and
restart body."
 
Archived from groups: rec.games.roguelike.development (More info?)

Dnia Tue, 26 Apr 2005 16:57:35 +0200,
Kornel Kisielewicz napisal(a):

> The Sheep wrote:

>> Heh, reminds me how last year I met GSN -- he had some lectures here
>> and he needed his login in our net. :) I was shocked -- I thought
>> he'd be much older.

> Yeah ;-). And I was shocked when 2 years ago the guy I was traveling for a
> year with the bus home from my university turned out to be Piotr Wolny the
> creator of Legends of Valdor ;-).

You know, there's a theory saying that there are only about 200 real
people on this planet -- the rest is only for decoration.

That's why you keep meeting the same people all the time, even in most
bizzare places.

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> You know, there's a theory saying that there are only about 200 real
> people on this planet -- the rest is only for decoration.
>
> That's why you keep meeting the same people all the time, even in most
> bizzare places.

What is it then -- all a simulation run by future superbeings? Greg Egan
type stuff? The Matrix? That movie the thirteenth floor? Something like
that?

--
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."
 
Archived from groups: rec.games.roguelike.development (More info?)

The Sheep wrote:
> Dnia Tue, 26 Apr 2005 16:57:35 +0200,
> Kornel Kisielewicz napisal(a):
>
>> The Sheep wrote:
>
>>> Heh, reminds me how last year I met GSN -- he had some lectures here
>>> and he needed his login in our net. :) I was shocked -- I thought
>>> he'd be much older.
>
>> Yeah ;-). And I was shocked when 2 years ago the guy I was traveling
>> for a year with the bus home from my university turned out to be
>> Piotr Wolny the creator of Legends of Valdor ;-).
>
> You know, there's a theory saying that there are only about 200 real
> people on this planet -- the rest is only for decoration.
>
> That's why you keep meeting the same people all the time, even in most
> bizzare places.

Sometimes I'm inclined to believe that...
--
At your service,
Kornel Kisielewicz (charonATmagma-net.pl) [http://chaos.magma-net.pl]
"From what I've read, a lot of people believe that GenRogue
exists and will be released some day" -- Arxenia Xentrophore
 
Archived from groups: rec.games.roguelike.development (More info?)

Chris Reuter wrote:
> In article <bMidnW58Yauj7PffRVn-pQ@rogers.com>,
> Twisted One <twisted0n3@gmail.invalid> wrote:
>
>>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.
>
>
> It's not that simple. If your case constants are relatively close
> together, then yeah, an optimizer can turn that into one or more jump
> tables. If not, it ends up being equivalent to a bunch of "if"
> statements.
>
> How well the optimizer can make that transition depends on its ability
> to see patterns in the constants. Seeing patterns, I should add, is
> not something computers are generally good at. If you just switch on
> increasing integers (e.g. all the elements of an enum), the compiled
> switch code is about as fast as an array of function pointers, but if
> it's more complicated than that, switching speed could be O👎 where n
> is the number of cases.

Um. Order log👎, please. There's no excuse for slower than that. If
you can't make a jump table out of it, you can at least make a binary
tree, so O(log👎) is an upperbound.

Even when constants are far apart and randomly ordered, you can usually
do better than log👎 by building a hash table of them.

> (A few experiments with work's compiler seems to show that it gives up
> on cleverness if the cases are anything more than simple increasing
> numbers. I haven't done much in-depth investigation into that yet,
> though. Other compilers may do better, but there are limits to how
> well they can figure this stuff out.)

It may be that it doesn't switch to a binary-tree or hash table until
there are more than N cases in the switch statement. It may also
be that the people who wrote it were just plain lazy. Damn, but
laziness is too common in compilers these days. Now I need to
check on gcc, and maybe submit a patch for binary trees on switch
statements when -O3 or higher, and hash tables on switch statements
when -O4 or higher (since it may take a few tries to construct the
table...).

> But that's a lot less important than the maintenance issues. Really,
> how often do you put a switch statement in a speed-critical part of
> the code?

🙂 How often in OO programming do you call a polymorphic method?
That's about how often in DD programming you have a switch in a
speed-critical part of the code.

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

Dnia Thu, 28 Apr 2005 12:30:53 -0400,
Chris Reuter napisal(a):

> Ask me how Smalltalk does flow control. I dare you.

It's not directed to me, but I'm curious. 😉

How?

--
Radomir @**@_ Bee! .**._ .**._ .**._ .**._ zZ
`The Sheep' ('') 3 (..) 3 (..) 3 (..) 3 (--) 3
Dopieralski .vvVvVVVVVvVVVvVVVvVvVVvVvvVvVVVVVVvvVVvvVvvvvVVvVVvv.v.
 
Archived from groups: rec.games.roguelike.development (More info?)

On 2005-04-24 19:39:06, Raghar <notfor@mail.com> wrote:

> "Filip Dreger" 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.
>

Mouse with single-click to equip or unequip it. Why bother with a separate list
of equipment and inventory if you're using a mouse for UI...


--
Unangband L:C E+ T- R- P+ D-- G+(+) F:Sangband RL-- RLA-- W:F Q++
AI+(++) GFX++ SFX++ RN+++(+) PO++ Hp+++ Re--(+) S++ C- O* KG--
 
Archived from groups: rec.games.roguelike.development (More info?)

In article <slrnd7cvs2.mar.sheep@atos.wmid.amu.edu.pl>,
The Sheep <sheep@sheep.prv.pl> wrote:
>Dnia Mon, 2 May 2005 14:09:40 -0400,
> Chris Reuter napisal(a):
>
>> In article <slrnd72dau.3s5.sheep@atos.wmid.amu.edu.pl>,
>> The Sheep <sheep@sheep.prv.pl> wrote:
>>>Dnia Thu, 28 Apr 2005 12:30:53 -0400,
>>> Chris Reuter napisal(a):
>
>
>>>> Ask me how Smalltalk does flow control. I dare you.
>
>>>It's not directed to me, but I'm curious. 😉
>>>How?
>
>> Long answer: Well, you asked. Now you have to read it.
>
>I'm very glad I asked. It's very interesting. And elegant.
>
>Somehow, reminds me of how TCL does it.
>
>Maybe because both ways are only possible when you can pass actual code
>as parameters?
>
>> In Smalltalk, everything[1] is done by sending "messages" to objects.
>> Sending a message is, for the purposes of this discussion, the same
>> thing as calling a method (aka "member function") so I'm going to
>> pretend they're the same thing, but I'll probably keep calling them
>> messages out of habit so I figured I'd warn you now.
>
>That's how OOP was defined in the first place, isn't it?

Depends on the language. Python doesn't (AFAIK) have a concept of a
message but has about the same level of flexibility. C++, on the
other hand, is far more restrictive. Java seems to be somewhere in
between, although I could be wrong.

Messages make a lot more sense if you look at Smalltalk-72, the
original version of the language. (Smalltalk underwent two different
major revamps. The version everyone uses now is actually
Smalltalk-80.)

In Smalltalk-72, the message was whatever text was to the right of the
object and the object would actually parse the message and do what it
wanted with it. This made for a really, really powerful language but
no two Smalltalk programs looked like they were written in the same
language.

Between then and 1980, they fixed that problem by limiting what
messages could be. Along the way, messages sort of turned into method
calls and most OO languages don't really have the concept at all.

In modern Smalltalk, messages mean:

1) Calling a method will work, regardless of its implementation or
the object's inheritance structure, so long as there's a method with
the expected name there.

2) If there's no method corresponding to the message, you can
catch that and add other behaviour.

For example, in QFP, I implement creature stats by making the stats
objects, then catching message sends that follow a particular naming
pattern and doing the right thing.

So when I do something like:

aMonster atStatStrength: 42

there is no method named "atStatStrength:". Instead, it calls
"doesNotUnderstand:", which gets the method name, sees the "atStat"
part, extracts the "Strength" part from the message name, pulls the
Strength object from its hash of stats and stores the argument (42)
there.

3) You can piece together message sends programmatically. For
example, you might create a string and send it as a message to an
object.

Now, I know you can do all of this in Python, and I'm pretty sure
Perl lets you do it as well and neither of those languages have a
concept of "message", so I'm inclined to believe that these days,
messages are more of a convention than anything else.


>> This is true even if the method that created the block has already
>> returned. Is that cool or what?!
>
>It's weird. How about when you destroy the method? (it's an object too,
>isnt it?)

Everything's garbage collected so you don't actually destroy methods,
you just remove them from the class. If a block context hangs around,
it keeps the method alive.

The same is true of method contexts (i.e. the data structure that
holds the local variables of a particular method call--in C, it's a
stack frame). If a method does something like this:

SomeGlobal := [a + b thingee].

the block will live on after the method call that created it returns
but the block will keep the method context alive since, after all, a
and b are local variables. You can then continue to evaluate the
block however often you want.

Also, blocks can contain returns. This:

SomeGlobal := [^a].
SomeGlobal value.

will cause the current method to return but the block that did the
return will still exist because a global keeps it alive. And if you
try to evaluate the block again, you'll get a runtime error because
you can't return more than once.


>Thank you very much for your time to write all this. I could probably find
>it in some SmallTalk tutorial, but I didn't expect it'd be so fun.

Yeah, Smalltalk is way fun. Join ussssssss. Join usssssss.


--Chris


--
Chris Reuter http://www.blit.ca
"Please stop putting my life in perspective. It's very annoying."
--Pearls Before Swine, 2004/7/23