このゲームは、簡単に言うと、普通の(?)シューティングゲームです。普通のシューティングゲームですがレベル機能があったりします。
製作過程
このゲームには色々なシステムがあります。
その一つとして、このゲームには各キーに特殊なスキルが割り当てられています。
このゲームには次のようなスキルがあります
ちなみにaキーとsキーはレベルを上げることで解放されます。
右クリックで通常攻撃、左クリック(長押し)でチャージショットです。
基本マウスカーソルで移動します。上下に動く際には矢印キーを使用します(w、e、s、dキーとかではないです!)
現在16体存在しています 中には属性付与をするキャラ(毒、炎、雷など)もいます。
5体います。うち二体はペアで登場します。
ちなみにですがその二体ボスがいるステージはレベリングしやすいです(ほぼ無意味な豆知識)
実は最近まではこのゲームのコードは殴られてもいいほど本当に汚いコードでした。
概要としては、
分かりやすく言うと、簡単に 後から要素を追加できるよって事です。
ちなみに、リフレクションという手段は動作の安全性を確保するのが難しくなるのであまり好まれていません。
↓リフレクション関係のコード。怒られる自信はある。
ArrayList<Constructor>EnemyClass;//バッファ
for(int i=0;i<enemyname.size();i++){
try{
EnemyClass.add(Class.forName("Simple_shooting$Enemy"+str(i+1))
.getDeclaredConstructor(Simple_shooting.class));
}catch(ReflectiveOperationException e){}
}//バッファへのコンストラクタの追加
(EnemyFrame)EnemyClass.get(spown.spown()-1).newInstance(this)//インスタンス生成。何回も実行されるのはこの部分。
↓敵の処理
for(Enemymanagement enemy: enemies){
enemy.get().display();
}//敵の描画
for(Enemymanagement enemy: enemies){
enemy.get().update();
if(!enemy.get().isDead){
extEnemies.add(enemy);
}
}//敵の更新とバッファへの追加
大体こんな感じです。
これからの方針としては、敵やステージの追加、さらに拡張しやすくするなどのことが挙げられます。
↓開発段階のステージ
まあ、結構時間がかかるのはどうしても避けられないので、来年に乞うご期待!
このシューティングゲームの開発期間は1年に及んだので、僕としては結構思い入れが深い作品になっています。なので、開発が終わるということは多分無いと思います。そんなわけで、この企画も毎年続いていくと思うので、ほどほどに期待しておいて下さい。
とまあざっと説明ははこのくらいです。
見ている側はつまんなさそうだと思いますが、ぜひ一回遊んでください。