Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Well, Mark basically outlined how I intended to do it.... was Re: CF: Invitation to contribute to random map generator



>  I think your probably want to go with a multipass generator.

That was my plan.  You either read my mind or independently came up with what
I thought was the sensible design.  :)  Or maybe what I've said so far has
tipped my hand.

>  The first pass, which Peter has already detailed, does the wall planning and
> few other special things (doors, staircases, ...)

Contruction of the first pass is under way:  as soon as I finish onion
layouts I'm moving on to the next stage:

>  Second step should then do the cosmetic adjustments - add the floor types
> based on style of the map, likewise for wall types.  Maybe choose what door t
> use, and so on.  This step probably then returns a map structure.

Yes, this was my plan.  I'd also planned to decorate things here with characteristic
furniture and other fixtures, but that is better done in another phase.  It is
more flexible to decouple the wall-and-floor style from the furniture style.
I planned to snarf some code from crossedit to do nice auto-joined walls (if
appropriate for the style).  The part I'm sorta stumped on is how to do nice
cave maps.  Cave walls are much harder to work with, but they're beautiful.

>  This can work out very nicely as the style is then independent of the actual
> layout - you could have a dungeon style, house style, outdoor style (for
> example, a hedge maze), ...  Keeping them as seperate steps then allows for
> more types of random maps to be made, since the actual layout is not tied wit
> any style.

Yes.

>  Third pass is then probably to populate it with the treasure and monsters.
>  This can then be used to make sure that all the monsters are consistent.

Yes.


> > Also what about the addition of  `o' to mean pillers or `O' to mean
> > optional castle corner peice (if `style' permits).
> > Actually a lone # could probably mean a piller.
> 
>  Yeah - a lone # for a pillar of the style can find something that matches.  
>IF
> the style can also find matches, it can then substitute the appropriate items
> in for the corners and what not (ie, something like:
> 
> #
> ##
> #

I expect the autojoining code....  Which I hope to snarf from crossedit,
will do a nice job of this.

>  1) Basic layout is large chamber/hall.  This puts down our # in the right
>  space.
>  2) Style is temple, so the walls and floor are chosen to better match up -
> maybe marble floors.

>  3) The population type is chosen as holy (or priest or something), so it get
> populated with various types of priests.  This perhaps includes adding some
> altars.

Well, actually what I planned for this stage was something a bit more elaborate.
There would be 3 phases here,
a decor phase, where furniture is put in.  Furniture would depend on the style.
A monster phase, where a monster style and difficulty is installed.  A
complete monster "style" would have a range of difficulties, with different
monsters frequent at different difficulties.  Then a treasure phase, and
a specials phase (runes traps teleporters connected levers and doors)

>  Multiple passes also makes it very easy to extend the system.  Someone who i
> very clever at doing the map layouts only needs to worry about coming up with
> something for pass #1 - pass 2 and 3 will take care of the rest.  Likewise, i
> a new population type is added, then someone could just extend pass #3, and n
> have to worry about messing with all the pass 1 areas to add the new race in.

Right, there are many, many possible layout schemes, from 
onion-like rooms, to corridored rooms, to nethack-style levels, to....
anything.  radial symmetry?  spirals?

>  This is just my thoughts - Peter is heading up the work so may have some oth
> ideas.  But I don't think you want all of that in the main function - you
> certainly want to modularize the areas to extensions are easier.  How many
> layers could be a matter of debate (adding a few more for extra details could
> certainly be done.)

My general plan is very similar to what you describe, Mark.

For now, I'd appreciate contributions of nice layouts in char ** format
as I've described.

Later, I'll ask people to contribute different styles of decor, monsters,
treasures, and specials.

The maps produced won't be as cool as a human generated map, but no one
will have trouble finding someplace *new* to gain experience in, and
map makers can start from "ok" random maps to make kickass maps instead of
doing everything from scratch.

PeterM

-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]