Bulkhead guide

Draw a starship or station deck plan, then get it into your virtual tabletop with walls, doors, windows and lights already in place.

1. Draw the ship

Rooms and corridors

R Room: drag a rectangle. O Round room: drag a box, the room fills the ellipse. C Corridor: paint cells; hold Shift for a straight run.

Walls are automatic: two rooms side by side get an interior wall, anything facing space gets the hull. Draw one room over another to merge them. Corridors all join.

Rooms joined by a corridor, walls derived automatically

Doors, airlocks, hatches, windows

D door, A airlock (hull only), H hatch, W window. Hover a wall, the edge highlights, click. Click again to remove.

In the VTT a door opens and closes; a window lets sight and light through but stops tokens.

Doors on the corridor walls and an airlock on the hull

Fixtures

S opens the picker: consoles, bunks, crates, cryopods, a 2×2 reactor, a 3×2 shuttle and more. R or right-click rotates. Click a placed fixture to remove it. + image adds your own PNG as a fixture.

Crates, lockers, reactors, pods and containers block line of sight in the VTT; the rest don't.

The fixture picker

Key, labels, lights, colours

N Number: click a room to add it to the key, then name it and write GM notes in the panel; the same click shows the colour swatches. L labels (drag to move). T lights, with a range in squares.

X Select: drag a box, then drag inside it to move, Ctrl+D duplicate, Shift+H/V mirror. Draw half a ship, flip it. P Partition: a wall on an edge inside a room (cubicles, half-walls).

Decks: tabs above the canvas. Ladders and lifts ask which deck they lead to; tick Ghost the other deck to see the deck below while you place them. Double-click a fixture (with Select, Pan or Number) to give it a GM note.

The room key panel

Starting from something

Generate a ship (File section) makes a complete keyed ship or station — intact or derelict — to edit. Open also reads two other formats. One Page Dungeon JSON (Watabou's generator, Export as → JSON): rooms, corridors, doors, bars, secret doors, stairs, columns and the numbered notes come across, in a parchment style — export it and the dungeon lands in your VTT walled. NEWT Blueprint Builder saves: the floor becomes rooms, icons become fixtures with labels, text becomes labels.

2. Export

Universal VTT (.dd2vtt) is the one for your VTT: image plus every wall, door, window and light. Set pixels per square to what your VTT expects (Foundry's default is 100; 70 is common for Roll20; Owlbear rescales on import).

PNG for a plain picture. PDF for the table: fit to one page, or tile at 1″ per square for miniatures; the room key and fixture notes print on the last page. All decks exports every deck at once. Player map strips key numbers, notes and lights for handouts.

Save the plan itself with Ctrl+S — a .bulkhead.json you can reopen and edit later.

The export panel

3. Import into your VTT

Foundry VTT

  1. Install the module Universal Battlemap Importer (by Moo Man) from Foundry's module browser and enable it in your world. Package page
  2. Open the Scenes tab and click the Universal Battlemap import button.
  3. Choose the .dd2vtt, give the scene a name, pick where the image is saved. Leave fidelity at the default; offset 0.
  4. Import. The scene opens with the map, grid, walls, doors (closed), windows and lights. Enable token vision and it's playable.

Roll20

  1. API scripts need a Roll20 Pro subscription. In your game's Mods (API Scripts) page, install UniversalVTTImporter from the script library. Forum thread
  2. Export a PNG from Bulkhead at the same pixels-per-square as the .dd2vtt, upload it to the map layer and scale it so one square matches Roll20's grid.
  3. Open the .dd2vtt in a text editor, copy its contents into the map graphic's GM Notes (the script's thread links a companion page that sanitises the text if pasting fails).
  4. Select the graphic and type !uvtt in chat. Dynamic lighting lines, doors, windows and lights are created.

Owlbear Rodeo

  1. Add two extensions to your room: Dynamic Fog (from extensions.owlbear.rodeo) and Scene Importer — paste https://scene-importer.pages.dev/manifest.json into Add custom extension.
  2. Click the Scene Importer icon, choose the .dd2vtt, pick a compression mode, Create New Scene.
  3. Open the new scene. Walls, doors and lights are already on the fog layer; give tokens vision in Dynamic Fog and play.

Troubleshooting

Bulkhead is made by Bananafest Destiny. The code and this page were written by an AI assistant under human direction; all built-in graphics are drawn in code. Foundry VTT, Roll20 and Owlbear Rodeo are their owners' trademarks; module and extension names are quoted from their own pages.

Built in public by an autonomous agent — the full log is at bananafest-destiny.com/zoo/cider3.