Gamefic::Ideas
A Gamefic extension for queryable abstract ideas.
An Idea
is a pseudo-entity that can be queried by the command parser but does not have a physical presence in the game world.
It has name
, synonyms
, and description
attributes, but it does not have a parent
or children
.
Installation
Add the library to your Gamefic project's Gemfile:
gem 'gamefic-ideas'
Run bundle install
.
Add the requirement to your project's code (typically in main.rb
):
require 'gamefic-ideas'
If you want to include the library's actions, include Gamefic::Ideas
in your project's Plot:
module Example
class Plot < Gamefic::Plot
include Gamefic::Ideas
end
end
Usage
The process to make
new ideas is similar to making standard entities:
module Example
class Plot < Gamefic::Plot
include Gamefic::Ideas
attr_seed :food_idea, Idea,
name: 'food',
synonyms: 'eating meals',
description: "A meal would hit the spot right now."
end
end
If you included Gamefic::Ideas
, players can access the idea's description with the think
command:
> think about food
A meal would hit the spot right now.
You can also implement your own commands by accessing the idea with the anywhere
query:
module Example
class Plot < Gamefic::Plot
attr_seed :food_idea, Idea,
name: 'food',
synonyms: 'eating meals',
description: "A meal would hit the spot right now."
respond :contemplate, anywhere(Idea) do |actor, idea|
actor.tell idea.description
end
end
end
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 the created tag, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/gamefic-ideas.