Giter VIP home page Giter VIP logo

ceptre-tutorial's Introduction

ceptre-tutorial

Tutorial materials for Ceptre. You will need: a unix-based command line (e.g. Terminal on Mac OS X or Cygwin on Windows), libgmp on Linux or OS X, basic command line knowledge (tar, cp, mv, etc.), and a text editor for code.

Installation

  1. Clone this repository:
$ git clone https://github.com/chrisamaphone/ceptre-tutorial.git

Or download as zip file and unzip.

  1. Get the binary file appropriate for your system from Google Drive, then un-tar it:
$ tar -xzvf ceptre-(SYSTEM).tar.gz

If that doesn't work, follow instructions at https://github.com/chrisamaphone/interactive-lp to download and install.

  1. Test:
./ceptre sol/otp.cep
  1. Optionally, download GraphViz: http://www.graphviz.org/

Overview: What can Ceptre do for digital storytelling?

Ceptre can be used to prototype or implement autonomous behavior for interactive stories or games. That autonomous behavior could be used for procedural content generation or for controlling non-player characters that the player interacts with.

Ceptre aims to hit a sweet spot between tools for generalized agent autonomy, such as planners, which have little support for designing interaction models; and interactive story authoring tools, such as Inform, which have little support for autonomy.

Basics: a 1-rule example

File: otp.cep.

Key idea: writing rules with multiset rewriting notation.

RANDOM FANDOM! Generate OTPs from a cast of characters.

pair : available C1 * available C2 -o paired C1 C2.

Interactive story worlds

File: quest.cep

Key idea: interacting with rules.

Exercises:

  • Add a rule for opening something (e.g. the chest).
  • Add a rule for taking something out of something (e.g. the map out of the chest) and moving it to the surrounding room.

Autonomous NPCs

File: quest-sim.cep

Key idea: using stages to separate interactive and autonomous behavior.

Exercise:

  • Add a character-to-character interaction of your choosing.

Social NPCs

File: quest-social.cep (or build on quest-sim.cep)

Key idea: writing backward-chaining rules and using predicates defined by them to check conditions, e.g. "Does C1 like C2 enough to give them an item that they want?"

ceptre-tutorial's People

Contributors

chrisamaphone avatar

Stargazers

Paul Garner avatar  avatar Kevin Butler avatar Adrian Manea avatar Alexander Yakovlev avatar abdul aziz ali avatar Joolean avatar Sean Thompson avatar Markus Kahl avatar Panicz avatar Thomas Bøvith avatar Melanie Dickinson avatar Pengcheng Wang avatar Avery Pinko avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.