README.md in gamefic-sdk-3.3.0 vs README.md in gamefic-sdk-3.4.0

- old
+ new

@@ -1,158 +1,158 @@ -# Gamefic SDK - -**A Ruby Interactive Fiction Framework** - -The Gamefic SDK provides development tools for writing games and interactive fiction with Gamefic. - -## Installation - -Install the gem: - - $ gem install gamefic-sdk - -## Usage - -This section provides a fast and simple introduction to using the SDK. Go to -the [Gamefic website](https://gamefic.com) for in-depth guides and -documentation. - -### Creating a New Project - -Create a new project and go to its directory: - - $ gamefic init my_game - $ cd my_game - -Test the project by running the game on the command line: - - $ rake ruby:run - -The Ruby game works like a traditional text adventure: - - Hello, world! - > - -You can enter commands at the `>` prompt, but you haven't written any content, -so there's not much to do yet. Enter `QUIT` to exit the game. - -### The Script Code - -The plot for your narrative is defined in the `plot.rb` file. It should look -something like this: - -```ruby -module Example - class Plot < Gamefic::Plot - UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' - - include Gamefic::Standard - - script do - introduction do |actor| - actor.tell "Hello, world!" - end - end - end -end -``` - -`UUID` is a globally unique identifier. It can be useful if you want to -add your game to online catalogs, such as the [Interactive Fiction Database](https://ifdb.tads.org/), -but it's safe to delete if you don't need it. - -['gamefic-standard'](https://github.com/castwide/gamefic-standard) is a collection -of baseline features that are frequently useful for interactive fiction. [Inform](http://inform7.com/) -developers should find it similar to Inform's Standard Rules. It defines common -components like Rooms and Characters, along with in-game commands like `GO`, -`GET`, and `DROP` to enable basic interactivity. - -`script` is where you write the story itself. In the starter project, -the only thing in the script is an introductory message. - -### Modifying the Script - -Replace the contents of `plot.rb` with the following: - -```ruby -module Example - class Plot < Gamefic::Plot - UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' - - include Gamefic::Standard - - seed do - @living_room = make Room, name: 'living room', description: 'This is your living room.' - @bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.' - connect @living_room, @bedroom, 'north' - @backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom - @book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room - end - - script do - introduction do |actor| - actor.parent = @living_room - actor.tell "You're in your house." - end - end - end -end -``` - -Enter `rake ruby:run` to test the game. Now that it has rooms and objects, you -can perform in-game commands like `LOOK AROUND`, `GO NORTH`, and `TAKE THE BACKPACK`. - -### Making Games for the Web - -The default game project includes tasks for building "web" apps using HTML, -CSS, and JavaScript. Generate the code for a web build with the following -command: - -``` -$ rake web:generate -``` - -Test the game in a browser by starting a server: - -``` -$ rake web:run -``` - -Open `http://localhost:9000` to run the game in debug mode. - -Build a standalone web game: - -``` -$ rake web:build -``` - -The game's HTML file and related assets will be generated in the -`web/build` directory. The SDK uses opal](https://github.com/opal/opal) -to compile Ruby code to JavaScript, so the web build does not require a -Ruby interpreter. Open `index.html` in a browser to play the game. - -Note: building the web app requires [Node.js](https://nodejs.org). - -### Example Projects - -The gamefic-sdk repo includes several example projects that provide more -complete demonstrations of Gamefic's features. To run an example, copy -its `plot.rb` file to your own project. - -### Learning More - -Go to the [Gamefic website](https://gamefic.com) for more information about -developing and building apps with Gamefic. - -## Development - -After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. - -To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). - -## Contributing - -Bug reports and pull requests are welcome on GitHub at https://github.com/castwide/gamefic-sdk. - -## License - -The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT). +# Gamefic SDK + +**A Ruby Interactive Fiction Framework** + +The Gamefic SDK provides development tools for writing games and interactive fiction with Gamefic. + +## Installation + +Install the gem: + + $ gem install gamefic-sdk + +## Usage + +This section provides a fast and simple introduction to using the SDK. Go to +the [Gamefic website](https://gamefic.com) for in-depth guides and +documentation. + +### Creating a New Project + +Create a new project and go to its directory: + + $ gamefic init my_game + $ cd my_game + +Test the project by running the game on the command line: + + $ rake ruby:run + +The Ruby game works like a traditional text adventure: + + Hello, world! + > + +You can enter commands at the `>` prompt, but you haven't written any content, +so there's not much to do yet. Enter `QUIT` to exit the game. + +### The Script Code + +The plot for your narrative is defined in the `plot.rb` file. It should look +something like this: + +```ruby +module Example + class Plot < Gamefic::Plot + UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' + + include Gamefic::Standard + + script do + introduction do |actor| + actor.tell "Hello, world!" + end + end + end +end +``` + +`UUID` is a globally unique identifier. It can be useful if you want to +add your game to online catalogs, such as the [Interactive Fiction Database](https://ifdb.tads.org/), +but it's safe to delete if you don't need it. + +['gamefic-standard'](https://github.com/castwide/gamefic-standard) is a collection +of baseline features that are frequently useful for interactive fiction. [Inform](http://inform7.com/) +developers should find it similar to Inform's Standard Rules. It defines common +components like Rooms and Characters, along with in-game commands like `GO`, +`GET`, and `DROP` to enable basic interactivity. + +`script` is where you write the story itself. In the starter project, +the only thing in the script is an introductory message. + +### Modifying the Script + +Replace the contents of `plot.rb` with the following: + +```ruby +module Example + class Plot < Gamefic::Plot + UUID = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' + + include Gamefic::Standard + + seed do + @living_room = make Room, name: 'living room', description: 'This is your living room.' + @bedroom = make Room, name: 'bedroom', description: 'This is your bedroom.' + connect @living_room, @bedroom, 'north' + @backpack = make Room, name: 'backpack', description: 'Your trusty backpack.', parent: @bedroom + @book = make Room, name: 'book', description: 'Your favorite novel.', parent: @living_room + end + + script do + introduction do |actor| + actor.parent = @living_room + actor.tell "You're in your house." + end + end + end +end +``` + +Enter `rake ruby:run` to test the game. Now that it has rooms and objects, you +can perform in-game commands like `LOOK AROUND`, `GO NORTH`, and `TAKE THE BACKPACK`. + +### Making Games for the Web + +The default game project includes tasks for building "web" apps using HTML, +CSS, and JavaScript. Generate the code for a web build with the following +command: + +``` +$ rake web:generate +``` + +Test the game in a browser by starting a server: + +``` +$ rake web:run +``` + +Open `http://localhost:9000` to run the game in debug mode. + +Build a standalone web game: + +``` +$ rake web:build +``` + +The game's HTML file and related assets will be generated in the +`web/build` directory. The SDK uses opal](https://github.com/opal/opal) +to compile Ruby code to JavaScript, so the web build does not require a +Ruby interpreter. Open `index.html` in a browser to play the game. + +Note: building the web app requires [Node.js](https://nodejs.org). + +### Example Projects + +The gamefic-sdk repo includes several example projects that provide more +complete demonstrations of Gamefic's features. To run an example, copy +its `plot.rb` file to your own project. + +### Learning More + +Go to the [Gamefic website](https://gamefic.com) for more information about +developing and building apps with Gamefic. + +## Development + +After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. + +To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org). + +## Contributing + +Bug reports and pull requests are welcome on GitHub at https://github.com/castwide/gamefic-sdk. + +## License + +The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).