<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/rgss2ch/">
    <title>rgss2ch</title>
    <link>http://w.atwiki.jp/rgss2ch/</link>
    <atom:link href="https://w.atwiki.jp/rgss2ch/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>rgss2ch</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-07-15T18:55:49+09:00</dc:date>
    <utime>1184493349</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/11.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/6.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/9.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/5.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/12.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/10.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/rgss2ch/pages/4.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/1.html</link>
    <description>
      **このwikiについて
このwikiは２ちゃんねるでこっそり活動している1ツクールXPユーザ◆RGSS..WS4Mの雑記帳です。
（トリ付きで書き込んでることは滅多にないですが）

RGSSを使ったゲームの制作中SSとか適当に貼って行ければと。

**注意書き
管理人はまだ不慣れなので色々間違っている可能性があります。
何か間違えがあれば指摘していただけるとありがたいです。

**近況(07/07/15)
環境が変わってから、まとまった時間がきちんと取れていません。
小品スレの方に参加しようにも逆に迷惑をかけてしまう状態でしたので、
放置になっていたのですが一言入れてもよかったかなと反省しています。
関係者の皆様申し訳ありませんでした。

現在は不定期に空いた時間を利用して、
VIPのツクスレ保管庫や自分のゲーム作りを進めています。
また参加できるようになった時に、
もしスクリプタが必要なら手伝わせていただきたいと思います。

自分の書いたソースに関係することなど、連絡が必要な場合は
http://pi.orz.hm/~tkool/
の掲示板、あるいは
rgssws4m_at_gmail.com(_at_を@に変換)
までお願いします。

**コメントフォーム
#comment_num    </description>
    <dc:date>2007-07-15T18:55:49+09:00</dc:date>
    <utime>1184493349</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/11.html">
    <title>Scene_ADVメモ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/11.html</link>
    <description>
      **簡単なメモ

-文字コードがUTF-8NのテキストをData/Scenario/に作る(拡張子は.txt)
-１行ずつ実行される
-キャラクターを表示させる場所は左右の二カ所(leftとright)
-行の先頭に$でコマンド(背景変えたり、表情変えたり、BGM変えたり)
-行の先頭に#でコメント
-マクロもどき機能搭載
-空行は無視
-イベントからの呼び出しは「スクリプト」で「$scene = Scene_ADV(シナリオファイル名)」（ァイル名は拡張子を抜いたもの）

コマンドのない行はメッセージとして扱われます。(「$msg メッセージ」としてもメッセージになります。)
このとき、同じメッセージの中での改行は[\n]と記述することで利用できます。

マクロもどきについては
 $back 部屋_カクヤス_昼.jpg
と書くところを
 $def 部屋=[部屋_カクヤス_昼.jpg]
と、予め宣言しておけば
 $back $[部屋]
と書くのと同じになります。

**.rxdataへの自動コンバート機能
テストプレイ時にシナリオファイル(Data/Scenario/*.txt)を読み込むと、自動的にシナリオファイルのオブジェクトファイル(Data/Scenario/*.rxdata)が作成されます。
この形式になると暗号化アーカイブにしてもロードできるので、配布するときに便利です。
（このとき、サイズを縮小しておきたい場合は*.txtを別のフォルダに待避しておくとアーカイブに含まれなくなるので少し小さくなります。）

**更新予定
-テキストインタプリタとの連携
--今はまだできるといいなぁレベル。

**更新履歴
-20060211
--基本部分作成
-20060212
--blockコマンドの追加
--evalコマンドの追加
--switchコマンドの追加
--位置補正コマンド(left_x, left_y, right_x, right_y)の追加
--.txtから.rxdataへの自動コンバート機能の追加（これに伴い、イベントで指定する時にファイル名から拡張子を抜いて指定する様に変更）
-20060227
--ifコマンドの追加
--loadコマンド追加
--bdefコマンド追加
--selectコマンド追加
--select_varコマンド追加
--ゲーム変数置換機能追加（$V[変数番号]）
-20060228
--varコマンドの追加
--readコマンドの追加
--スイッチ置換機能追加($S[スイッチ番号]　trueなら&quot;on&quot;、falseなら&quot;off&quot;を返します)
-20060312
--msg以外のコマンドの実行タイミングの修正(以前はseやbgmなどが不正なタイミングで実行されていました)
--選択肢の文字列を保持しておくようになりました。(Scene_ADVクラスの@select)

**コマンドリスト
***load : 子インタプリタの生成
 $load base
子インタプリタ(子Scene_ADV)を生成し、実行します。
共通のマクロ設定などの読み込み、シーンの切り替えなどを想定しています。
子インタプリタが実行されるときにトランジションが実行されます。

***read : シナリオの読み込み
 $read scene01
シナリオを読み込みメッセージキューの先頭に挿入します。
基本的にはloadと同じ働きをしますが、子インタプリタを生成しないので、スプライトやマクロが維持されたまま実行されます。
（基本的にはこちらを利用した方が便利でしょう）

***active : アクティブのキャラ変更
 $active left / $active right
メッセージ枠をleftかrightのキャラに合わせて場所をずらします。leftかrightが指定されなかった場合には中央になります。
    
***back : 背景変更(自動トランジション)
 $back 部屋_カクヤス_昼.jpg
背景を変更します。このとき、自動的にトランジションが実行されます。トランジションファイルが設定してあった場合にはそのトランジションファイルでトランジションを実行します。

     
***clear : 画面をクリアして新背景に
 $clear 部屋_カクヤス_昼.jpg
シーンの切り替えなどに利用されます。
左右のキャラクターの消去と背景の切り替えを同時に行います。backと同じように自動的にトランジションが実行されます。

***left_base : キャラのグラフィック設定
 $left_base B_ツナ_01.png
左のスプライトに画像をセットします。
このとき、自動的に左のキャラがアクティブになる(=メッセージ枠が右寄りになる)ので注意して下さい。

***left_face : キャラのグラフィック設定
左のスプライトに重ね合わせる画像をセットします。
表情差分などがある場合には利用するといいでしょう。
このとき、自動的に左のキャラがアクティブになる(=メッセージ枠が右寄りになる)ので注意して下さい。

***right_base : キャラのグラフィック設定
 $right_base p_cos_主_ま.png
右のスプライトに画像をセットします。
このとき、自動的に右のキャラがアクティブになる(=メッセージ枠が左寄りになる)ので注意して下さい。

***right_face : キャラのグラフィック設定
 $right_face p_face_主_2.png
右のスプライトに重ね合わせる画像をセットします。
表情差分などがある場合には利用するといいでしょう。
このとき、自動的に右のキャラがアクティブになる(=メッセージ枠が左寄りになる)ので注意して下さい。

***left_x, left_y, right_x, right_y : 位置補正
 $left_y 150
左右それぞれの画像の表示位置に補正をかけます。
一度設定すると、その設定が維持されるので、キャラによって補正を変えたい場合はマクロに設定しておくと便利です。

***dispose : キャラ消去
 $dispose left / $dispose right
指定した側のキャラを非表示にします。
このとき、メッセージ枠は自動的に中央に戻りますので注意して下さい。

***def : マクロ設定
 $def ナナシコ=[$right_base p_cos_主_ま.png]
マクロ(もどき)のセットをします。ここでセットされたマクロは、次の行以降で$[定義名]と記述されると、実行前にその内容に置き換わります。

***bdef : 共通マクロ設定
 $bdef ナナシコ=[$right_base p_cos_主_ま.png]
Scene_ADVすべて（子インタプリタも含む）で共通するマクロの設定をします。
共通マクロ設定を指定しないと、loadコマンド等で子インタプリタを生成した際に読み込んだシナリオでマクロが利用できなくなります。

***block : 1行に複数コマンドを記述
 $def ツナ=[$block $left_y 150; $left_base B_ツナ_01.png]
複数のコマンドを１行で記述したいときに使用します。
主にマクロへのセットでの利用を想定しています。

***bgm : BGMの変更
 $bgm 019-Field02

***se : 効果音を鳴らす
 $se 092-Attack04
     
***set_transition : トランジションをセット
 $set_transition 005-Stripe01
トランジションに使用するファイルを指定します。
空白ならデフォルトのトランジションになります。
       
***transition : トランジション制御
 $transition run
 $transition freeze
トランジションの制御を行います。
普通に利用することはあまり無いと思います。
runでトランジション実行、freezeでトランジション準備です。

***switch : スイッチの処理
 $switch 3=[on] / $switch 4=[off]
スイッチのオン/オフを切り替えます。

***var : ゲーム変数の処理
 $var 4=[10]
ゲーム変数への代入を行います。
利便性の都合上、数値のみが代入することができますので注意して下さい。

***select : 選択肢の表示
 $select {選択肢1}{選択肢2}...{選択肢n}
選択肢を選ぶウィンドウを表示します。
ここで選択した項目番号(上から0,1,2,...,n)はselect_varコマンドで指定したゲーム変数に保存されます。（デフォルトでは99番）
また、選択肢の文字列（この場合では&quot;選択肢1&quot;など）はScene_ADVクラス内の@selectに配列として記憶されています。
選択した文字列で比較したい場合には利用してください。

***select_var : 選択した選択肢の保存先変数の指定
 $select_var 10
選択肢で選択した結果を保存するゲーム変数を変更します。

***if : 条件分岐
 $if {条件文}{条件が真の時}{条件が偽の時}
条件文を判定し、真の時と偽の時で別の動作をさせます。
このとき、条件文は内部でeval(RGSS)で判定されます。
 $select {ひとつめ}{ふたつめ}
 $if {$V[99] == 1}{2番目の選択肢を選択しました}{２番目以外を選択しました}


***eval : Rubyスクリプトの実行
 $eval p(@command)
Ruby(RGSS)スクリプトを実行します。
デバッグでの変数確認や、特殊な処理を行いたいときに使用することを想定しています。

***wait : ウェイト
 $wait 20
指定されたフレーム分のウェイトを挟みます。

**使用例
 # マクロセット
 $def 部屋=[部屋_カクヤス_昼.jpg]
 $def 通常BGM=[$bgm 019-Field02]
 $def 右=[$active right]
 $def 左=[$active left]
 $def ナナシコ=[$right_base p_cos_主_ま.png]
 $def ナナシコ幸せ=[$right_face p_face_主_2.png]
 $def ツナ=[$left_base B_ツナ_01.png]
 
 # 背景をセット
 $back $[部屋]
 
 # BGM設定(変数使用)
 $[通常BGM]
 
 # ナナシコを右にセット
 $[ナナシコ]
 $[ナナシコ幸せ]
 
 # 話してるのはナナシコ（右）
 $[右]
 Zzz…。
 グ～、スカ～、ピ～～～。
 
 # ツナ師匠をセット
 $[ツナ]
 まったく…。[\n]なんてイビキしてるんだろね。
 ナナシコ、朝だよ。

**バグ報告など
#comment_num2    </description>
    <dc:date>2006-03-12T07:00:56+09:00</dc:date>
    <utime>1142114456</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/6.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/6.html</link>
    <description>
      **コンテンツ
-[[トップページ]]
-[[RGSSメモ]]
--[[Scene_ADVメモ]]
--[[テキストインタプリタ]]
-[[制作中メモ]]
-[[参加中メモ]]
-[[ネタ帳]]

**更新履歴
#recent(10)

**カウンタ
&amp;counter()

[[メニュー]]    </description>
    <dc:date>2006-03-10T15:24:21+09:00</dc:date>
    <utime>1141971861</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/9.html">
    <title>参加中メモ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/9.html</link>
    <description>
      手伝い中のメモについて。

有志で小品を完成までもってくスレ２
(→ http://pc8.2ch.net/test/read.cgi/gamedev/1100360317/ )
のスクリプト(RGSS)を手伝わせてもらう事になりました。
もちろん[[制作中メモ]]のは凍結。

色々メモってあったけど、本家のwikiに大体の情報が載ってるので割愛。
仕様はもっとキチッと決めておかないとメンテナンスがめんどくさいんだけど、この状況じゃ仕方ないかなぁ。
スタッフしかレスないから実装してるのが面白いのかどうかがわからにゃー。

**今後の実装予定
-イベントを挟める様にする（コマンド実行時にセリフいったり）→ 追加済み
-ヘルプテキストを表示する（カードの説明とか）
-ダメージ計算式を考え直す
-カードの組み合わせの技を考える　→　技データは暫定的に実装
-エフェクトなども表示させるようにする
-カードにレベルを追加する(1～3にする？暫定仕様)
-デッキ型にする
-デッキエディタを作る
-敵のAIをちゃんと作る(仕様固まってから)

**イベントを挟める様にする・改
グローバル変数か、publicな変数にファイル名をいれるようにして、その変数がnilじゃなかったら[[テキストインタプリタ]]に投げるように実装予定。
それにともない、戦闘クラスでInterpreterクラスをインスタンス化してやる必要がある。
…うーん、どうだろ、複雑になって自爆しないように気をつけよう。

**コメント(意見はご自由に)
#comment_num    </description>
    <dc:date>2006-03-10T15:02:27+09:00</dc:date>
    <utime>1141970547</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/5.html">
    <title>制作中メモ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/5.html</link>
    <description>
      **ジャンル
箱庭型村防衛キャラクタ育成RPG(小規模)

**システム
一つのマップ(村)を拠点として、フリーシナリオのような感じで進めていくRPG。
主人公キャラのパラメータによってイベントやエンディングが分岐していく。
(分岐マップも一目で分かる様なシステムを作ろう)

主人公がガイノイド(女性アンドロイド)なので、戦闘システムとしてAI設計自動戦闘にする。
(戦闘前にAIを設計し、その通りに行動をする)
RPGでよくある「攻撃力」などのパラメータは一切成長しない。
(基本的には主人公はHP20/攻10/防10で行こうかと)
→VIPのツクールスレでSSを晒したら、AI設定画面がシミュレーションゲームでカルネージハート、格闘ゲームでロボットｘロボットというのがあって、それにそっくりだという。
ジャンルはRPGだから被らないが微妙に凹んだ。

#ref(WS01209.jpg,,width=150,left)　#ref(WS01210.jpg,,width=150,right)


村もストーリーの展開とともに発展させたいけど、実用的案がまだ思い浮かばない。
タイルセットの部分差し替えとかして外観も発展している感じをだせるだろうか。
(→実際問題としてめんどくさくないかあとで調べる)

**ストーリー
若き技術者と逃げる様に移り住んできた田舎町。
そこは技術者の祖母の故郷だという。

**キャラクター概要(決定しているところまで)
主人公(ガイノイド)
明るく元気な性格。
正義感と好奇心が強く、曲がったことが大嫌い。
精神的にはまだ幼いため、技術者には甘えたがる。

技術者(サブ主人公)
穏やかで朗らかな性格。
主人公のソフトウェア面を製作。
主人公を&quot;論理的に人間らしいと証明できる&quot;らしい。
父に物理学者、母に数学者を持つ。

姉
主人公の試作機として作られたガイノイド。
運動能力・感情表現にそれぞれ問題があるとされているが、少々無口な印象を受ける程度にしか影響していない。
主人公の戦う相手に事前に戦いを挑み、情報収集をする。

技術者
冷静で我の強い性格。
主人公のハードウェア面を製作。
サブ主人公を追って押しかけてくる。


**メモ
企画系のスレみてたら「何が面白いかをPRできないとダメ」みたいのがあったので、ちょっと考えてみた。
（参加中の企画に対してアレコレいうのもなんなので、自分発案の奴でとりあえずやってみる。）
途中からシステム改善案になってしまう気もするけどそれでもいいか。

まず、戦闘システムのAI設計は「パズル的要素によって、ものを組み立てる」ということによる自分だけのものになるというおもしろさがあるんじゃないかと思う。
また、設計したAI通りに実際動くというのも達成感を得られると思う。
その反面、戦闘自体は現段階ではフルオートなので、何らかの対策や飽きさせないための工夫が必要となるだろう。
（システムが似ているといわれたカルネージハートは完全にフルオートらしいが、それが受け入れられた要因としては見ててもあきないCGでの演出があったからだと考える。）    </description>
    <dc:date>2006-03-10T14:52:51+09:00</dc:date>
    <utime>1141969971</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/12.html">
    <title>テキストインタプリタ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/12.html</link>
    <description>
      **テキストインタプリタ

インタプリタクラス(class Interpreter)でテキストファイルにかかれたイベントを実行する拡張。
この拡張のコマンドは２つのみとなる。
この関数特有のコマンドの書式については
 command [引数1][引数2]...
という書式で統一されている。

***def
マクロ機能。$[マクロ名]で置換される。

 def [msg][101]
 $[msg] {メッセージを表示}

***read
他のテキストファイルを読み込む。
下記の例は&quot;test.txt&quot;(.txtがなかったら.rxdata)を読み込み実行する。

 read [test]

**その他の命令
その他の命令はインタプリタクラスのイベントコード参照。
また、その他命令のパラメータ指定は
 code {引数1}{引数2}...
101:文章の表示など

ピクチャの表示についてメモ。
-codeは231
-引数は10個 引数1以外は数値
--0=ピクチャ番号
--1=ファイル名
--2=原点
--3=指定方法(0=直接,それ以外=変数)
--4=x(指定方法が変数の場合は$game_variable[引数4]を代入)
--5=y(指定方法が変数の場合は$game_variable[引数5]を代入)
--6=X 方向拡大率
--7=Y 方向拡大率
--8=不透明度
--9=ブレンド方法

原点についてはSprite_Picture参照。(0=(0,0) それ以外はそのbitmapの中心)
    # 転送元原点を設定
    if @picture.origin == 0
      self.ox = 0
      self.oy = 0
    else
      self.ox = self.bitmap.width / 2
      self.oy = self.bitmap.height / 2
    end    </description>
    <dc:date>2006-03-08T03:09:08+09:00</dc:date>
    <utime>1141754948</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/10.html">
    <title>ネタ帳</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/10.html</link>
    <description>
      **マップコピペ案
マップの切り貼りをRGSS上でできないかなーとか考え中。

Game_Mapクラスでは、@mapにデータを読み込んでいる。
読み込んでいるデータはRPG::Mapクラス。
Game_MapクラスにRPG::Mapのデータをコピーするメソッドを作ればできるんじゃなかろうか。
コピーするのは簡単にいうと2つ。

-マップデータ(0～2でレイヤー指定)
-イベントデータ(x,yもコピー先に合わせないとダメ)

メソッドに渡す引数は以下の感じかな

-コピー元マップファイル名
-x座標、y座標

**なんかファンタジーな案

魔法を自分で考えて使うRPGとかどうだろう。
魔法言語(?)を単語ごとに意味をもたせ、その組み合わせで効果が決まる。
基本は4word、拡張語をいれると威力が増えword数も増えるが、詠唱が長くなる。（→詠唱中断がしやすくなる）
下に例を作ってみた。

 其の　　　　　　敵を　　　　 焼き　　　 払え
 (特に意味無し) (ターゲット) (攻撃種類) (グループ指定)

 大いなる　 　精霊　　其の　敵を　焼き　払え
 (2word拡張) (属性UP)


**オートAIについて
よくあるドラクエとかでの仲間の自動行動。
これって全ての行動をシミュレートして結果が一番作戦に沿ったものを選択すればやや賢いAIにならないかな？

 ガンガンいこうぜ→総ダメージが一番大きい物
 いのちだいじに→総HPが一番高い物

こんな感じで。    </description>
    <dc:date>2006-02-18T20:08:09+09:00</dc:date>
    <utime>1140260889</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/rgss2ch/pages/4.html">
    <title>RGSSメモ</title>
    <link>https://w.atwiki.jp/rgss2ch/pages/4.html</link>
    <description>
      ここはほぼ独り言専用。
rubyの標準モジュールはsocket以外はほぼ使える模様。
英語のサイトだとRGSSでsocketを使える様にしているものもあるみたい。元気だなぁ。

あとはつらつらと気をつけないといけないこととか。

**きちんと設計してから組もう(紙に起こすとベスト)
今習作もかねて組んでるスクリプトが内部的にはもうガタガタ。
ゲームプログラミングは遷移とか汎用性とか考えてきちんと管理しておかないとあとからジリ貧になってくるみたい。

**updateメソッドは長くなりすぎないようにしよう
updateメソッドが長くなりすぎると処理の流れが追いにくくなってダルい。
エフェクトの更新→スプライトの処理→その他の処理くらいで分けると良い感じかな？
スパゲティ状態のupdateメソッドはコメント沢山打っててもまさに魔境。

**トランジション
マニュアルなんて読まないで感覚でトランジションとか使ってたけど、気になったので調べてみた。

トランジション準備(Graphics.freeze)：画面を固定化してトランジション(画面切り替え効果)の準備をする
トランジション実行(Graphics.transition)：画面の切り替え効果を使用しながら画面を切り替える

 　↓ここで画面固定化(Graphics.freeze)
 　□→□
 　　　■→■
 　　　↑ここで画面切り替え(Graphics.transition)

自作戦闘とか自作メニューを作ってイベントのスクリプトで呼んでる場合は、終了前にGraphics.freezeしてもトランジションが上手く動かないので、必ずスクリプトの次にトランジション実行を挟むこと。    </description>
    <dc:date>2006-02-09T05:58:15+09:00</dc:date>
    <utime>1139432295</utime>
  </item>
  </rdf:RDF>
