クリスマスまであと10日です!
tmlib.js Advent Calendar 2014 と言う事で何かこうかな~?
と、考えていたら「まどマギ」フォントを見つけて、つい書いてしまったのが前の記事で、15日はもともと予約していた枠です。
予定では、現状の tmlib-rpg でデモを作ろうと思ったのですが、思いのほかバグ(気になるところ)が多く… 最初からゲームを作るように RPGComplier とか作ってたら時間なくなってしまった。
なので、本日は、tmlib-rpg の現状とこれからの事とかを書きます。
tmlib-rpg って何?
tmlib-rpg は、tmlib.js で、RPG を作成したい感じのプロジェクトです。まだまだ作成中。
(正確には、RPG を作るためのフレームワーク?)
将来的には、ゲームを作る人は、さまざまな素材(画像とか音)と、json のみを用意することで、JavaScript を触らずに RPG がブラウザで提供できるようになる予定。先は長い…
json で用意するのは、キャラクターやモンスターのデータや、アイテム、スキル、マップ、イベント等。で、これらを共有したり出来る仕組みがあると面白いかな~と。
なんで、tmlib.js で?
もともと RPGツクール系でRGSS(Ruby)を扱って作ってたんですが、Windowsバージョンとか上がるとツール自体のバージョンアップ対応とか、いろいろ問題があって、RPGの作成に時間がかかると、この辺がちょっとネックに…
そんなとき RPG.JS を見てブラウザ(JavaScript)でもここまでできるんだ~って思って、これで行こうと思っているときに、tmlib.js を見つけ、これをベースに自分でも作ってみることにしました。
tmlib.js はこれのみでほとんどそろってるのが、とても良いです。
いろいろそろってる感は、他の記事を見てもらうとして…tmlib-rpgな話
現状~
いまは、どこかで書いた気もしますが、イベントコマンドをコツコツと作りながら、アイテムの実装を見直しつつ、お店の処理をためしに実装しています。
お店の処理は、イベントコマンドの塊で、アイテムを選択/増減、お金の増減とか、選択しなかったときの処理や、買おうとしてやっぱりやめる~とか、ループや分岐もいっぱい使います。
これから~
さすがにモチベーションを保つために、戦闘シーンをそろそろ作ろうかと思っているところです。
そのために、スキルの実装ですね。
アイテムは、だいたい出来てるので…
同じ様にスキルも実装中。
アイテムやスキルの威力や効果は、ゲームを作る人が決めるので、tmlib-rpg では、出来るだけいろんなアイテムやスキルが作れるように設計中…(といっても予想は超えてくるだろうけれど)
戦闘シーンが出来たら、改めてデモゲームを作りたい。
ちょいちょい… HTML5 & JavaScript な RPG も出てきてるので、ゆっくりと^^
サンプル
まだまだゲームにはなってないです。準備が間に合わなかった…
demo
説明
デモが間に合わなかったので、途中だけど今の system.json 説明です。
{
"setting":{ // システムセッティング(ゲームオプション初期値?)
"se":false, // 効果音のON/OFF
"bgm":false, // BGMのON/OFF
"messageSpeed":3 // メッセージの表示スピード
},
"start":{ // 開始時のデータ
"actors":[ // 開始時のアクター(キャラクター)初期パーティ
1
],
"map":{
"id":1, // 開始時のマップ
"x":14, // 開始位置 x
"y":5 // 開始位置 y
}
},
"database":{ // データベース位置等の情報
"path":{
"data":"001/"
}
},
"main":{ // ゲームメイン
"nextScene":"SceneTitle", // 最初のシーンクラス(ここではタイトルシーン)
"param":[ // シーンクラスパラメータ
"scene.title"
],
"assets":{ // 初期アセット情報 (最初のシーンより前にロードされる)
"scene.title":{ // タイトルシーンの初期化データ
"type":"json",
"src":{
"menus":[
{
"name":"NewGame (push enter key!)",
"action":"NewGame"
},
{
"name":"Option"
}
]
}
},
"system.se.menu_decision":"audio/se/fin.mp3",
"system.se.menu_cursor_move":"audio/se/fon.mp3",
"windowskin.image":"img/test_windowskin2.png",
"character.hiyoko":{
"type":"tmss",
"src":"001/spritesheet/hiyoko.json"
},
"character.object001":{
"type":"tmss",
"src":"001/spritesheet/object001.json"
},
"character.object002":{
"type":"tmss",
"src":"001/spritesheet/object002.json"
}
}
}
}
実際には、json は大きくなると手で書くのは大変なので…
CoffeeScript でオブジェクト作って、json にする感じの RPGCompiler をとりあえず作成中
マップデータ等が特に大変で、この辺はツールが必要ですね。
tiled はあるんだけど、イベントとかはさすがに対応できれないので、エディタを作りたい…