タイトルの通りですが、僕が過去に作ったRPGのソースコード(Javaで書いてます)を丸々すべて一切省くことなく、ここに公開します。
この記事の構成は以下の通りです。
- 何故公開することにしたのか
- ゲームの紹介
- ソースコード
何故公開することにしたのか
RPGを作りたいけど、どうやって作っていったらいいか見当がつかない初心者の方も多いかと思います。
そんな初心者さんのために少しでも力になればと思い、公開することにしました。
平成も終わる節目でもありますし!
気を付けてほしいところ
・当時は自分も初心者だったため、非効率、見づらいコードが多いです。
・ゲームを公開したのは10年前となり、iアプリ、いわゆるガラケーアプリとして公開しました。
そのため現在は開発環境を用意する手段がなく、そのままでは動かすことができません。プログラムの組み立て方の参考としてご覧ください。
Unityなんかだと言語云々以前に作りが全然違うので、使おうと思うとそれなりに工夫が必要です。
・ソースファイルのみで画像等のリソースファイルはありません。
スポンサードサーチ
ゲームの紹介
2008年に公開したiアプリ…ガラケー向けのRPGとなります。
当時は携帯で遊べる本格的なRPGが少なく満足できるゲームが見つかりませんでした。
それならば自分で作ってしまえばいい!と考えたのがきっかけで作りました。
ゲームの詳細は以下の動画をご覧ください。
スポンサードサーチ
自作RPGのソースコード
以下がソースコードのすべてとなります。
そのまま利用しようが改変しようがご自由にお使いください。
ただし、そのまま転載するのはご遠慮下さい。
App.java
アプリ起動時に最初に動くコード。
Battle.java
戦闘中の動作や描画関連。
Chara.java
マップ上のキャラクターを構成、描画するクラス。
Cmn.java
ゲーム全体の流れの管理、キー入力処理等、ゲームの中核を担う。
Common.java
定数を宣言しているインターフェイス。
Damage.java
戦闘中に表示するダメージを描画するクラス。
DoorEvent.java
扉イベントのクラス。
Element.java
属性全般を管理。属性ごとの相性もここで。
Enemy.java
戦闘中の敵を管理、描画するクラス。
EnemyList.java
敵のパラメータとかをまとめたもの。コードに直接書いてました…。
Event.java
マップ上のイベントたちの親となるクラス。各イベントがこのクラスを継承して使う。
Item.java
アイテムのパラメータをまとめたもの。これもコードに直接…。
ItemEvent.java
アイテム全般の挙動を管理したもの。
MainCav.java
iアプリのメイン画面。AndroidでいうところのActivityのようなもの。ゲームでは使わない。
Map.java
マップを管理、描画するクラス。
MoveEvent.java
マップから別のマップへ移動するイベントのクラス。
MsgWin.java
会話ウィンドウを管理、描画するクラス。
ObjEvent.java
マップ上の物イベントのクラス。
PtParam.java
味方キャラクターのパラメータを管理するクラス。
Quest.java
クエスト全般を管理するクラス。
Rectangle.java
座標を管理するためのクラス。VB脳だったから構造体の代わりにと思って作った記憶。
Skill.java
スキルの一覧、及び各種計算を行うクラス。これもコードに直に…。
SkillEffect.java
戦闘中、スキルを使用した際のエフェクトを管理、描画するクラス。
Stone.java
精霊石…サカガミでいうソウルを管理するクラス。キャラのカスタマイズシステム関連です。
Title.java
タイトル画面全般を管理。
TreEvent.java
マップ上の宝箱イベントのクラス。
WorldPoint.java
ワールドマップ上の移動ポイント管理用クラス。
WorldPointSet.java
ワールドマップ全体の管理。
ソースファイルをすべてまとめたものを置いておきます。
src.zip
以上です。
かなり昔に書いたコードなので記憶があいまいですが、もしご質問等あればコメントやツイッターまでお願いします。