All games are situated in a 4 coordinate system, the 4th dimension for
zooming into object within a room (a room in the room).
The way I see a random map is to create it as the player goes.
The author sets it up as follow:
* Associate a passage as going to a random map starting at a specific
* The map can extend anywhere where no rooms are defined.
* Point to generic rooms, that have room descriptions and decriptions for
either open passages, or obstacles (ex: there is an open field west and
north, or dense forest can be seen south and east).
* Generic rooms can have probabilty set and max (20% bedroom (no max),
10%bathroom (5 max)...).
* Indicate probabilty of passages vs. obstacle for each generic room (1-3
exits in bedrooms, 1-1 exits in bathrooms...)
* Directions for random maps are limited to North, West, East, South, Left,
Right, Straight, turn-around.
* Option: set-up a target room which is attained based on either/and #room
visited, probability, turn, time...
* Option: some items can appear based either/and #room visited,
probability, turn, time, score... There is no guarantee the item will
* Option: target room that gets you out of the random map to a specific
room in the normal map. Unique room can appear based either/and #room
visited, probability, turn, time, score... If map cannot be extended due to
constraints and target room has not been reached, last room of map is
* Option: Command can transport characters to target rooms. Commands can
respond differently depending on either/and #room visited, probability,
turn, time, score... The problem with that is that the coordinate of the
room they will go to will be inconsistent with the coordinate of the room
they arrive at. So it will be usefull for outdoor use but not for the rooms
of the house.
* Different random maps can be set to be able to intersect with each other.
I'm not interested in the coding aspect, just what authors would like to be
able to do when assigning a random map to an area of their adventure so I
can add it to my code planning.
I am not sure what you mean by a "random map" and pretty much everything
else you put went over my head (my fault, not yours.
If you mean a random map within a game where there is no logical path in or
out of it and you end up just pressing the direction keys until such time as
the game decides you can leave, then I personally don't like these. They are
impossible (unless you are in some sort of universe that rapidly rotates
around you), whether in realistic adventures or in fantasy. If you have come
north and then go south you *will* return to where you came from.
However, if this isn't what you meant then please disregard all of the above
and I'll keep quiet on the subject.
I'll explain with an example.
You are in front of a big white house in a field. :)
If you go away from the big white house, you would go into a random map
that allows you to trace your step back to the house.
The random map extends into a world with coordinate so it will not overlap
the areas defined by the big white house and other areas defined such as
There can be different outdoor rooms such as forest, tree, field...
Some uniq rooms can also be found such as a tree you can climb to find an
egg or a grate in the ground...
But for this,the map could be predefined.
Now let's say you want to put your character in a jungle with complete
autonomy of movement but you still want to be sure he will reach the
destination you planfor him: the lost temple.
So the author let's you go in any direction of the jungle but states that
your goal, the hidden temple, will be found in no less than 4 moves (4 uniq
squares), after which you have a 25% chanceof stumbling on the temple.
This allows for complete freedom of movement for the user and the author
can still make him reach the desired goal in the desire time.
But for this, the map has to be create as the player goes, making and
remembering generic rooms as the player advances in the map, until the
player's parameters meets specific goals at which time he will reach the
lost temple (a specific action, number of turn...).
You could also create puzzles this way before you can move along, but
instead of being stuck in rooms, you can wonder an unlimited world until
you solve a puzzle.
Before I code this, I want to make sure there aren't any other ideas I
should incorporate in the random map system.
I think what Kodrik is talking about is -exactly- like the Red Planet
in Photopia: regardless of which direction you go, the 1st new
location is A, the 2nd is B, the 3rd is C, the 4th is D...
So suppose you start at X, and go
N.W.N.W...then your map becomes:
N.W.E.E.N...then your map becomes:
...note that `A' stays `A', since you've already been there.
This was actually a really cool effect, but one thing that drove me
crazy in the implementation was that in Photopia, you have to get
*back* to X, *only* going through locations you'd already visited
-- and I hadn't mapped, so I just remembered that I'd gone
basically north and west...but I forgot if I had gone N.N.W.W
or N.W.W.N or whatever -- this being a flat plain, I *should* have
been able to just say SE.SE or S.S.E.E or whatever to get back, but
that would have required new locations if i went over unassigned
Clearly, this broke mimesis for me something terrible, so if you're
going to use `a priori undetermined locations' (not `random', just
determined at run-time), it really sucks if at first you can explore
freely, and then suddenly it's cut off, without some good reason:
if I can move north from a room X, but instead go west etc. and then
come back to X, I want to be able to move north unless there's a good
reason I can't, namely something has changed (a bridge has collapsed,
(note: this works better in the underwater castle section...I didn't
even notice that there was any mapping weirdness -- it just flowed)
so Kodrik -- I think this has the potential for abuse (of course), but
would be zuper-cool to have builtin/in a library, since i recall that
adam cadre did a huge mess of code to get it to work when he did it, and
I haven't seen it done anywhere else, though when it works it's a
really great effect.
Yes the random map I am thinking of would allow you to retun using other
routes, creating "rooms" that it will remember as you go.
But in photopia he already had defined the position of his target point. So
the map can be completelly created randomy at the start of the game.
I want to add an extra optional element, instead of defining the target
point, you set parameters as to when the target point will be reached,
remembering your steps in case you want to go out.
So you could leave a house, look for a special item in the forest, that
will appear in 5-10 turns of exploration, and retrace your steps to the
Also, the generic rooms created can contain some elements, like fuel for
your lamp, pebbles, or creatures to fight. You could resupply by exploring
the map further.
Any other wish you would like in a random mapping system?
> Any other wish you would like in a random mapping system?
How about randomly generated generic room descriptions? :-)
Jim (AT) OnyxRing (DOT) com
Visit "An Inform Developer's Guide" or browse the
"ORLibrary" extensions to the standard library at
Some days you eat the code; some days the code eats you
"nils barth" <f...@bar.invalid> wrote in message
I would love to hear ideas about that. I think there is much more to do
that I have thought of so far.
For the random description, that is what I have though of so far that can
be easily implemented:
* A room description
* Descriptions for either blocked passages or open passages.
* Description for elements that can be in the room. Their descritpion is
appended to the room descritpion.
So we can create it this way:
Generic forest room:
* You are in the forest.
Descritpion of passages:
Type: Blocked Passages
Begin: The forest is too dense to the
End Singular: to go that way.
End Plural: to go these ways.
Descriptions of random elements
* There is a deer standing in front of you
* There is a banana on the ground
So, when you get into the generic room, it creates itself, for example
You are in the forest.
The forest is too dense to the north and to the west to go these ways.
There is a banana on the ground.
When you create your map, you select different generic rooms possible for
the random map. So as you advance in the map, different rooms can be
pulled generically, so you may go from a generic "forestroom1" to a
generic "forestroom2" to a "fieldroom".
> So, when you get into the generic room, it creates itself, for example
> You are in the forest.
> The forest is too dense to the north and to the west to go these ways.
> There is a banana on the ground.
That sounds GREAT! But how about randomly generated rooms, objects, NPCs
and complete top-notch IF *plots* so that I can win all the comps I enter
Just kidding, but I felt compelled to post that...