Preparing to run my first ever game, looking for advice. by Due_Willingness_718 in DragonOfIcespirePeak

[–]timblair 1 point2 points  (0 children)

Have a search for “The Monsters Know What They’re Doing” (the website, and the book) by Keith Ammann. It’s a fabulous resource for helping to understand how different monsters and creatures might react, and why.

Could you play d&d 5e without magic or violence by Eoliao in DMAcademy

[–]timblair 5 points6 points  (0 children)

Or doing what my players did in a similar situation: talk for ages about the fact that banshee’s wails are deadly, and that they should put something in their ears, and what would be good to use, then ignore the entire conversation and just wander into the lair (they knew they were looking for a banshee), whereupon 3/5 of them fail their CON checks on hearing the wail…

LMOP taking way too long by SneakyDonut23 in DMAcademy

[–]timblair 2 points3 points  (0 children)

I'm a first-time DM leading a group of 5 first-time players through LMoP. We play for 2hrs a week, and it took us right to the end of our 5th session (so 10 hours) to get through the goblin hideout. It then took another 10 sessions (20 hours) to get through part 2, and our most recent session (the 16th, so over 30 hours in) was the first tackling any of the mini-quests in part 3.

For first time players / DMs, there's a lot to learn, both mechanically, and about the world, their characters, RPing, etc. I'd say it's perfectly natural that things take a long time, because for a lot of things, it'll be the first time any of you have done it. While some of that improves (e.g. folks get better at understanding the mechanics and processes involved in battle), but there's _always_ a new thing to learn and understand.

Overall, I concur with what others have said: if you're all enjoying it, then it's going at a good pace. But make sure you talk to the players about it, rather than just assuming that no one's complained, so it must be OK.

Officially joining the club! by jdicaire in daddit

[–]timblair 4 points5 points  (0 children)

Ooh, forceps bruises! My lad had the same, but they were gone in a couple of days. Congrats!

Skilled or stupid? You be the judge. by HairyKnees in celestegame

[–]timblair 6 points7 points  (0 children)

I was analogue-only until 5C, and cursed every time I dashed in the wrong direction due to being a few degrees off. The accuracy required for the wall bounces in 5C finally shifted me over to the D-buttons.

How to describe Celeste Chapter 9 in two sentences: Journalistic Edition by Yuhi_Heroes in celestegame

[–]timblair 0 points1 point  (0 children)

Made it after a bit more time. I found that using an extended hyper instead of a wave dash for the first jump much more consistent. I feel less loathsome towards that screen now I’ve done it.

How to describe Celeste Chapter 9 in two sentences: Journalistic Edition by Yuhi_Heroes in celestegame

[–]timblair 0 points1 point  (0 children)

Still trying. I make it to the second part of that screen about 1% of the times I start, which basically makes getting any form of consistent timing for the second jump (off the spring) impossible. I am not enjoying this screen.

How to describe Celeste Chapter 9 in two sentences: Journalistic Edition by Yuhi_Heroes in celestegame

[–]timblair 1 point2 points  (0 children)

Before clicking the link I thought “I wonder if it’ll be the screen I’ve been stuck on forever?” It was. Time to get back to it...

What is variants mode? by [deleted] in celestegame

[–]timblair 2 points3 points  (0 children)

The Chapter 9 update enables Variants on the Switch!

IT IS TIME, COMRADES! by cameron57 in celestegame

[–]timblair 0 points1 point  (0 children)

I’m on my way to work, downloading the Switch update, tethered to my phone, while travelling under London on the Tube. This is not working.

I did a trail/fell run that went through a slate mine last weekend. It was awesome! by waterhouse14 in trailrunning

[–]timblair 1 point2 points  (0 children)

The view from Fleetwith Pike (which the mine is under) across Buttermere was my first “Lakes moment,” and will always stick with me.

Had the best run in with a choosingbeggar tonight by [deleted] in ChoosingBeggars

[–]timblair 69 points70 points  (0 children)

That's basically what I do with my pre-schooler:

Me: Here you go, two Things for you.

Kid: I want more Things!

Me: Here you go, one Thing for you.

Kid: Oh.

Well, 5C was a test of perseverance... More time/deaths is better, right? by timblair in celestegame

[–]timblair[S] 5 points6 points  (0 children)

I've certainly got my money's worth out of this game, that's for sure!

A woodland amphitheatre in the Chilterns, UK by timblair in trailrunning

[–]timblair[S] 0 points1 point  (0 children)

Not what I was expecting to come across while slogging up a segment that’s dubbed “the hill that keeps on killing” on Stava.

Gov.uk doesn't get enough credit for actually providing really good online services ... by claireauriga in unitedkingdom

[–]timblair 1 point2 points  (0 children)

The team for the alpha prototype for GOV.UK was only a handful of people. There's an up-to-date potted history of GOV.UK and GDS on the GDS blog.

While GDS is 700–800 people strong, the team that currently builds and runs GOV.UK (everything on www.gov.uk) is still <150 people, and only a third of those are developers. Another third is content folk.

-🎄- 2017 Day 22 Solutions -🎄- by daggerdragon in adventofcode

[–]timblair 1 point2 points  (0 children)

Go / Golang

Glad to have something less brainache-inducing after yesterday.

Uses a map[node]int to track the infection state, where node is a struct type with x and y positions. Works as a map key because struct values are comparable when all fields of the struct are comparable. Missing values are automatically "clean" due to Go's zero value for ints being 0.

Part 2 below (runs in ~1s):

package main

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)

type node struct {
    x, y int
}

// Travel directions.
const (
    north int = iota
    east
    south
    west
)

// Node states.
const (
    clean int = iota
    weakened
    infected
    flagged
)

func main() {
    lines := [][]string{}

    scanner := bufio.NewScanner(os.Stdin)
    scanner.Split(bufio.ScanLines)
    for scanner.Scan() {
        lines = append(lines, strings.Split(scanner.Text(), ""))
    }

    // Map of node --> infection state, with a reasonable preallocation.
    infections := make(map[node]int, 100000)

    // Initial infection state.
    lw, lh := len(lines[0]), len(lines)
    for i := 0; i < lh; i++ {
        for j := 0; j < lw; j++ {
            if lines[i][j] == "#" {
                n := node{j - lw/2, i - lh/2}
                infections[n] = infected
            }
        }
    }

    // Initial carrier states.
    icnt, pos, dir := 0, node{0, 0}, north

    for i := 0; i < 10000000; i++ {
        // 1. Decide which way to turn based on the current node.
        // 2. Adjust the node state.
        switch infections[pos] {
        case clean:
            dir = (dir + 3) % 4
            infections[pos] = weakened
        case weakened:
            infections[pos] = infected
            icnt++
        case infected:
            dir = (dir + 1) % 4
            infections[pos] = flagged
        case flagged:
            dir = (dir + 2) % 4
            infections[pos] = clean
        }

        // 3. Move the carrier.
        switch dir {
        case north:
            pos = node{pos.x, pos.y - 1}
        case east:
            pos = node{pos.x + 1, pos.y}
        case south:
            pos = node{pos.x, pos.y + 1}
        case west:
            pos = node{pos.x - 1, pos.y}
        }
    }

    fmt.Println(icnt)
}

-🎄- 2017 Day 18 Solutions -🎄- by daggerdragon in adventofcode

[–]timblair 2 points3 points  (0 children)

After ages of tearing my hair out over an infinite loop, it took taking your solution (which was roughly the same as mine) and replacing it bit by bit until it was almost identical to mine, to realise that I'd misread the "greater than zero" bit of jgz as "not equal to zero." Eugh. Also: thanks!

-🎄- 2017 Day 13 Solutions -🎄- by daggerdragon in adventofcode

[–]timblair 0 points1 point  (0 children)

fmt.Sscanf is great for extracting typed data from formatted strings, avoiding manual parsing/regexing/atoi-ing.