t-tutiya / tsukasa_by_ruby

Ruby用ゲームフレームワーク「司エンジン(Tsukasa Engine)」
49 stars 3 forks source link
dxruby ruby

Build status

オリジナルのプログラミング言語で動くゲームエンジン「司エンジン(Tsukasa Engine)」

概要

内部メカニズムの特徴

パッケージの入手とドキュメント

・実行環境がすべて収録されたパッケージは下記URLから取得してください。 http://someiyoshino.main.jp/file/tsukasa/tsukasa_engine_starter_kit_v2_2.zip

・ドキュメントは下記URLから取得してください。最新版は第3版第2刷になります(上記パッケージにも同梱されています)。 http://someiyoshino.main.jp/file/tsukasa/tsukasa_engine_guide_book_for_v2_2.pdf

・ソースコードはGitHub上で開発継続中です。 https://github.com/t-tutiya/tsukasa

ファーストステップ

・スターターキットを展開したら、main_dev.exeを実行します。ランチャーが起動し、サンプルを実行できます。サンプルコードはscript/sampleフォルダに収録されており、コードと比較しながら挙動を確認できます。 ・first.rbが最初に実行されるスクリプトファイルになります。このファイルに司スクリプトを記述することでゲームを実装できます。

フォルダ構成

 司エンジン開発フォルダルート直下のフォルダとファイル構成は以下になります(ファイルについては最低限の物のみ説明しています)。

tsukasa/
  main.exe  ……実行ファイルです。ruby本体をラップしていて、実行するとTsukasa.rbを読み込んだ後、main.rbを実行します
  main_dev.exe  ……main.exeにデバッグモードが付与された物です。標準出力用のコマンドプロンプトウィンドウを表示します。

  main.rb  ……rubyのソースコードです。司エンジンの初期設定を行い、first.rbを司スクリプトとして実行します。

  first.rb  ……最初に実行される司スクリプトファイルです。初期状態では"./script/demo.rb"を読み込みます。このファイルを書き換えることで、任意の司スクリプトを実行できます。

  rakefile  ……rake用のスクリプトです。現在はユニットテストを実行するspecタスク/testタスクのみを提供しています。 
  .rspec  ……RSpecの実行時オプション格納ファイル
  GemFile ……Bundler用のインストールパッケージ記述ファイル
  GemFile.lock ……Bundlerで使用
  README.md  ……readmeファイル。概要と更新履歴を収録。

  init.rb  ※内部で使用
  Ayame.dll  ※Rubyで使用
  LIBEAY32.dll  ※Rubyで使用
  libffi-6.dll  ※Rubyで使用
  msvcrt-ruby220.dll  ※Rubyで使用

  script/  ……司スクリプト/tksスクリプトを格納するフォルダです。ゲームで使用されるスクリプトを配置することを想定としています。
    sample/ サンプルコードが収納されています。
      demo.rb  ……サンプルコードのランチャーです。
      block/  ……ブロック崩しゲーム
      demo_game/  ……ノベル脱出ゲーム
      jump_action/  ……ジャンプアクションゲーム
      nomaid/  ……野メイド
      sample/  ……サンプルコード群

  doc/  ……ガイドブックとドキュメントを格納するフォルダです。

  datastore/  ……セーブデータなど保存を想定しているフォルダです。初期状態では空です。

  plugin_control/  ……カスタムコントロール用のrubyファイルを格納するフォルダです。このフォルダに配置された.rbファイルは自動的にrubyプログラムとして読み込まれます。
    HorrorTextShader.rb  ……カスタムシェーダーサンプル

  plugin_script/  ……ユーザー定義コマンド用の司スクリプトを格納するフォルダです。このフォルダに配置された.rbファイルは自動的にtsukasa言語として読み込まれます。
    default_script.rb  ……Ruby/DXRubyのラッパーコマンド群
    helper_script.rb  ……tsukasaのラッパーコマンド群
    text_layer_script.rb  ……TextPageのヘルパーコマンド群

  resource/  ……画像ファイルや音声ファイルの格納を想定したフォルダです。サンプルで使用するファイルが収納されています。
    char/  ……立ち絵画像
    Fonts/  ……プリレンダ済みフォント
    icon/  ……アイコン画像
    music/  ……BGM
    rule/  ……トランジション用ルール画像

  system/  ……司エンジンのrubyソースコードが格納されています。
    Tsukasa.rb  ……司エンジンを構成する最低限のコードを読み込みます。

  lib/  ※Rubyで使用するシステムフォルダ。

  spec/  ……ユニットテスト(Spec)用のrubyソースコードが格納されています。
  test/  ……ユニットテスト(Minitest)のrubyソースコードが格納されています。

  tools/  ……司エンジンをサポートする外部ツールが格納されています。
    FontDataMaker.rb  ……TrueTypeフォントデータを司エンジンで使用できるプリレンダフォントデータに変換します。
    ConvertFont.rb  ……FontDataMaker.rbの内部で使用しています。

更新履歴

v2.2(2017/2/14)

v2.1(2016/12/23)

v2.0(2016/08/28)

v1.2.1p9(不明)

v1.2.1p8(2016/05/18)

v1.2.1p7(2016/05/16)

v1.2.1p6(2016/05/14)

v1.2.1p5(2016/05/13)

v1.2.1p4((2016/05/13)

v1.2.1p3(2016/05/10)

v1.2.1p2(2016/05/09)

※今回からDXRuby v1.4.4以降対応になります。

v1.2.1p1(2016/05/08)

v1.2.1(2016/05/02)

v1.2.0(2016/4/1)

v1.1.0(2016/1/8)

v1.0.0(2015/12/24) 1stリリース

謝辞

・サンプルのコードやリソースデータは以下の方々に提供して頂きました。提供していただきました。ありがとうございました。 ・ページ送りアイコン、背景、テキストウィンドウ:BA2さん ・キャラ画像:Wednesdayさん(https://twitter.com/wednesday1029) ・音源ファイル:あおいたくさん(https://twitter.com/aoitaku) ・カスタムシェーダーサンプル:鳴海つかささん(https://twitter.com/kiku_masa_mune) ・野メイド/ブロック崩しサンプルゲーム:あおいたくさん(https://twitter.com/aoitaku