Dream

Played through most of Dream today with my wife. Some interesting puzzles and decent environments. Marred by consistently lousy writing, uninspired voice acting and 5+ minute long unskippable cutscenes.

The Backlog

This weekend I have the rare opportunity to play some videogames. The top entries on my backlog are:

  • Borderlands 2 (have some DLC to play through)
  • Divinity: Original Sin
  • Dream (I’m not actually playing it, but my wife is and I love puzzles)
  • Battleblock Theater

I also have about 80 other games I’ve acquired over the last few years and never installed/played. Someday.

Lorebook, Part 2

Definitely going to go with an in-game book. Entries will be categorized by type (person, place, thing), and will track info acquisition over time. Eliminate all the goblins and they’ll be marked as extinct in the lorebook; that sort of thing.

I’m really good at creating more work for myself.

Lorebook

It occurred to me that I should start keeping some kind of document cataloging SRPG lore (to keep my story straight, so to speak). And what better place than in the game itself?

I’m going to start with NPCs, but I’d like to include key objects and locations as well, to give the player a reference guide for the knowledge they’ve acquired throughout the game. In particular, I want entries in the lorebook to unlock as the player learns new things (e.g. “Ranger Bob doesn’t like cats”).

I’m as yet undecided on whether the lorebook should simply be a command or a physical item in the player’s inventory. Leaning toward the latter.

Fundamentals

I’ve been doing web coding for so long I think I’m focusing too narrowly, and losing track of comp-sci fundamentals. Need to work on / pay more attention to:

  • Algorithmic complexity analysis
  • What data structures I’m using and why
  • Keeping up familiarity with multiple languages (Java/C#, PHP/Python/Ruby, keep learning C++, etc)

Weekly Update #18

Changes:

  • Wyrmling temperature increases if angry, up to a maximum of 400K.
  • Pools temperature increases to match Wyrmling temperature.
  • Magic ice cube won’t melt below boiling temperature.
  • Player can’t enter pools if too hot.
  • Added Air locations and scenery for Act I.

Bugs & Problems:

  • Nothing new

Rule Specificity

I have a problem with the SRPG rulebook that I’ve been intentionally ignoring while there are still only a few rules. Namely, specificity. The situation is similar to that of CSS specificity.

Right now, Rules are checked in the order they were added, which has the side effect of making overlapping rules effectively random in order. That said, the Rule system is marginally resistant to the randomness, as multiple rules can apply to an action and can stack outputs (or cancel execution entirely).

In the interest of making the process more predictable, I’m working on a plan for calculating specificity of Rules, and executing them in order from most specific (‘rule for walking north from dim clearing while the door is locked and the player has the key’) to least specific (‘rule for walking while the player has the key’).

There are some implementation details to work out with the weighting (assuming I don’t go with a naive approach based simply on the number of conditionals). The ‘callback’ conditionals are especially tricky, as they can conceal additional conditionals within their custom code. The ability to directly assign a boosted specificity score might be useful (similar to the bad-practice !important keyword in CSS), but I’d like to avoid it if possible.

Editables & Draggables

Going back a bit to the “writing-based puzzles” concepts, I think it would be fun to have inline-editable and draggable elements in the world. Not necessarily on a meta level (e.g. dragging a giant boulder out of the gameplay area to remove it from the game), but for tactile puzzle solving. It could be particularly useful for mobile users (more touch, less type).

Examples:

  • Flipping an On/Off toggle on a device.
  • Dragging a “key” text onto a “lock” text.
  • Filling a flask with water by dragging the text onto yourself.

Faction List

Followup to the previous faction post. I have a list of factions I think will establish a good starting point:

  • Human (most characters in the game; by default, not fond of goblins)
  • Goblin (not fond of humans)
  • Aethernaut (don’t like the Baron)
  • Villager (aware of the Baron)
  • Living (afraid of Undead)
  • Undead (want to kill the Living)
  • Guard (will fight Undead)
  • Beast (by default, wary of everyone else)