Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: My take on the Unique Quests/Castle in Scorn thing
- To:
- Subject: Re: My take on the Unique Quests/Castle in Scorn thing
- From: Peter Mardahl <>
- Date: Wed, 14 Jun 2000 11:04:56 -0700
- In-Reply-To: Your message of "Wed, 14 Jun 2000 18:23:34 BST." <>
> On Tue, 13 Jun 2000, Peter Mardahl wrote:
> have those specialmap segments (like the little shops and chapels. BTW,
> they all seem to be 6x6, is that a limit in the code?). The marker objects
No, they can be any size at all. However, the larger they are, the harder
they are to place into a random map without clobbering something important.
(Those specialmaps are prevented from clobbering the exits right now, and
some other stuff, but will splatter nearly everything).
> do sound kind of funky too, I could use them in some other maps as well.
> Can you make them decay, like icor?
Yeah.
> Basically, the sort of maps I was thinking, would be more like actual
> designed quest maps, like Byron's castle, or Eureca, or the Cellar in
> Wolfsburg -Sure, these aren't great examples as some are very detailed,
> and some are a bit random mixed up hack'n'slash, but they have a sort of
Oh. Map making is a lot of effort, you know? If you've gotta design a map
each to match all the permutations of possible quests as you described,
that's a huge project. I really thought that you were just going to
specify styles.
> progress through, avoid traps, solve puzzles thing, you see what I mean?
> Obviously yours is kind of like that too, but each random map on its own
> won't be particularly- or mebbe I should download them and take a
Well, you're right, most of the random maps are pretty stupid. I've put
in a few things to make a player's mind work, like sometimes I hide
the doors by giving them the faces of walls, or hide keys in the map that
players must find to advance, or use little specialmaps.
> What would be roughly required would be something like your random-map
> code (which may well support it or be easily altered to do so), such that
> there are maybe sections of wall that have openable gates, special rooms
You could do something similar to the key code (door.c):
i.e., make this particular
door special and locate handles for it inside and outside.
> that have clever mechanisms,and perhaps some of the bits in different,
> separate walls and rooms could be connected. Such fancy gubbinry could
> *maybe* be done by means of your little specialmaps, but it would
> probably need a separate directory (eg puzzlesections), and code to
> handle them differently as the specialmaps are just placed randomly.
Maybe.
> The layout code (I know there are different types of layout available,
> but I'm not too familiar. Do you have any sort of docs at all on it, or
> reeeallly well commented code? :) ) would then set out walls and puzzles
crossfire/doc/RandomMaps.doc
crossfire/doc/Styles.doc
I think it's reasonably complete.
There are two basic types of layout available right now: "onion" and maze.
Both can be modified in the following ways:
1) symmetrization (about x or y or both)
2) roomification (walls with a door in them randomly plunked about)
3) doorification
One thing you could do is enhance the random map code by:
1) making your own layout (layouts are arrays of characters:
only > < # * C have meaning right now, I think. You could extend this to
have more features, such as connected handles/teleporters...)
> It certainly is perfectly possible, supposing we have some way of placing
> the different bits sensibly relative to other bits, to make sure that the
> whole thing *is* finishable, and the map could also take onboard ideas
Making a finishable map randomly is somewhat difficult. It's a bit hard
to teach a computer to do intelligent stuff like "make sure the key/handle
is on the OUTSIDE of the door."
> use quest-givers, and how active the server is, certain areas may get
> saturated with quest entrances (seems unlikely unless only a few tiles
> relevant to a class of quest is placed).
Well, how about having the entrances multiplex based on an object in
the character which describes the quest?
Anyway, as a suggestion, since you say you're not too strong a C coder,
how would you like to write a new layout?