-
Notifications
You must be signed in to change notification settings - Fork 56
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #129 from nskins/0.2.0
Goby version 0.2.0
- Loading branch information
Showing
35 changed files
with
533 additions
and
222 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,12 +1,12 @@ | ||
# Goby [![Build Status](https://travis-ci.org/nskins/goby.png)](https://travis-ci.org/nskins/goby) [![Coverage Status](https://coveralls.io/repos/github/nskins/goby/badge.svg?branch=master)](https://coveralls.io/github/nskins/goby?branch=master) | ||
|
||
Goby is a Ruby framework for creating [text](https://en.wikipedia.org/wiki/Text-based_game) [RPGs](https://en.wikipedia.org/wiki/Role-playing_game). In the past 30+ years, the fine and respectable craft of text RPG development has been forgotten in favor of flashing lights and CGI cutscenes; however, there was once a time when the video game experience meant more than Dynamic Super Resolution™. | ||
Goby is a Ruby framework for creating [text](https://en.wikipedia.org/wiki/Text-based_game) [RPGs](https://en.wikipedia.org/wiki/Role-playing_game). Goby comes with out-of-the-box support for 2D map development, background music, PvP/PvM battles, customizable items & events, stats, equipment, and so much more. With thorough testing and documentation, it's even easy to expand upon the framework for special, unique features. If you are looking to create the next classic command-line RPG, then look no further! | ||
|
||
Text RPG development is a relatively fast and simple process. That's why our mission is to provide the highest degree of functionality, utilizing object-oriented design principles, so that users spend the majority of their time on the *fun* part of video game development: content creation! | ||
Goby will always be free and open source software. If you have any questions, please contact the owner at [email protected]. He will be happy to assist you. | ||
|
||
## Getting Started | ||
|
||
Tutorials and examples are **coming soon**. Complete documentation is available. In order to start using Goby in your application, follow these instructions: | ||
In order to start using Goby in your application, follow these instructions: | ||
|
||
Add this line to your application's Gemfile: | ||
|
||
|
@@ -16,7 +16,7 @@ gem 'goby' | |
|
||
And then execute: | ||
|
||
$ bundle | ||
$ bundle install | ||
|
||
Or install it yourself as: | ||
|
||
|
@@ -30,4 +30,4 @@ Thank you for your interest in contributing! Please read our [guidelines](https: | |
|
||
We use [YARD](https://github.com/lsegal/yard) for documentation. In order to generate the documentation (which will be stored in the doc/ directory), run the following command in the project's root directory: | ||
|
||
```yardoc ``` | ||
$ yardoc |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
#!/usr/bin/env ruby | ||
# frozen_string_literal: true | ||
|
||
# | ||
# This file was generated by Bundler. | ||
# | ||
# The application 'bundle' is installed as part of a gem, and | ||
# this file is here to facilitate running it. | ||
# | ||
|
||
require "rubygems" | ||
|
||
m = Module.new do | ||
module_function | ||
|
||
def invoked_as_script? | ||
File.expand_path($0) == File.expand_path(__FILE__) | ||
end | ||
|
||
def env_var_version | ||
ENV["BUNDLER_VERSION"] | ||
end | ||
|
||
def cli_arg_version | ||
return unless invoked_as_script? # don't want to hijack other binstubs | ||
return unless "update".start_with?(ARGV.first || " ") # must be running `bundle update` | ||
bundler_version = nil | ||
update_index = nil | ||
ARGV.each_with_index do |a, i| | ||
if update_index && update_index.succ == i && a =~ Gem::Version::ANCHORED_VERSION_PATTERN | ||
bundler_version = a | ||
end | ||
next unless a =~ /\A--bundler(?:[= ](#{Gem::Version::VERSION_PATTERN}))?\z/ | ||
bundler_version = $1 || ">= 0.a" | ||
update_index = i | ||
end | ||
bundler_version | ||
end | ||
|
||
def gemfile | ||
gemfile = ENV["BUNDLE_GEMFILE"] | ||
return gemfile if gemfile && !gemfile.empty? | ||
|
||
File.expand_path("../../Gemfile", __FILE__) | ||
end | ||
|
||
def lockfile | ||
lockfile = | ||
case File.basename(gemfile) | ||
when "gems.rb" then gemfile.sub(/\.rb$/, gemfile) | ||
else "#{gemfile}.lock" | ||
end | ||
File.expand_path(lockfile) | ||
end | ||
|
||
def lockfile_version | ||
return unless File.file?(lockfile) | ||
lockfile_contents = File.read(lockfile) | ||
return unless lockfile_contents =~ /\n\nBUNDLED WITH\n\s{2,}(#{Gem::Version::VERSION_PATTERN})\n/ | ||
Regexp.last_match(1) | ||
end | ||
|
||
def bundler_version | ||
@bundler_version ||= begin | ||
env_var_version || cli_arg_version || | ||
lockfile_version || "#{Gem::Requirement.default}.a" | ||
end | ||
end | ||
|
||
def load_bundler! | ||
ENV["BUNDLE_GEMFILE"] ||= gemfile | ||
|
||
# must dup string for RG < 1.8 compatibility | ||
activate_bundler(bundler_version.dup) | ||
end | ||
|
||
def activate_bundler(bundler_version) | ||
if Gem::Version.correct?(bundler_version) && Gem::Version.new(bundler_version).release < Gem::Version.new("2.0") | ||
bundler_version = "< 2" | ||
end | ||
gem_error = activation_error_handling do | ||
gem "bundler", bundler_version | ||
end | ||
return if gem_error.nil? | ||
require_error = activation_error_handling do | ||
require "bundler/version" | ||
end | ||
return if require_error.nil? && Gem::Requirement.new(bundler_version).satisfied_by?(Gem::Version.new(Bundler::VERSION)) | ||
warn "Activating bundler (#{bundler_version}) failed:\n#{gem_error.message}\n\nTo install the version of bundler this project requires, run `gem install bundler -v '#{bundler_version}'`" | ||
exit 42 | ||
end | ||
|
||
def activation_error_handling | ||
yield | ||
nil | ||
rescue StandardError, LoadError => e | ||
e | ||
end | ||
end | ||
|
||
m.load_bundler! | ||
|
||
if m.invoked_as_script? | ||
load Gem.bin_path("bundler", "bundle") | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/usr/bin/env ruby | ||
# frozen_string_literal: true | ||
|
||
# | ||
# This file was generated by Bundler. | ||
# | ||
# The application 'goby' is installed as part of a gem, and | ||
# this file is here to facilitate running it. | ||
# | ||
|
||
require "pathname" | ||
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile", | ||
Pathname.new(__FILE__).realpath) | ||
|
||
bundle_binstub = File.expand_path("../bundle", __FILE__) | ||
|
||
if File.file?(bundle_binstub) | ||
if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/ | ||
load(bundle_binstub) | ||
else | ||
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run. | ||
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.") | ||
end | ||
end | ||
|
||
require "rubygems" | ||
require "bundler/setup" | ||
|
||
load Gem.bin_path("goby", "goby") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.