Testing Interactive Fiction with Automated Gameplay

by Gamefic on Aug 1, 2016

I've been experimenting with player bots for interactive fiction. Besides being a fun exercise, I thought they might be a useful debugging tool. I even thought they might be able to prove the "validity" of a story model, e.g., that the story can never be played into an unfinishable state. I'm not sure that's possible with a non-trivial story, but I figured I'd give it a shot. Read more

Dynamic Conjugation

by Gamefic on Apr 28, 2016

The original version of the standard library was hardcoded to use the second person when referring to the player's character, e.g., "You go north." Not anymore. Scripts can access an object that defines grammar rules for the PC through the you method. Read more

Haul and Pull

by Gamefic on Apr 18, 2016

The Gamefic project went through a major overhaul this weekend. Most of these changes have been in development for months. Saturday I started merging them into the master branch on the GitHub repo. Read more

Another Weekend, Another Refactoring

by Gamefic on Jun 28, 2015

The Director class that handles actions just went through a major overhaul. Most of the changes are internal, so the impact on plot scripts should be minimal. Among the changes: Read more

Reevaluating the DSL

by Gamefic on Jun 21, 2015

This weekend I pushed a new repo branch that includes a major refactoring of the plot DSL. The syntax for plot scripts is largely unchanged, but the new code behind it uses a new module called the Stage. I based it on the Clean Room pattern described in Metaprogramming Ruby and further developed by Seth Vargo. Including the Stage module can make any class capable of loading code from a Ruby DSL. Read more

Managing and Customizing Scenes

by Gamefic on Jun 1, 2015

The concept of scenes has always existed in Gamefic. The simplest kind of scene was simply a block of code that got called by the cue method. There were also specialized kinds of scenes like pause, prompt, and yes_or_no. The system seemed solid in my initial tests, but when I started building a larger game that heavily relied on different types of scenes, I noticed a few shortcomings. As a result, I redesigned scenes so the shortcuts for creating common scene types were still available in plots, but under the hood there's a system that provides a lot more capability. The new system is based on three classes: SceneManager, SceneData, and the Scene itself. Read more

First Prototype of the Gamefic IDE

by Gamefic on Dec 21, 2014

The Eclipse plugin for Gamefic is finally a functional proof of concept. Basic features like creating projects and editing files work. Syntax highlighting is partially implemented. Embedded JRuby libraries allow for realtime code analysis and debugging on the fly. Read more