ウディタでローグライク製作中・・・
ウディタでローグライクを作っているけど、難しいよぉ・・・
基本システムをそのまんま使えば簡単なんだけど、自分でシステムを作るとなると、途端に難しくなる。
ツールだから簡単に作れると思ってなめていた。
でも、いろいろとコモンイベント集から使えるのでありがたい。
自分では日数経過とメッセージ処理(画面下部)をつくった。
移動しやすいように、このコモンでテンキーを使えるようにしている。
さらに、改変してサブキー+方向キーで方向転換できるようにした。
敵キャラの生成については悩みました。
結果としては、1つのマップ上に敵キャラのマップイベントを10個配置し、必要な数だけ中身を書いています。
ゲーム実行中にマップイベントを生成したりできないし、ピクチャでキャラチップを処理するのも面倒。なのでこうなりました。
現在の戦闘処理は、やっとこさ主人公が一方的に殴れるようになった程度。早く完成させたいな・・・
一応使っているコモンを載せておきます。
- テンキー
http://silsec.sakura.ne.jp/WolfRPGEditor/CommonList/html/tdv237.html?#13466642126701
- ミニマップ
- ランダムダンジョン
http://silsec.sakura.ne.jp/WolfRPGEditor/CommonList/html/tdv272.html?#13143750116001
3DモデルをMinecraftへインポートする方法
全体的な流れは以下
詳しく解説していきます
(1)3Dモデリングソフトで3Dモデルを作成
メタセコイアなどで3Dモデルを作成し、binvoxで読み込めるファイル形式で保存。
読み込めるファイルは公式wikiによると以下の通り。
VRML V2.0: ほとんどすべてをサポートしている
UG, OBJ, OFF, DXF, XGL, POV, BREP, PLY, JOT: ポリゴンのみサポート
(2)binvoxでschematicファイルへ変換
コマンドラインを使い3Dモデルをschematicファイルへ変換する。
まず、3Dモデルファイルをbinvoxのあるディレクトリに置く。
次に、コマンドラインでbinvoxのあるディレクトリまで行き、以下のようにタイプ。
binvox -d 256 -t schematic -c -bi 1 [3Dモデルのファイル名]
すると、schematicファイルが生成される。
薄い部分があるとうまくボクセルへ変換できない時があるので、その時は厚みを持たせるようにするといい。
ここで、軽く引数について説明しておく。
-d:グリッドサイズを指定(デフォルトでは256、最大で1024)
-t:ファイルタイプを指定 (デフォルトではbinvox)
-c:削る方法て作る
-v:同率の投票方法?で作る(デフォルトでは-cと-vの両方)
-bi:ブロックIDを指定する
-rotx:X軸を中心に90度回転させる(重ねて使える)
-rotz:Z軸を中心に90度回転させる(重ねて使える)
(3)MCEditでMinecraftへschematicファイルをインポート
Importボタンでschematicファイルをインポート
JavaアプレットでFileReader
その途中、CSVファイルを読み込もうと思い、
http://www.atmarkit.co.jp/fjava/javatips/063java003.html
このサイトのコードを使用したら、"new FileReader(csv)"でAccessControlExceptionという例外をはいた。
eclipse上で実行したときはうまく動作したのに。なぜだ!
どうやらアクセス拒否されたようだ。
セキュリティポリシーについて調べてみた。
eclipseが自動生成したjava.policy.appletが必要なようだ。
配置してみたが変化なし。以降試行錯誤したが変化なし。
ならばFileReaderを使わなければいいじゃないかというわけで、出来たのが以下のコード
InputStream is = (new URL(getCodeBase(),filename)).openStream();
InputStreamReader in = new InputStreamReader(is, "SJIS");
BufferedReader br = new BufferedReader(in);
これで難なく動きました。
Javaアプレットはウェブブラウザ上で動くから、FileReaderを使わず上のようなコードを使ったほうがいいのかな?
■
暇な時間を見つけて、プログラムの練習としてシューティングゲームを作りました。ある程度出来たので公開します。あとはこれにストーリーをつければ完成です。
ダウンロード