Code Monkey home page Code Monkey logo

ruby-miyako's Introduction

*******************************************************************************
【   作者名   】 サイロス誠
【  ソフト名  】 Interactive Media Authoring System "Miyako"
【 バージョン 】 2.1.22
【   作成日   】 2011/05/15
【    種別    】 フリーウェア
【  開発言語  】 Ruby 1.9.1
【 ランタイム 】 Ruby 1.9.1~,Ruby/SDL 2.1~,SDL
【  対応機種  】 Windows 2000/XP/Vista、Linux、MacOSX
【   再配布   】 GNU LGPL 2.1に基く
【    転載    】 GNU LGPL 2.1に基く
【ホームページ】 http://www.twin.ne.jp/~cyross/Miyako/
【   連絡先   】 [email protected]
*******************************************************************************

【 注意事項  】

本バージョンは、2.1.22公式リリース版です。
本バージョンでは、ドキュメント・リファレンスは不十分ですが、「サイログ。」内や、サンプルプログラムの紹介等で随時ドキュメントを公開して行きます。
(RDOC化を進めていますので、我こそはと思う方は是非・・・)

(メインサイト)
http://www.twin.ne.jp/~cyross/Miyako/
(日記)
http://d.hatena.ne.jp/cyross/

【 はじめに 】

このソフトはゲームを作成したり、ゲームを作成したり、ゲームを作成するような感覚でプレゼンテーションなどを作成できるRubyのライブラリ・簡易フレームワークです。
Ruby上で使えるメディアライブラリ「Ruby/SDL」のラッパークラスとして利用します。

元々は「EGSR(Easy Game Scripting by Ruby)」というタイトルで、汎用ゲーム作成クラスライブラリでしたが、ゲーム以外にも応用が利くため、ゲームに囚われないタイトルにしようと考え、名称を変更いたしました。

「簡単」とまではいかなくても、「気楽」に制作やRubyの勉強が出来ていただければと思っています。

【 Miyakoの由来 】

Miyakoのタイトルは、以下の事柄に由来しています

・「都」というネーミングは勿論「京都」から取った
・ゲーム業界に大きな影響を与えた任天堂の本社が京都にあることに由来する
・リッチ・コンテンツを気楽に作れるということで、優雅そうなイメージを「はんなりと」醸し出す、「都」という漢字から取った
・Miyakoの前身、EGSRの制作のきっかけとなったのが京都で行われた「Ruby勉強会@関西-7」だったため
・名前を考える際にたまたま読んでいた漫画『えすぴー都見参!(岬下部せすな・まんがタイムKRコミックス)』の主人公・五条都(ごじょう・みやこ)から取った?

【   特徴    】

このライブラリの特徴は以下の通り。

・ゲームを作るような感覚でプレゼンテーションやe-ラーニングのシステムを作れる(はず)
・カスタマイズ性に富んだMiyako APIとより簡単にコンテンツ作成ができるMiyako Extensionの2構成
・シナリオ言語Yuki(DSL風Rubyスクリプト、v1.5pre6からはスレッドに対応)
・Storyモジュールによる簡単なフレームワークを用意(各画面の構成が分かり易くなります)
・スプライトには、位置情報を抽象的に実装できるレイアウト機能、
 対象の図形のレイアウトに準じたレイアウト設定が出来るスナップ機能を搭載
・図形を描いたスプライトを作成するShapeクラス
・アニメーションを管理するAnimationSpriteクラス
・当たり判定を簡単に実装できるCollisionクラス
・スプライト以外の画像を表示できるSpriteUnit構造体
・配列に画像描画などの機能を付け加えるSpriteArrayモジュール(Arrayクラスには標準でmixin済み)
・2次元グラフィックライブラリCairoとの画像変換を容易にしたMiyakoCairoモジュール(EXT扱い、v2.0~)
・拡張ライブラリを使用した高速な描画
・Windows/Linux/MacOSX等に対応(他OSへの動作レポートお願いします)
・インストーラー付き
・ゲーム作成に最低限必要な構成をカプセル化(スプライト、ウィンドウ、サウンド等)
・スプライトを通じての文字描画や図形描画が可能(図形描画はブロックを介して行う、takahashiメソッドも追加)
・文字描画を簡潔に行うTextBoxクラス
・Waveファイルによる効果音、ogg/MIDI/MP3によるBGM演奏
・MPEGファイルによるムービー再生に対応
・キーボード、ジョイパッド両対応(1人プレイのみという制限付きです・・・)
・マウス対応(v1.0~)
・Ruby/SDLの機能が使える(ラッパークラスなので)
・Rubyの勉強に役に立つ(ハズ)

ちなみに、今のところ以下の問題・制限があります。

・エラーの整備が不十分
・ドキュメントが全然整っていない(リファレンスはまだまだ・・・)
 →各種チュートリアルや「るびま」記事などでドキュメントを拡充する予定

【 開発環境 】

<メイン開発PC>
CPU : Core2Duo E6850
MEM : 8GB(2GBx4)
M/B : GIGABYTE P35-DS4
VID : GeForce 8800GT
S/B : Creative SoundBlaster X-Fi
PAD : BUFFALO BGC-FC802
      Logicool G-UF13
OS  : Microsoft Windows7 Ultimate(x64) SP1 + VMWarePlayer(Microsoft WindowsXp SP3)
DEV : xyzzy
      mingw32版Ruby 1.9.2-p0 + Ruby/SDL 2.1.1
      MinGW+MSYS(miyako_no_katanaビルド)

<サブ開発PC>
Panasonic Let'sNOTE Light S9
CPU : Core i5
MEM : 4GB(2GBx2)
PAD : SANWA SUPPLY JY-P1W
OS  : Microsoft Windows7 x64
DEV : xyzzy
      mingw32版Ruby 1.9.2-p0 + Ruby/SDL 2.1.1

【 動作確認環境 】

上記環境に追加して、Ubuntu9.04(x86)+Ruby1.9.1+Ruby/SDL2.1.1で動作確認済み

【 動作環境  】

WindowsXp Home/Pro、WindowsVista、Linux、MacOSX等、Ruby/SDLが動作する環境
(但し、Windows,Linux以外の動作未確認です
 もし動いたらレポートお願いします)

CPU    :PentiumIII以降(Pentium4奨励、動画使うなら2GHzは欲しい)
メモリ    :256MB(512MB以上奨励)
ビデオメモリ :8MB(32bitカラー専用、64MB以上奨励)
サウンドカード:必須(出来ればSoundBlaster Live!クラス)

Ruby1.9.1以降(Ruby1.9.2対応)
Ruby/SDL 2.1+対応SDLライブラリ群
(SDL、SDL_ttf、SDL_image、SDL_Mixer、SGE、smpeg)

【 ファイル構成  】

アーカイブファイルを展開すると以下のファイルが展開されます。

・miyako.rb(Miyakoライブラリ)
・win/miyako_no_katana.so(Windows用miyako_no_katana)
・libディレクトリ(ライブラリ本体)
・miyako_no_katana/miyako_no_katana.c(miyako_no_katanaソース)
・miyako_no_katana/extconf.rb(miyako_no_katanaコンパイル用configureファイル)
・install_miyako.rb(Miyakoインストール実行ファイル)
・README(本ファイル)
・docディレクトリ(リファレンスマニュアル)

【  インストール   】

以下の手順でインストールを行います。

1.Rubyのインストール

Linuxでは標準でRubyがインストールされていいるはずですので説明は割愛します。
なお、バージョンは最新の1.9系統(1.9.1以降)でお願いします。

Windowsでは、以下のサイトにあるActiveRubyのインストールをお願いします。
(詳しい説明は割愛)

「COM Meets Ruby」
http://arton.hp.infoseek.co.jp/indexj.html

注)ActiveRubyをお使いの方は、Ruby1.9.1をご使用ください。
   Ruby1.9.2では使用しているコンパイラに変更があった為、バイナリ版が動作しません!

また、Windows用には、後述の「Ruby、SDL、Ruby/SDLパック」というものがあり、これをインストールすると、別途Ruby/SDLをインストールすることなく、RubyとRuby/SDLを利用することが出来ます(但し、Windowsの詳しい操作に慣れていない方には難しい作業が必要になる可能性があります。また、ベースとなっているRuby/SDLがv1.2ですので、MP3ファイルの再生はサポートされておりません)。

他にも、拙作の「MiyakoPack」があり、これですと、Ruby1.9.2、Ruby/SDL、Miyako他、様々なライブラリが同梱されております。

2.SDLのインストール

Linuxでインストールされる場合は、まずSDLをインストールする必要があります。
以下のサイトでSDLが配布されていますので必要なライブラリをダウンロードします。

http://www.libsdl.org/

必須ライブラリは以下の通り
・SDL
・SDL_image
・SDL_Mixer
・SDL_ttf
・SGE
・SMPEG(←1.4で追加)

Windowsでは、Ruby/SDL公式サイトにあるバイナリパッケージや、Ruby/SDL入りRubyパッケージのインストールの方が便利でしょう。

インストールが完了したら、続いてRuby/SDLをインストールします。

3.Ruby/SDLのインストール

もうひとつの必須ライブラリ、Ruby/SDLをインストールします、。。
インストールの仕方は以下のRuby/SDL公式サイトを参考にしてください。

http://www.kmc.gr.jp/~ohai/rubysdl.html

Windowsでは、Ruby/SDLバイナリパッケージの使用をお奨めします。
(Windowsユーザ以外の方は、後述の(注意)の項をお読みください)

なお、RubyやSDL、Ruby/SDLのインストールに関するトラブルは当方では一切責任を負いません。
また、インストールに関する質問にも受付できません。
自己責任でお願いします。

4.Miyakoのインストール

展開したフォルダにあるinstall_miyako.rbをRubyで実行します。

インストールには、以下のオプションが利用できます。

--force :     Rubyライブラリフォルダに既にMiyakoフォルダがあるときはインストールを行いませんが、インストールを強制したいときに使います。

また、本ライブラリでは、標準フォントとして「MS 明朝」「MS ゴシック」
「メイリオ」「さざなみフォント」「VLゴシックフォント」が利用できます。

フォントのインストール等については自己責任でお願いします。
(MS明朝/ゴシック/メイリオはWindows標準添付(メイリオはVistaのみ)ですので、特にインストールの必要がありません)

これでインストールが完了です。

(注意)Miyakoのバイナリファイルをビルドする場合の注意点

バージョン2.0から、miyako_no_katanaから、Ruby/SDLのデータから直接SDLのサーフェスデータを
直接アクセスするため、Ruby/SDLのヘッダファイルと、SDLの開発ライブラリが必要になりました
(特に、sdl-configシェルスクリプトが必要です)。

また、sdl-configの場所を正しく指定できる様に、環境変数SDL_CONFIG_PATH(sdl-configの実行パス)のを参照しています。
ビルド前に必ず設定をお願いいたします。

(例)SDL_CONFIG_PATH='sdl-config'

# お手数とは思いますが、LinuxやMacOSXなどで設定した方法をフィードバックしていただけると大いに助かります。
# フィードバックは次期バージョンに反映いたします。

【 アンインストール  】

特に、レジストリなどのシステム部分をいじっていないので、ライブラリディレクトリのMiyakoフォルダを削除すればアンインストールは完了です。

【  使い方   】

まず、Miyakoを使用したいRubyスクリプトにmiyako.rbをrequireしてください。

require 'miyako'

これで、Miyakoの機能を利用できます。

更に、拡張機能を使いたいときは、次の行に

require 'Miyako/EXT/利用したいライブラリ名'

と入力します。
たとえば、Slideクラスを利用したいときは、「require 'Miyako/EXT/slides'」と入力します。

利用できる拡張機能は以下の3種類です。

1.RasterScrollクラス(ラスタスクロールを管理するクラス) : EXT/raster_scroll
2.Slideモジュール(スライド生成・管理を行えるモジュール) : EXT/slides

各種機能につきましては、リファレンスマニュアルをご参照ください。

【ライセンス】

本ライブラリはGNU Lesser General Public Lisence 2.1に準拠しています。
しかし、本ライブラリを使用したソフトウェアについては、その制作者に帰属します。
ただし、事後でも構いませんので連絡いただけると幸いです。

同時に収録している、wait_cursor.png、cursor.png、dice.pngはご自身のMiyako Scriptでご自由に使っていただいて構いません。

フォントの再利用につきましては、それぞれのフォントのライセンスに従うよう、ご了承お願いいたします。

本ライブラリでは、一部のコードで、Ruby/SDLのコードを利用しています。
Ruby/SDLのソースコードは、以下の場所からリンクを辿ってダウンロード可能です。
(以下のURLは、RUBYFORGE内のRuby/SDLダウンロードURLです)

http://rubyforge.org/frs/?group_id=1006

【   免責    】

本ソフトは”無保証”です。
本ソフトを使用した事によるトラブルにつきましては、いかなる理由があっても一切責任を負いません。
本ソフトのバージョンアップやバグフィックスには出来る限り対処いたします。しかし、上記に対する責務は負いません。

【   謝辞    】

Rubyを作られたまつもとゆきひろさん
Ruby/SDLを作られたo-haiさん
ActiveRubyを作られたartonさん
RGSSを作られた尾島陽児さん

EGSR作成のきっかけを作ってくださったGollumさん

RGSS発表の場を与えて下さったRuby@関西の皆さん

MacOSX対応のアドバイスをいただいた、waturaさん、makさん

その他、活動を支えてくださった皆様

あなた方が居なければ、こんなに楽しい作業に踏み込める機会はなかったと思います。

-皆様に並々ならぬ感謝の気持ちで一杯です。ありがとうございます。

【 開発履歴  】

Changelog.txtを参照してください

*******************************************************************************
このReadMeファイルは「れ~どめ~えじた~」によって作成されました。

ruby-miyako's People

Watchers

weimingtom 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.