Daily Update 2016.02.09

In the midst of putting together a plan for mobile/tablet device support. The game is already responsive, but there are input issues related to my choice of a non-standard text input field. There are several possible workarounds for that, but I need to make some key design decisions first (like whether the entire game should be finishable with mouse/touch only).

I would like to support phones, but tablets are the preferred mobile form-factor due to the larger screen size (supporting the side artwork panels on a phone is a no-go due to size limitations). Desktop will remain the primary focus.

Daily Update 2016.02.06

Changes & Updates:

  • Got the twins’ intro conversation working.
  • Rough draft on output timing for twins conversation. Came out much too fast at first, so I did some research on avg reading speeds and added an ‘auto’ rate to calculate the timers based on the # of words in each sentence. Will require some tuning but gives much better results already, and requires way less work to set up the conversations (I can still override it with specific times when needed).
  • Refined handling of conversation topic shortcuts.
  • Wired up special topics for the sword.
  • Improved on() filter for rules.

Daily Update 2016.02.05

Changes & Updates:

  • Testing, cleanup and bug fixing for recent changes/additions. Had some accumulated cruft from new rulebook capabilities and the new conversations.

Welcome Back

SRPG can save, and in theory load, games. It’s a web-based game, so I’d like to take it a step further and remember the player the next time they visit the page (via a cookie or HTML5 local storage).

If the user is a returning player, they should be presented with a few options:

  • Start a new game
  • Resume a saved game from local storage
  • Load a save file from the user’s computer

Now that I’m getting into the realm of storing data on the user’s behalf, I guess I’ll also need a “forget me” command somewhere to delete local storage data and cookies, resetting the game to its original state.

I’m also very tempted to include elements that progress/trigger based on the player’s absence, but I think I’ll have to pass on that, since it would break the seeded RNG.

Daily Update 2016.02.03

Long day today. Home inspection and late start at work.

Learned how to do server-side processing (filter/search and paging) for the DataTables jQuery plugin. The documentation is pretty thorough, but it can be tough to find the terminology for what you’re trying to do.

What Has It Got In Its Pockets?

Some notes for inventories. The SRPG inventory is very rudimentary right now (a simple list of objects held by the player). I need something a bit more robust, supporting the following feature set:

  • Concrete (held object) vs abstract (character traits)
  • Visible (e.g. a hat being worn) vs concealed (e.g. a ring in a pocket)
  • Accessibility restriction (object held by another creature can be seen but not touched, at least not without social repercussions)

Abstract Inventory

This includes anything a creature (including the player) could be said to ‘have’, but isn’t a physical object. Hit points, gumption, parents, etc.

Concealed Objects

I made a post a while back about inventory/equipment slots (swords are held, hats are worn on the head, and so forth). Concealment follows the normal container rules. That is, a backpack would be an opaque openable container: objects inside are visible when it’s open, but hidden when it’s closed. Pants with pockets would behave similarly.

Accessibility

Touching other people’s belongings is rude, especially when its on their person. Not sure if this should simply be blocked by default or if it should lead to more interesting (but more difficult to develop) social responses.

Aggregation #25

Changes & Updates:

  • Added get/set methods for entities to make it easier to check for values without being sure the key exists on the object.
  • Made the bird sad if it can’t get at the bird feeder.
  • Bird is happy if the player helps with the bird feeder problem.
  • Moved magic ice cube to bird feeder.
  • Unblock feeder when ice cube is removed.
  • Added telescope descriptions for various objects the player might be interested in getting a closer look at.
  • Decided to make the sword much chattier (possibly even replacing the hint system). For starters, I gave it dialogue responses for: destiny, eternity, the black box, the player, the magic ice cube, the ice key, the red berries, the scrap of paper, the litter, the glowing orb, the bird feeder, the bird, the jack, the jane, the ranger bob, the troglodyte, the wyrmling, the telescope, the structure, the gold coin, the moon, the hawk, the observer, the unicorn musk, the counterfeit seal, the steel-toed boots, the magic wand and the treasure chest.
  • Arrays of multiple text matches are now allowed for the .text() method for Rules.
  • Added the introductory monologue for the Twins.
  • Added the introductory argument between the Twins and the GM.
  • Added the first riddle.
  • Assembled the first draft of the Observer’s introductory dialogue.
  • Wrote up key responses for the Observer regarding the Baron, the aethernauts, the station, and so forth. He’s a chatty old fellow.
  • Wrote sword dialogue for the void, the aethernauts, the station, Pete the dog, the moon, the stars, the space suit, the pod, and the rover.
  • Added sword entries for: the cabin, the town, the inn, the twins (again), the cemetery, the gravekeeper, the (SPOILER), the elevator, the baron’s lair, and the baron.
  • Settled on some conventions for the sword’s mode of speech.