Print Page

Wednesday, October 28, 2015

DunGen variant concept - Stock a Map

So, let's say you want to use DunGen to generate a dungeon key for a map you already have. There is a digital version of the map on a website like this blog or Dyson's or Matt's. What do you have to do currently? You first probably need to get out a graphics program and put numbers onto the map and save it. Then go into DunGen and set the size of the map to something close to the highest number on the map. Then add or subtract nodes until it matches. It doesn't really matter what the connecting edges are, since you are only interested in the node list. Then copy out the node table to a word processor file, maybe also copy out the notes field for the wandering monsters, relationships and any other notes you added. Edit nodes either before or after copying. Then paste the edited image into the file, and you have your dungeon scenario. It's a bit, um, tedious.

Here is what the experience could be:
You find a map you like, right click the image and copy the URL to it. You bring that back to DunGen and click a button for "Stock a Map" or something like that. The UI rearranges a bit, the current network clears, and you have a field to paste the URL in. Paste in, maybe hit a button, and the map image loads into the app. For my own maps, and maybe other map makers that opt in, there could be a select menu to just pick the map to use. Click a button for Place Nodes. Click onto each map feature that you want to be a numbered feature. As you click, it starts creating nodes, probably just showing room numbers in a small label initially, so as not to obscure the artwork. The node list fills in below the map image. When you are done, you can click that button again, which now says "Stop placing nodes", and then you can drag nodes around like usual. The nodes stay where you put them unless you move them. Reroll or edit nodes as necessary. When you save the dungeon, it remembers where you put the nodes and the URL of the map, along with the usual contents. When you load it, it sets back up the way you left it. There is no edge list, since the map image shows you everything you need to know in that regard. Seems to me this is about the easiest possible way to assemble a scenario  for a nice map in a hurry. The main downside would be that it does not store the map, so it if disappears from that URL, you would have to repoint it at another copy to see the map image again.

Maybe after awhile, there is an export to PDF that makes a PDF document of the map, key, and notes, in version 2 or 3 of the feature.

I've been mulling around an extraction from the app that would do this, and figuring it would be a moderately heavy project to learn what I needed about HTML5 Canvas to do everything needed to pull it off. Today I had a bit of an epiphany when I realized that the Vis.js library can do this for me, if I turn off the physics, use nodes as the labels, and make a graph without edges. I just have to write the rather small routine to put in the background image, change what gets created and stored (X,Y coordinates, map URL and scaling, etc, and change a bunch of settings. Not sure yet if it would be better to do it as a separate application webpage, or as a mode in the current one that you toggle into. Anyway, it should go together as a first version pretty quickly. It could even be integrated with an HTML5 drawing app to let you draw a map and then populate it. So far, I have started rearranging the current codebase, so that it will be easier to slot in new code that isn't about the current network graphs.

P.S. started coding. It will be a second page on the same site, the simplest thing that works.

Monday, October 26, 2015

DunGen - Fleshing out NPCs a bit.

Non player characters now have names, from a basic name generator. It will get better by iteration. They also have very rough stats now. You'll see some marked as "smart" or "strong" or "clumsy" or "uninspiring", etc indicating high and low attributes. They are limited to two high or low stats, since they represent what is exceptionally noticeable, and the line looks cluttered when there are more. Stats that aren't mentioned are midrange. You might want to figure that a dullwitted mage is actually about normal intelligence, at the bottom end of mages, and make similar accomodations to class minima. The really lucky NPC also gets a magic item, beyond whatever is in the room loot. Higher level NPCs tend to have items more often and better weapon and armor bonuses on their items. The item might even be useful for the character's class, but that's purely random currently.

Here's the unedited key from the previous post's map as an example:

LocationDescription (click in a cell to edit)
1: QuartersHook: symbolic piece of jewelry
2: MillM: 1 scheming porting hound
Hook: inscription on wall
3: QuartersM: 16 lizards, one is sick
Ts: 4156 silver, Jewelled Belt worth 1454 GP
Mg: Potion of Disguise
Mg: Potion of Silence
4: BarracksA water drain channel in the floor
5: TowerM: 2 hell hounds, one is eccentric
Ts: 48921 copper
Mg: Wand of Spell Penetration (-2 to target save vs spell)
Mg: Potion of Treasure finding
6: SewerEmpty
7: Guard roomM: 16 veteran adventurers:
Zormund: wise assassin 1
Staazor: thief 2, has Leather armor +1,
Frovinc: paladin 2
Jasud: dullwitted assassin 2
Ninmund: cleric 2
Winsind: weak, insane warlock 2
Goromir: delicate, bantering druid 1
Henwhistle: delicate, smart cleric 2
Gorwhistle: uninspiring, weak mage 2
Bavend: foolish, eccentric assassin 1
Banmund: weak cleric 1, has Strong healing potion
Omerdor: illusionist 1
Aescdon: thief 1
Anick: mage 2
Gaiessa: ranger 1, has Wand of Firestarting
Noskand: tough, charismatic fighter 1
8: LockupMushrooms
M: 8 veteran adventurers:
Atriril: tough, clumsy, forthright fighter 3, has Broadsword +3,
Quiond: cleric 4
Denthor: exceptionally well armed sorceror 3
Bengast: weak shaman 5, has Codex
Norvend: starving ranger 4
Enasud: fighter 5, has Clown suit of Creepiness
Nindred: weak, stoned thief 4
Quezul: foolish mage 4
Hook: captive
9: WellTp: burning oil trap
M: 6 ensorcelled giant snakes
M: 1 heroic adventurer:
Dorskand: assassin 5
Ts: 41 x 10 GP gem, Vessel worth 498 GP
Mg: Staff of Power
10: BarracksTs: 1870 gold, 1 x 600 GP gem, 935 gold
Mg: Scroll of spells
11: KennelM: 3 heroic adventurers:
Lesud: fighter 8, has Dagger +4, +2 damage to favored enemy
Enavinc: cleric 6
Gantros: condescending shaman 6, has Scroll of spells
Ts: 1 x 300 GP gem, 212 gold, 212 gold
12: QuartersM: 2 giant spiders
13: StablesM: 2 tired giant lizards
Hook: howling wind
14: Barricaded entranceThe door closes behind with a slam.
15: QuartersHook: distinctive arrow, quarrel, or sling bullet

It shows the bug where novice adventurers are sometimes labeled as veterans. Need to chase that down. But hey! Names, roughed in attributes, and magic items on guys!

Sunday, October 25, 2015

DunGen styling is working

Check out the Style button. Since last post, there are now several style attributes that can be changed, to be used in generating a new dungeon or applied to the current one, and the edit dialogs for nodes and edges let you custom style individual ones, so you can do things like visually call out the entrance and the boss room, or color sets of rooms by faction. The code for all the dialogs is much cleaned up if you want to look behind the curtain.

Handy link:  DunGen

There are a lot more attributes that can be styled in the VisJS engine, so many that to expose them all would be both tedious and a really cluttered UI, so plans are to add just the ones that seem most useful.  The one I am most excited about trying is to add images to nodes. I'll  need to collect or draw a batch and add image setting to the UI.  For now though, it is pretty good proof of concept on styling and I'll shift back to adding content.

Wednesday, October 14, 2015

Small DunGen update - beginning of a styling dialog

This time, it only handles two properties, edge width and background color, with limited options for each. More importantly, it lays down the pattern for restyling at generation of a dungeon level.  I'll flesh that out a bit more, and then add styling of individual nodes and edges, so you'll be able to do things like place direction arrows on stairs and slides, make water edges blue, and mark a special room in red. Anyway, its nice to shake some rust off...

Sunday, October 11, 2015

Sushi mat rope bridge terrain project

Saw these sushi mats in the grocery store yesterday for something like $1.50 and $2.50, and my terrain making pattern recognition went PING!  Rope bridge? Japanese fence? The issue was going to be in cutting them down their length reasonably evenly.
The "raw material"
 So this morning I dug out my razor saw and got to work on a first try. I started by trying to lay one out flat and cut a bunch of the bamboo sticks at once but it wiggled too much to get very far that way, too much of the energy was wasted moving stuff that I wanted held still.

You can see some of the scoring from my initial attempt at cutting flat here, and how I held it to cut a stick at at time.


Bridge cut out. On to working it into a terrain piece...

The trick turned out to be to hold up an edge, cut a stick at a time and bend the two sides down in opposite directions as I went, since it is very flexible. I had a bit of trouble with the last few fibers of a stick splitting away sometimes instead of sawing through. It would probably all be tidier if I had the work clamped in a big clamp instead of using my left thumb and forefinger as the increasingly sore clamp. But hey, I got through the whole thing pretty quick once I got the hang of it.

It might be worth it on the next one to lay a bead of thinned PVA white glue into the binding string and letting it dry first to keep the skewers even and not sliding during the work.  It might also help to avoid the loosening of the binding strings during the cutting.

Thursday, October 8, 2015

Frostgrave setup variant

Saturday we played our first game of Frostgrave. We had four players, and somewhat larger table size, with ruins running roughly diagonally, so I tweaked the setup rules:

Set out four setup zone markers, each about 6 inches out from the ruins and space out pretty evenly around the table. Each player will setup within 3 inches of one of these markers.

Each player will set up three treasure markers, one at a time, in rotation around the table. Each treasure marker should be 9" or more from a board edge, 9" or more from a setup marker, and 6" or more from any other treasure marker.

Roll randomly for which wizard sets up from which setup marker after treasure markers are out.

This should lead to more interesting set ups than "I set up my treasures as close as possible to me and you set up yours as close as possible to you", so they go to the places that seem more like treasure locations in the scenery. But they'll go out in a reasonably balanced fashion since you don't know who starts where.

Aaron looks over the table after terrain setup. We didn't do use the ice floes and boats at the far end as playable ground in this scenario, but might do something with that later. The buildings are TerraClips printed cardboard terrain, mostly from the Streets & Buildings of Malifaux sets, with some pieces from the dungeons sets.

Dave's Elementalist warband

 My archers and undead wardogs mistakenly pile up in cover, soon to be fireballed by Dave's Elementalist Apprentice.

John's goblins are heading up the stairs with one treasure marker and heading for the one near the altar atop the building to the right. But then they are surprised by a White Ape that appeared as a wandering monster in response to another pickup. Instead of starting all monsters from an edge, we diced a random grid position on the table, by dividing a long edge and a side edge into die increments. The ape popped up about 3" from the goblin treasure bearer.

 Aaron measures a move as John looks on. We played in John's kitchen.

 My Necromantic gang tries unsuccessfully to jump Dave's guy carrying away from the cauldron, but we did get his Apprentice that was covering the withdrawal.
John's Goblins chased up the stairs by the White Ape. Wounding it at the base of the stairs only infuriated it and it took out two goblins and chased the Orc Wizard right off the roof before he could grab the loot there.