Daily Update 2016.03.30

Antsy about house closing tomorrow. Busy at work today.

Thinking about more advanced AI. The setup I’m using for the bird is about as complex as I’d like to make it without a more robust system. Specifically, I want to get into a ‘hierarchy of needs’ for NPCs. Personal safety, physical needs (food, water, rest), commitments/obligations (job, duty), recreation (having a beer, talking to the player, going for a walk).

Might be overly ambitious.

Daily Update 2016.03.28

Signed on house, now we wait. We’ve been living in apartments for the last 10 years, so I’m pretty excited about this change.

In SRPG news, I’m trying to figure out two new components: pathfinding and positional audio.

Positional Audio

This is simply the propagation of sound (in text form, of course) from a location to nearby locations. I’ve implemented a couple cases by hand by embedding sound descriptions in each location. This approach isn’t very sustainable/flexible, however. Some sounds aren’t always active, and some regions have a large number of locations in hearing range.

Instead, I’d like to build something more dynamic. There are a couple options:

  • Create a sound component, assign it to sound entities (like scenery) and make them ‘visible’ from each location. Pros: neatly fits into the current ECS; altering/disabling the sound only has to be done in one place. Cons: sound has to be manually linked to each location.
  • Assign coordinates to each location and actually calculate the sound falloff based on distance. Sounds emit at a specific coordinate. Pros: no hard linking of sounds to locations; easily handles altered sounds at multiple range increments. Cons: math?

I’m leaning toward the latter because it seems like overkill.

Pathfinding

Right now there’s one creature that actually moves around: the bird. It follows a preset route with a couple cheats (basically teleporting when the player isn’t looking). This isn’t going to work well for NPCs that need more dynamic behaviors. For example, the Mayor needs to go to work in the morning, investigate a disturbance at the tavern at mid-day, and find time for a meal break before going home.

That means I need proper pathfinding. Fortunately, locations in the game already form a collection of linked nodes, and simple algorithms like A* should suffice. The NPC’s AI will select a destination, and on each tick they’ll move one step closer along the computed route. Things like doors and other barriers will pose a challenge.

Daily Update 2016.03.27

Changes & Updates:

  • Added ‘that sword’ alias for sword.
  • Added ‘brandish’ verb to wave sword around.
  • Added ‘slide down’ command in hill slide location.
  • Added climb [up/down] [object] verb.
  • Added ‘leave’ alias for ‘put down’.
  • Added ‘fill bird feeder’ rule.

Daily Update 2016.03.26

Changes & Updates:

  • Added smell support for locations.
  • Added smells for: blue flowers, brambles, ferns, spores, black box, musty cave, sawdust, spider, vines, dust, moss, bird, Bob, player, troglodyte, wyrmling, red berries.

Out of Town

Will be AFK until Sunday morning. I’ll be writing posts but won’t upload them until then. Friday, Saturday and Sunday will go up at the same time.

In related news, I’m aiming to have the second technical playtest build completed on Sunday. If that goes well I can get back into content creation to further flesh out the Prologue.

Daily Update 2016.03.23

Technical Playtest Addendum:

  • Can’t tell from transcript whether a command was typed or clicked. Would be useful to know whether players are using the context menus, and how much vs typing out commands. I intend to vary up the command text generated by the context menus to give subtle direction about available interactions.
  • Transcript could use some prettying up for easier review.
  • Missing gate bug is elusive. Haven’t been able to reproduce it yet. Same with the music bug. Might be specific to playing in an online environment, somehow.
  • In general the core mechanics (movement, taking/dropping items, etc) seem solid. The bug list was much, much smaller than the “would be nice if” list.
  • After I get through the bug fixes and some of the would-be-nices, I’ll add some unique behaviors for each race. So far I have the dwarf darkvision partially implemented.

Daily Update 2016.03.22

Notes from Technical Playtest 3.22:

Unhandled Actions

  • Pick up ‘that sword’
  • Brandish sword / hold (wield) sword / swing sword
  • Slide down (hill slide)
  • Talk to Wyrmling
  • Talk to Troglodyte
  • Climb ladder / climb up
  • Fill bird feeder / feed birds
  • Follow sound (of water)
  • Read paper (scrap)
  • Talk to Jane / Jack
  • Smell berries / flowers
  • ‘hello’ / ‘say hello’ / ‘talk’ (contextual actions without target)
  • ‘go to location’
  • Enter cave (alias for n / in)
  • Look at hot spring
  • Go back
  • Climb vines
  • ‘leave object’ (alias for drop)

Bugs

  • Iron gate doesn’t prevent movement
  • Music stopping / resuming on its own
  • Immortal bird
  • Chest can’t be picked up and can be picked up

General Comments / Issues

  • GM output too slow in some cases
  • Object interactions don’t stand out enough
  • Telescope interaction non-obvious
  • Ask sword about X non-obvious
  • General lack of guidance