November 2001
- Digimask Technology. Matt Owen
- Digimask Technology. Ian Macintosh
- Call for submissions to Game Programming Gems 3 Andrew Kirmse
- Virtual environments for education? Edward Glowacki
- Virtual environments for education? Hans-Henrik Staerfeldt
- Virtual environments for education? Bruce Mitchener
- Virtual environments for education? Ola Fosheim Grøstad
- Virtual environments for education? Dr. Cat
- Virtual environments for education? Mats Lidstrom
- Playing NPCs Daniel.Harman@barclayscapital.com
- A Hello, and thanks... o. rchaeus
- NPCS Mr Dylan Tovey
- Story in MM*s [was ] Joe Andrieu
- player-driven content? Sasha Hart
- player-driven content? Paul Schwanz
- player-driven content? Bruce Mitchener
- (no subject) J C Lawrence
- (no subject) Koster, Raph
- (no subject) Peter Tyson
- WebRPG Travis Casey
- [TECH][SURVEY] non-mainstream languages? Bruce Mitchener
- [TECH][SURVEY] non-mainstream languages? Brian Hook
- [TECH][SURVEY] non-mainstream languages? Nathan F. Yospe
- [TECH][SURVEY] non-mainstream languages? Mats Lidstrom
- [TECH][SURVEY] non-mainstream languages? Bruce Mitchener
- "sweeping change"? Sellers, Mike
- "sweeping change"? Michael Tresca
- "sweeping change"? Sellers, Mike
- "sweeping change"? Michael Tresca
- "sweeping change"? Freeman, Jeff
- "sweeping change"? Matt Mihaly
- "sweeping change"? Sellers, Mike
- Re[4]: Expectations of in-game reality Travis Casey
- Cynical at a young age T.A.J.BARTON
- Tabletop RPGs and Inspiration (was: no subject) Brian 'Psychochild' Green
- Tabletop RPGs and Inspiration (was: no subject) John Mariotti
- Tabletop RPGs and Inspiration (was: no subject) Matt Chatterley
- Tabletop RPGs and Inspiration (was: no subject) Sean K
- Tabletop RPGs and Inspiration (was: no subject) Don Healey
- Some survey results... Andrew Wilson
- Some survey results... Matt Mihaly
- Some survey results... Jeremy Noetzelman
- Some survey results... Andrew Wilson
- Some survey results... Dr. Cat
- Some survey results... Andrew Wilson
- Some survey results... Dr. Cat
- Some survey results... Derek Snider
- Some survey results... Andrew Wilson
- Some survey results... Matt Mihaly
- Role-Playing Games Are Not Dead Michael Tresca
- Role-Playing Games Are Not Dead Dave Rickey
- Role-Playing Games Are Not Dead Ryan S. Dancey
- Role-Playing Games Are Not Dead Richard Aihoshi aka Jonric
- Role-Playing Games Are Not Dead Leland Hulbert II
- Role-Playing Games Are Not Dead Richard Aihoshi aka Jonric
- Role-Playing Games Are Not Dead Matt Mihaly
- Role-Playing Games Are Not Dead Paul Schwanz
- Role-Playing Games Are Not Dead Dave Rickey
- Role-Playing Games Are Not Dead Sellers, Mike
- Role-Playing Games Are Not Dead Ryan S. Dancey
- Role-Playing Games Are Not Dead Valerio Santinelli
- Role-Playing Games Are Not Dead Koster, Raph
- Role-Playing Games Are Not Dead Michael Tresca
- Role-Playing Games Are Not Dead Brian Hook
- Role-Playing Games Are Not Dead Lars Duening
- Role-Playing Games Are Not Dead Ola Fosheim Grøstad
- Role-Playing Games Are Not Dead Phillip Lenhardt
- Role-Playing Games Are Not Dead Lars Duening
- Role-Playing Games Are Not Dead Matt Mihaly
- Role-Playing Games Are Not Dead Travis Casey
- Role-Playing Games Are Not Dead Matt Mihaly
- Role-Playing Games Are Not Dead Travis Casey
- Role-Playing Games Are Not Dead Don Healey
- Role-Playing Games Are Not Dead Michael Tresca
- Role-Playing Games Are Not Dead Matt Mihaly
- Role-Playing Games Are Not Dead Paul Schwanz
- Role-Playing Games Are Not Dead Travis Casey
- Role-Playing Games Are Not Dead Phillip Lenhardt
- Role-Playing Games Are Not Dead Don Healey
- Role-Playing Games Are Not Dead Koster, Raph
- Role-Playing Games Are Not Dead Ling Lo
- Role-Playing Games Are Not Dead Ryan S. Dancey
- Role-Playing Games Are Not Dead Paul Schwanz
- Role-Playing Games Are Not Dead Michael Tresca
- [DGN] The Human Condition Kwon Ekstrom
- Multi-protagonist stories. Paul Schwanz
- Multi-protagonist stories. Matt Mihaly
- licensing Adam Martin
- Tabletop RPGs and Inspiration (was: no subject) Sami Kosonen
- Licensing PnP RPGs was "sweeping change"? Brian Hook
- Licensing PnP RPGs was "sweeping change"? Richard Aihoshi aka Jonric
- Licensing PnP RPGs was "sweeping change"? Freeman, Jeff
- Good Writing (was: Role-Playing Games Are Not Dead) Brian 'Psychochild' Green
- New laws. (was: Player Manipulation of Environment) Marian Griffith
- New laws. (was: Player Manipulation of Environment) Hans-Henrik Staerfeldt
- New laws. (was: Player Manipulation of Environment) John Buehler
- New laws. (was: Player Manipulation of Environment) Bruce Mitchener
- New laws. (was: Player Manipulation of Environment) Marian Griffith
- New laws. (was: Player Manipulation of Environment) Hans-Henrik Staerfeldt
- New laws. (was: Player Manipulation of Environment) Bruce Mitchener
- New laws. (was: Player Manipulation of Environment) Marian Griffith
- New laws. (was: Player Manipulation of Environment) Mark Eaton
- New laws. (was: Player Manipulation of Environment) Marian Griffith
- New laws. (was: Player Manipulation of Environment) Hans-Henrik Staerfeldt
- New laws. (was: Player Manipulation of Environment) Travis Casey
- New laws. (was: Player Manipulation of Environment) Hans-Henrik Staerfeldt
- New laws. (was: Player Manipulation of Environment) Travis Casey
- New laws. (was: Player Manipulation of Environment) Andrew Hefford
- New laws. (was: Player Manipulation of Environment) Paul Schwanz
- New laws. (was: Player Manipulation of Environment) Matt Mihaly
- New laws. (was: Player Manipulation of Environment) Marian Griffith
- New laws. (was: Player Manipulation of Environment) Paul Schwanz
- Storied Games Paul Schwanz
- Storied Games amanda@alfar.com
- Storied Games Lee Sheldon
- Storied Games Dave Rickey
- Storied Games Travis Casey
- Storied Games Paul Schwanz
- Storied Games Marian Griffith
- Storied Games Daniel.Harman@barclayscapital.com
- Storied Games Lee Sheldon
- Storied Games John W. Pierce
- Storied Games Lee Sheldon
- Storied Games jsmithn@hotmail.com
- Storied Games Matt Mihaly
- Storied Games Miroslav Silovic
- Storied Games Derek Licciardi
- Storied Games Matt Mihaly
- Storied Games amanda@alfar.com
- Storied Games Matt Mihaly
- Storied Games amanda@alfar.com
- Storied Games Matt Mihaly
- Player Manipulation of Environment/New Laws Paul Schwanz
- Player Manipulation of Environment/New Laws Bruce Mitchener
- Player Manipulation of Environment/New Laws Paul Schwanz
- Player Manipulation of Environment/New Laws Marian Griffith
- Player Manipulation of Environment Paul Schwanz
- Player Manipulation of Environment Paul Schwanz
- Player Manipulation of Environment Matt Mihaly
- Player Manipulation of Environment Andrew Hefford {Coregen}
- Player Manipulation of Environment Eli Stevens
- Player Manipulation of Environment Jasper McChesney
- Player Manipulation of Environment Paul Schwanz
- Player Manipulation of Environment Adam Martin
- Player Manipulation of Environment Jasper McChesney
- Player Manipulation of Environment Hans-Henrik Staerfeldt
- Player Manipulation of Environment Ling Lo
- Player Manipulation of Environment rayzam
- Player Manipulation of Environment Hans-Henrik Staerfeldt
- Player Manipulation of Environment Marc Hernandez
- Fw: AVATARS2001 this weekend Frank Crowell
- [NEWS] Lineage: The Blood Pledge Interview Dave Kennerly
- [NEWS] Lineage: The Blood Pledge Interview Dave Kennerly
- Storytelling and Professionals (was: ) Kathleen Foley
- Storytelling and Professionals (was: ) Lee Sheldon
- Storytelling and Professionals (was: ) Dave Rickey
- Storytelling and Professionals (was: ) Lee Sheldon
- not about telling stories Joe Andrieu
- not about telling stories Freeman, Jeff
- not about telling stories Travis Casey
- Storytelling and Professionals (was) Lee Sheldon
- A Non-Cumulative Character MMORPG? Heresy! Paul Schwanz
- Storytelling and Professionals (was) Ananda Dawnsinger
- Asheron's Call, Story and Population Density. Zak Jarvis
- Asheron's Call, Story and Population Density. Sasha Hart
- Asheron's Call, Story and Population Density. Christopher Kohnert
- Asheron's Call, Story and Population Density. Sasha Hart
- Asheron's Call, Story and Population Density. Christopher Kohnert
- Asheron's Call, Story and Population Density. Lee Sheldon
- Tech: Pathfinding with Rooms Sanxion
- Tech: Pathfinding with Rooms vognsen@post10.tele.dk
- Tech: Pathfinding with Rooms David Bennett
- Tech: Pathfinding with Rooms Sanxion
- Tech: Pathfinding with Rooms Christopher Kohnert
- Tech: Pathfinding with Rooms Per Vognsen
- Tech: Pathfinding with Rooms David Bennett
- Tech: Pathfinding with Rooms Eli Stevens
- Tech: Pathfinding with Rooms Christopher Kohnert
- Tech: Pathfinding with Rooms Nicholas E. Walker
- Tech: Pathfinding with Rooms Marcus Johansson
- Tech: Pathfinding with Rooms Hans-Henrik Staerfeldt
- Tech: Pathfinding with Rooms Leland Hulbert II
- [NEWS] Lineage: The Blood Pledge Interview - Richard's blunder :) Mathieu Castelli
- Subject: New laws. (was: Player Manipulation of Environment) John Robert Arras
- Meridian 59 purchased by developers Andrew Kirmse
- Meridian 59 purchased by developers James C. Nugen
- Meridian 59 purchased by developers Frank Crowell
- [STORY] Story and population size Adam Martin
- [STORY] Story and population size Derek Licciardi
- [STORY] Story and population size Christopher Kohnert
- [STORY] Story and population size Timothy Dang
- [STORY] Story and population size Derek Licciardi
- [STORY] Story and population size Vincent Archer
- [STORY] Story and population size Christopher Kohnert
- [STORY] Story and population size John Buehler
- [STORY] Story and population size Derek Licciardi
- [STORY] Story and population size John Buehler
- [STORY] Story and population size Jeff Freeman
- [STORY] Story and population size Travis Nixon
- [STORY] Story and population size Wells, Thomas
- [STORY] Story and population size Matt Mihaly
- [STORY] Story and population size John Buehler
- [STORY] Story and population size Matt Mihaly
- [STORY] Story and population size Jeff Cole
- [STORY] Story and population size John Buehler
- [STORY] Story and population size Jeff Cole
- [STORY] Story and population size John Buehler
- [STORY] Story and population size Michael Tresca
- [STORY] Story and population size Matt Mihaly
- [STORY] Story and population size Dave Rickey
- [STORY] Story and population size Jeff Cole
- [STORY] Story and population size Dave Rickey
- [STORY] Story and population size Paul Schwanz
- [STORY] Story and population size Daniel.Harman@barclayscapital.com
- [STORY] Story and population size Andrew Hefford
- [STORY] Story and population size Bryan "Cyngon" Helmkamp
- [STORY] Story and population size Bobby Martin
- [STORY] Story and population size Marian Griffith
- [STORY] Story and population size Bobby Martin
- [STORY] Story and population size Bruce Mitchener
- [STORY] Story and population size Sellers, Mike
- [STORY] Story and population size Bobby Martin
- [GENETICS] Evolving prey populations Adam Martin
- Stories, why? Ian Collyer
- Stories, why? amanda@alfar.com
- Purchase of Meridian 59 by Near Death Studios Brian 'Psychochild' Green
- Purchase of Meridian 59 by Near Death Studios Rob Ellis II
- Purchase of Meridian 59 by Near Death Studios Lee Sheldon
- Purchase of Meridian 59 by Near Death Studios Sellers, Mike
- Community Building Sanvean
- doesNotUnderstand behavior in C++ (was: Spoofs) Eli Stevens
I am the necromancer![*]
Yes, this is old, but I have thought about the topic below a little
more, and I am pretty sure what I describe below is correct (I
haven't had the gumption to actually code it up though). I
hesitated to send it at first, because I had just been reading
"Modern C++ Design" that weeek, and it was all still a bit
overwhelming. I was wondering if anyone else with a little more
finesse in the area could comment on it, as I am considering using
something like it in the WGMud project.
Thanks... :)
--<begin old draft of a post>--
----- Original Message -----
From: "Bobby Martin" <bobbymartin@hotmail.com>
To: <mud-dev@kanga.nu>
Sent: Thursday, September 27, 2001 6:00 PM
Subject: Re: [MUD-Dev] Spoofs
> Hmm, I consider myself to be something of a C++ guru, and I don't
> think that I buy this. How do you make C++ emulate the
> doesNotUnderstand behavior of a Smalltalk object? In SmallTalk,
> when you call a method on an object that doesn't implement that
> method, it calls the doesNotUnderstand method on that object with
> the actual method signature and parameters as arguments to the DNU
> method. I don't see how you could do an equivalent in C++ without
> essentially writing a meta language.
I am somewhat new to the finer nuances of templates, but I believe
that what you describe can be accomplished by the following. If I
am wrong, I apologize... I am still digesting the first few
chapters of "Modern C++ Design."
// start gratuitious C++
class MessageType1
{
public:
void Foo()
{}
}
class Base
{
public:
template<typename DoesNotUndertand>
void ProcessMessage( DoesNotUnderstand msg )
{
// whatever is appropriate for not understanding a message
}
}
class Handler : public Base
{
public:
template<MessageType1> // <-- you may be able to omit this line
entirely
void ProcessMessage( MessageType1 msg )
{
msg.Foo();
return;
}
}
// end C++
Now, if that qualifies as a meta language, OK. :)
The Base ProcessMessage could have a compile time assertion, throw
an exception, silently fail, whatever. If you wanted to ge extra
fancy, you could replace Base with a policy class for Handler, and
so each type of Handler could define on its own how to respond to
un-understood(?) messages.
If you need to pass pointers to Handlers around, and don't care how
they respond to unhandled messages, you could make an interface to
Handler, and subclass it with the actual template class (that way
you can call all the methods on Handler w/o knowing the concrete
type, which would include the policy class).
// start the C++ again
class ThrowExceptionPolicy
{
public:
template<typename DoesNotUndertand>
void ProcessMessage( DoesNotUnderstand msg )
{
// throw an exception
}
}
class SilentlyIgnorePolicy
{
public:
template<typename DoesNotUndertand>
void ProcessMessage( DoesNotUnderstand msg )
{
}
}
class CompileTimeAssertionPolicy
{
public:
template<typename DoesNotUndertand>
void ProcessMessage( DoesNotUnderstand msg )
{
// make a compile time assertion (see Modern C++ Design),
// or one of many other places, I would assume.
}
}
template<class UnhandledMessagePolicy>
class Handler : public UnhandledMessagePolicy, HandlerInterface
{
public:
template<MessageType1> // <-- you may be able to omit this line
entirely
void ProcessMessage( MessageType1 msg )
{
msg.Foo();
return;
}
}
int main()
{
Handler<SilentlyIgnorePolicy> h1;
Handler<ThrowExceptionPolicy> h2;
MessageType2 msg;
h1.ProcessMessage( msg ); // will not do anything
h2.ProcessMessage( msg ); // will throw an exception
return 0;
}
// end C++
On a side note, I would like to point out (and hopefully invalidate
as an argument against X) is that anyone can produce bad, ugly and
evil code in any language X, weather or not language X encourages or
discourages the practice. Lord knows I have. ;) This tangent is
fairly interesting, but I would hate to see it dissolve into "Y
project was in X, and it had been beaten with the ugly stick so many
times the developers' mothers hated it."
--<end draft>--
Ok, so that last paragraph only really applied in the context of the
thread at the time. I still like it though. Sue me. :P
[*] - I resurrect dead threads. ;)
Eli
--
Never use brute force in fighting an exponential.
-- Andrei Alexandrescu, "Modern C++ Design" - Importance of player roles Sasha Hart
- RTS aspects in MUDs (LONG) lhulbert@hotmail.com
- RTS aspects in MUDs (LONG) John Robert Arras
- RTS aspects in MUDs (LONG) Leland Hulbert II
- RTS aspects in MUDs (LONG) holding99@mindspring.com
- RTS aspects in MUDs (LONG) Dave Kennerly
- RTS aspects in MUDs (LONG) Takis Kalogiratos
- Agora, a Wiki for MUD topics Bruce Mitchener