I’m Santiago Zapata, better known online as slashie, a Software Engineer and Independent Game Developer and from Medellín, Colombia.

You are in the devlog, a chronological collection of updates on my projects, alongside articles about software and game development. Subscribe to get these directly into your inbox.

Ultima Castle Generator – Day 2

Published by

on

Advanced a bit more in the Ultima Castle Generator for the ProceduralGeneration reddit monthly challenge # 2.

The generator now generates a high level structure, based on the rules I derived from observation of the maps.

For now, and hoping to finish in time for the challenge, only the first floor of the castle will be generated.

You can check the source code or play around with the generator online.

Next step is going one level further to subdivide the map into areas based on the generated structure.

Here is an example result:

{
  "general": {
    "size": "big"
  },
  "surroundings": {
    "hasMoat": true
  },
  "towers": {
    "size": 5,
    "crossWindows": false,
    "circle": false,
    "verticalConnections": false,
    "horizontalConnections": "bottom",
    "connectionCorridors": {
      "type": "halls",
      "hallDecoration": {
        "torches": true,
        "plants": true,
        "columns": false,
        "fountains": false
      },
      "hallWidth": 3
    }
  },
  "central": {
    "type": "mainHall",
    "hasSpecialFloor": true,
    "centralFeature": "fountain",
    "hasFireplace": true,
    "width": 15,
    "height": 14,
    "shape": "cross"
  },
  "entrances": {
    "northExit": {
      "hasFloor": false,
      "hasCrossWindows": true,
      "lighting": "torches",
      "hasBanners": false
    },
    "southExit": {
      "hasFloor": true,
      "hasCrossWindows": true,
      "lighting": "torches",
      "hasBanners": false
    }
  },
  "rooms": [
    {
      "type": "throneRoom",
      "hasCarpet": true,
      "linedWithColumns": false,
      "linedWithTorches": true,
      "hasSecondaryThrone": false,
      "hasMagicOrb": true
    },
    {
      "type": "lordQuarters",
      "piano": false,
      "clock": true,
      "bookshelf": false,
      "fireplace": true
    },
    {
      "type": "livingQuarters",
      "freeSpace": 0
    },
    {
      "type": "diningRoom",
      "luxury": 2,
      "fireplace": true
    },
    {
      "type": "kitchen",
      "filled": 4,
      "barrels": 2,
      "boxes": 2,
      "hasOven": true
    }
  ]
}


One response to “Ultima Castle Generator – Day 2”

  1. […] day two, Slash had begun putting together the framework of the castle generator’s code. The room […]

Leave a Reply

Discover more from Slashie's Gamedev Adventures

Subscribe now to keep reading and get access to the full archive.

Continue reading