Welcome to Intellivision Online! A dedicated Intellivision forum for classic and new Intellivision fans.
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Log in

I forgot my password



Social bookmarking
Social bookmarking reddit  Social bookmarking google      




Bookmark and share the address of on your social bookmarking website

Who is online?
In total there are 18 users online :: 0 Registered, 0 Hidden and 18 Guests :: 2 Bots

None

[ View the whole list ]


Most users ever online was 189 on Sun 22 Sep 2013, 8:05 am
RSS feeds

Yahoo! 
MSN 
AOL 
Netvibes 
Bloglines 


The Intellivision Forums
Statistics
We have 311 registered users
The newest registered user is Jd

Our users have posted a total of 3870 messages in 823 subjects
Search
 
 

Display results as :
 


Rechercher Advanced Search

The Intellivision Forums

You are not connected. Please login or register

 » Intellivision » Mattel Intellivision » Advanced Dungeons & Dragons Cloudy Mountain - Dungeon Procedural Generation

Advanced Dungeons & Dragons Cloudy Mountain - Dungeon Procedural Generation

Go down  Message [Page 1 of 1]

intylab

intylab
Member
Member
I spent the last few days deciphering the method used to generate the dungeons.  Maybe somebody will find it useful.


First, two images showing the shapes of the eight rooms, and the layout of the two dungeon types.
Advanced Dungeons & Dragons Cloudy Mountain - Dungeon Procedural Generation Addcmr10

Advanced Dungeons & Dragons Cloudy Mountain - Dungeon Procedural Generation Addcmm10


Your starting point is always room "4" in the NW corner of one of the maps, which I highlighted in red.

There are 16 unique dungeons with two variables:

  • Which of the eight rooms is bound to "4" (the others follow in sequence)
  • Which of the two dungeon types you're in: single-width or double-width


Note the room shapes.

  • All the rooms are 9x9 "background cards" in size (72x72 pixels).
  • The middle card on three of the edges - the three directions you can travel to - is where one room connects to another.
  • The center card is the spawn point for: yourself, monsters, pickup items, and the exit (or crown halves).
  • The card just south of the spawn point, regardless of orientation is where visual "artifacts" appear: rat droppings, demon bones, and skulls.
  • All the rooms are rendered using six GROM character tiles: blank (#0), full (#95), and half-filled along a diagonal (#116-119).
  • The rooms are rotated in 90° increments based on the three directions you can go.
  • There is one row/column full of empty cards in the direction you can't go.
  • Movement always happens in one-tile increments, though the animation is smooth.  You and the monsters can only move where there are filled tiles.  Diagonals within the "tunnels" are for visual effect, so you're not seen walking through walls while travelling diagonally.  The diagonals also effect the angle of refraction for arrows.


Next, note the two dungeon maps.  The double-width map is first.

  • All rooms appear 4 times, and starting in the north tier, they recur one room SE from the previous one until the south tier.
  • For rooms 1-3, use the E-W wraparounds to see how the pattern continues.
  • The patterns continue in circular numeric order.
  • The only difference in the single-width dungeons is that the wraparounds west of the starting column go to the fourth column of what would otherwise be the double-width dungeon.
  • Only rooms 1-7 are used in the single-width dungeons, which is why I arranged the starting point to be room "4".


A fast way to tell which type of dungeon you're in is to travel N then W.  If the room has the same shape as the starting room but is rotated 90° clockwise, then you're in a single-width dungeon.

The 8 room shapes, ordered from left to right, follow the same sequence as the numeric labels in the dungeon maps.  Visualize one of those "Translation Wheels" where you would turn one wheel that's pinned on top of another which is larger and forms an outer ring.  You could turn the bottom wheel, with the labels 1-8 printed around it, to point the number 4 to the one room shape on the top wheel, and then all the other shapes would conform to the other labels.

Rooms are always drawn when they appear within the viewing area.  To hide them until they're marked as "visited", they are drawn with the foreground and background colors being the same, like the "invisible robot" in Night Stalker.  Moving objects inside of unvisited rooms are hidden except for the blobs.

That leaves a few things for me to discover.  I will check to see if there's a relationship between the "cardtab" position on the map and the dungeon variables.  I still don't know whether the skulls have any significance, and how the procedural generation determines the placement of skulls, quivers, exits, and quest items.

If anybody wants me to also lay out the mechanics of the five dungeons (Cloudy Mountain and the four colors of the other mountains), I will.


________________________________________
__________
"They'll never do it in time!"
"The code! The code! Figure out the code!"
"It won't be easy!"
"Cut this out second, this fourth, this first, this third."
http://www.midnightblueinternational.com

Rev

Rev
Admin
Admin
Very interesting! Nice work.


________________________________________
This Revolution will be Intellivised!
http://www.intvrevolution.com

TrekMD

TrekMD
Moderator
Moderator
This is very nice indeed!
Thanks!


________________________________________
Going to the final frontier...gaming!
Advanced Dungeons & Dragons Cloudy Mountain - Dungeon Procedural Generation AstrosmashBanner2_zps8843216f
https://plus.google.com/+EugenioAngueira

cmadruga


Rookie
Rookie
Fascinating the analogy with invisible robots.

I assume monsters lie dormant in those hidden rooms until revealed? Or attacked.

intylab

intylab
Member
Member
Firing an arrow in the vicinity wakes them up, whether or not you hit them.


________________________________________
__________
"They'll never do it in time!"
"The code! The code! Figure out the code!"
"It won't be easy!"
"Cut this out second, this fourth, this first, this third."
http://www.midnightblueinternational.com

cmadruga


Rookie
Rookie
How is the “vicinity” defined?
Is it by the monster’s sprite and the player’s one being displayed simultaneously?

intylab

intylab
Member
Member
That I don't know yet. It probably has to do with being in an adjacent room as the monster. Sometimes you'll fire an arrow and hear the hiss of a snake or the roar of a dragon, but it might get stuck in a rut while trying to follow a direct path toward the player, which is why you won't see it approaching until you move.


________________________________________
__________
"They'll never do it in time!"
"The code! The code! Figure out the code!"
"It won't be easy!"
"Cut this out second, this fourth, this first, this third."
http://www.midnightblueinternational.com

Sponsored content


Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum