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

Re: CF: Invitation to contribute to random map generator



> man, how soon do you need this?

On no particular time scale at all.  I've got one or two random map
formats going:  that's all I need for the immediate future in
order to continue on the project.  As soon as I finish the
onion-style layouts, I'm going to work on converting the layouts
into actual maps, population with monsters, treasure, doors, and
other specials.

> I'm not a strong C coder, but I would love
> to be able to contribute to random maps.

Well, all you really need to do is come up with a layout which isn't
already done, and give me a function which generates a 
char ** which you've allocated, i.e.,
 char **your_layout_generator(int xsize, int ysize, int options);
where "int options" is under your control, except that options=0
should pick random options,  and xsize and ysize are the size of the map.

> my goal would be to get nethack style maps.

Well, the reason I simply didn't take code from nethack for this is this:
crossfire maps need to be small:  memory demands are much larger.
A 300x300 map is pretty large, because it uses lots of memory,
and every monster/special in it must be moved each tick.  
Instead, I'm trying to make smaller,
denser maps, not disjoint rooms with long corridors.

> ie: boxy rooms with corridors connecting.

I still intend to make net-hack style labyrinth layouts though, 
except with fewer rooms and no explicit corridors, but rather connecting
doors.  That I will do by putting in random-map-generating exits in my
randomly-generated maps.  When I generate the first map on a level, I'll
decide how many rooms there will be and which "room" will have the stairs
down.

However, you can feel free to generate nethack style random maps:
use "*" for doors, "<" for stairs up, and ">" for stairs down or something,
and if you give me a char ** with '#' for walls and 0 for open spaces,
I'll be able to put it in.  Please have only 1 stairs up and 1 stairs down
though.  Maybe we've got memory and CPU enough to burn to drive really
big maps nowadays.

> Also, I'd probably want to use some crossfire things
> if I could like make secret doors and teleporters to
> get you from one location to another.  oh, and doors.

I planned to retrofit the basic layouts with doors/teleporters/traps/secret
doors depending on the style chosen for the dungeon.  It'll be really
difficult to do this intelligently, but these *are* just random maps: I'm
not going to worry too much about this, but rather get something reasonable
together and out there in a reasonably short time.

Really, really good maps will always need human design and intervention...

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]