戻る

JavaでRPGを作ろう!改


初代JavaでRPGを作ろう!から約3年。
プログラミング技術が多少上がった(と思う)自分が、再びRPGを一から作り始めています。

前回とは違う今回の大まかなテーマは、
・Imageクラスを使わずにピクセルデータでマップやキャラを描画
・なるべく浮動小数点は使わずに整数で演算。固定小数点演算。
・固定フレーム(30fps)
・2の累乗である数の演算はシフト演算で
・グレースケール、夜の表現
・半透明、アルファブレンド
・仲間が後ろに付いてくる処理
・縮小処理、空の視点

以上のような感じです。処理速度に気を遣って作っています。
いろんな処理を加えるとすぐ重たくなるので処理速度は大切です。
この記事を書いている現在、空の視点が出来上がったところです。3Dではなく2Dで演算して行っています。

このアプレットは、マップを作れるエディタモードと、キャラを動かせるゲームモードがあります。
マップやキャラの画像はRPGツクール2000のチップセットに対応させています。(全ては使えません)
エディタサンプル ゲームサンプル1 ゲームサンプル2

プログラムはオープンソースにしておきます。
バージョンアップするにつれてソースファイルが増えているので、コンパイルは出来ないと思います。
あくまでプログラムを鑑賞する目的で使って下さい。
クラス関係図
[is-a関係(クラス継承)] 
MapManage    ┬ BasicManage
CharaManage  ┤
PlayerManage ┘
Player ─ Chara

[has-a関係(クラス所有)] 
MapEdit ┬ CharaManage   ─ Chara ┬ CharaImage ┬ ChipImage
        ├ PlayerManage ─ Player ┘            │
        ├ MapManage  ─ MapCell  ───────┘
        ├ Game
        ├ MapCanvas
        ├ SelectChipCanvas
        └ TalkManage
マップデータの保存はCGIを経由して行っています。Javaアプレット単独では出来ません。