忍者ブログ

RPG製作ソフト「Role Paint」を作っていくぜ!ツクールのようなRPG製作ソフト「Role Paint」を作っていくブログ。 相互リンク募集中

Role Paintのデータ形式はJSON(2月19日~2月23日)

引き続き、アニメーション作成画面を作っている。物凄い作業量で、これと同じアニメーション作成機能を作ったツクールの開発チームに尊敬を抱いているところである。

このままだとつまらないので、Role Paintのデータ形について改めて詳しく書く事にする。

Role Paintのデータ形式はJsonで出来ている。何故かというと、非常に楽だからである。

通常、ファイルを取り扱うとなると

1.ファイルを読む関数
2.読んだファイルのデータから実際のPC上のデータに変換する関数
3.PC上のデータをファイルのデータに変更し、保存する関数

が必要となり、手間がかかるのだがJacksonというApache License(とLGPLのデュアルライセンス)の外部ライブラリを使うとJson形式で2と3の関数を数行で書くことが出来るので非常に楽なのだ。その分データが大きくなるが、この際仕方ないし、圧縮すれば小さくする事が出来る。

なお、プロジェクト上では暗号化及び圧縮はしないが、ゲームの出力の際に暗号化及び圧縮を行う(選択可能)。Role Paint製のゲームを改造したい等と目論んでいる方はあしからず。

それとRole PaintのデータはJson故にテキストエディタで楽に書き換える事が可能だが、Jacksonは融通が効かないため、作成したデータは慎重に取り扱わないと読み込めなくなる。そのため、テキストエディタでの書き換えはお勧めしない。

拍手[2回]

PR
Comment
name
title
color
mail
URL
comment
pass   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
コメントの修正にはpasswordが必要です。任意の英数字を入力して下さい。
コモンイベントでゲームを構成する利点
ウディタでの制作でも、コモンイベントの改造や追加には、実際にはプログラムのセンスが必要だという話がありました。
おっしゃる通り、私はプログラミングの知識(アルゴリズム)を習得しているからこそ、ウディタのコモンイベントの命令セットで、色々と記すことができます。正直な話、javaでも数日勉強すれば、他人のソース(メニューや戦闘イベントなど)を触ることくらいはできると考えています。他の言語を既に習得しているからです。

両方を知っているからこそ、変数名やコンマなど1字違っているだけでコンパイルエラーになる仕組みが許せないのです。

コモンイベントで、メニュー画面や戦闘シーンを改造したりするメリットを、もう1つ追加します。javaでは、あまりに命令が多すぎる上、英語なので全てを覚えることができません。コモンイベントの命令は、充実しつつも限られており、しかも日本語なので、機能があるのか無いのかくらいは、それなりに覚えています。

それから、無限ループでもない限り、ウディタのコモンイベントは、デタラメを記しても、ゲームそのものが強制終了することはありません。ツクールのRubyを障った感じでは、引数をミスったとかエラーが起きると、直ちに強制終了です。ウディタでは、なにがおかしいのが日本語で「数値変数には文字列には入れられません、エラーイベントMM エラー行NN」のように出て来ます。しかも、そのまま次の命令に進みます。画像が表示されないエラーならば、されないながらも、次のメッセージを表示したり、進んでゆくのです。

RolePaintでは、どんなエラー表示になるのでしょうか? エラーが出た後、強制終了では受け入れがたく、javaの部分でのエラーメッセージが英語とかも許せません。ウディタでは日本語でエラーが出るという強みがあるのです。もちろん、つまらない所でエラーが出ようが、次の命令に進むという強みもあります。

JSON型式をテキストエディタで編集することについて、どんなことを変更して、再び取り込みたいかの話は、文章が纏まったら改めて投稿します。
hawksword 2016/02/26(Fri)23:13:15 編集