fc2ブログ

JS RPGゲームエンジンingenioJSのソースを読む

ingenioJSは、JavaScriptで記述されたRPGエンジン。
ingenioはスペイン語らしいが、作者はドイツ人のようだ。

ingenioJSはフィールド画面とメッセージの表示機能を提供している。
戦闘画面は提供していないが、フィールドで戦闘するタイプのRPGならエンジンの機能だけでできそうだ。
なお、ajaxを使用しているためサンプルゲームもjsdocもWEBサーバ経由でないと表示できない。
また、getElementsByClassName()などを使っているので、IEでは動かない。

ソースファイルは14ファイルで、非圧縮で計80.6KB。(ただしAudioEngineは含まず)
今のところRPGを作る予定は無いのだが、十分読めるサイズなのでソースコードを読むことにした。

キャラクターデータ、マップデータ、クエストデータをjsonファイルとして作成すると、エンジンが読み込んでゲーム画面を生成する。
マップデータには、プレイヤーから攻撃されたり話しかけられたりした際のアクションも含まれる。
jsonファイルは、ブラウザからajaxで読み込まれる。
マップデータのjsonファイルを作成するエディタも提供されている。
ingenioJSeditor

キャラクターの表示はDOMのCSSで制御している。Canvasは使用していない。
メインループはingenioJS.rendererのコンストラクタでwindow.setInterval()で実装している。
だが、clearIntervalしているところが見当たらない。ループを止めるためのidも取得していない。

メインループをingenioJS.engineで行っていないところは疑問だが、クラスの役割分担が綺麗だと思った。
外部ファイルを読み込んで画面を生成する部分は参考になるかなと思うが、自分にとってはマップ生成エディタのソースが一番参考になりそうな気がする。
スポンサーサイト



コメント

参考にさせていただきます

これ面白そうですね。
非営利ライセンスなところがざんねんですが、
動かしてみるとなんかすごいw

コメントの投稿

非公開コメント

プロフィール

himax64

Author: 南西
30代後半の無職です。
就活もせずダラダラ生きてます。
作ったもの

最新記事
人気記事
検索フォーム
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
RSSリンクの表示
QRコード
QRコード
カウンター