Thursday, September 28, 2023
Mirror of the Fire Demon
Wednesday, September 20, 2023
Why I finally switched from Visual Studio to VSCode + Ionide
I've tried out Ionide a few times over the years, but never permanently until now. There are three factors which individually wouldn't be enough to make me reprogram my reflexes for a new IDE:
1.) Font Ligatures. I've started to really appreciate the cognitive benefits of font ligatures, but there's a long-standing bug in Visual Studio that prevents the -> ligature from working. https://github.com/tonsky/FiraCode/issues/846 This was my proximate cause for giving VSCode another try, and VSCode handles it like a champ.
2.) Github Copilot in VS completes whenever you hit Tab, and you can't reconfigure it. Copilot is pretty decent at guessing correct code completions but it's not anywhere close to 100%, and having erroneous code unexpectedly insert itself in the middle of my coding was distracting. In VSCode I set it to complete on Alt-/ instead.
3.) F# Intellisense in VS broke for me about six months ago (https://github.com/dotnet/fsharp/issues/14901) and while it's sort of working again now, it's quite slow, on the order of five or six seconds between fixing a type error and having the red squiggles disappear in VS. In VSCode it's approximately instantaneous.
In theory if VS fixed all three of these issues I would switch back, but right now I'm pretty happy about having moved over. There's some learning curve but the end result feels more productive.
I could not love thee dear, so much,
Loved I not honor more.
Saturday, September 16, 2023
[DFRPG] Making demons demonic
Saturday, September 2, 2023
What is DFRPG? Summary
Friday, September 1, 2023
Converting D&D adventures to Dungeon Fantasy RPG (Powered By GURPS)
Here are my rules:
1.) For treasure values, divide gold piece amounts by 100 and silver amounts by 10, e.g. if the module says you find 200 gp and 35 silver, you find two gold pieces ($800) and three silver pieces ($60). For jewelry/trade goods/etc. apply this same rule directly to the value of the jewels/etc. using whatever currency the value is given in.
2.) For traps, if it's a known trap type from the DFRPG books like a deadfall or crossbow trap, use whatever is listed there. Otherwise, it's noticed with a Per check; Disarmed with a Traps check; unavoidable unless disarmed; and if it's triggered it is Saved/Evaded with a DX check (or Will check if magical, HT check if poisonous), and does the same damage as listed in the module. Since D&D and DFRPG use HP differently, traps with large damage amounts in D&D (e.g. 5d10 poison) are sometimes intended to be reliably lethal, but that's better represented in DFRPG by making them difficult to avoid. Every time you cut the damage dice in half, rounded up, add a -2 penalty to all detection/disarm/evasion rolls. For example, if an evil lich king's tomb has a poison gas damage trap that does 5d10 poison damage per round for 10 rounds if triggered, in DFRPG you can convert it to a 3d10 toxic damage per second gas trap that is detected by Per-2, disarmed by Traps-2, and does no damage this second if you succeed against HT-2. Or you can halve the damage twice more to get a 1d10 damage per second trap that's detected by Per-6, disarmed by Traps-6, and resisted by HT-6.
3.) In all cases, if these simple defaults feel off to you, tweak them! If you want to convert the gas trap from 1d10 damage to 2d6, detected at Per and disarmed at Traps-6 but with no HT check to avoid the damage, do so. These rules are just a starting point to save you hassle for things you don't have a strong opinion about.
Happy gaming to all!
-B.C.
--
I could not love thee dear, so much,
Loved I not honor more.